|
Um einen eigenen Kernel zu übersetzen, brauchen
Sie einen C-Compiler, der die Quelltexte ins Binärformat übersetzt.
Ob der C-Compiler installiert ist, erfahren Sie mit dem folgenden
Befehl:
root@linux / #
gcc --version
|
oder
root@linux / #
cc --version
|
Nach Eingabe dieses Befehls sollte die Versionsnummer auf dem Schirm
erscheinen.
|
Nun brauchen Sie noch die aktuellen Kernel-Quellen. Die Quellen des
unveränderten Original-Kernels finden Sie auf
http://www.kernel.org
Schauen Sie auch auf der Downloadseite ihres Distributors, der oft
eigene (angepaßte) Versionen des Kernels im RPM- oder DEB-Format
bereitstellt.
Die Quelltexte des Kernels sollten Sie nach /usr/src/linux entpacken
(bei der Installation eines Paketes wird das oft bereits erledigt).
Wechseln Sie in das /usr/src Verzeichnis mit cd /usr/src, um zu schauen,
ob dieses Verzeichnis existiert. Wenn ja, kann es auch schon losgehen.
Wenn Sie die aktuelle Version des Originalkernels von
http://www.kernel.org
heruntergeladen haben, kopieren Sie die Datei
linux-2.x.xx.tar.bz2 in das Verzeichnis
/usr/src und entpacken Sie das Archiv mit dem
folgenden Befehl:
root@linux /usr/src/ #
tar xvfj linux-2.x.xx.tar.bz2
|
Nach dem Entpacken ist das Verzeichnis /usr/src/linux
entstanden.
|
Es werden im Grunde zwei Arten von Kernels unterschieden. Das sind
zum einen die stabilen Kernel, zum anderen die Entwickler-Kernel, an
denen aktuell gearbeitet wird und die nicht stabil genug für die
Benutzung sind. Diese unterscheiden sich anhand der Versionsnummer. Eine
gerade Zahl an der zweiten Stelle der Versionsnummer kennzeichnet den
stabilen Kernel-Zweig, eine ungerade den aktuellen Entwickler-Kernel. Also
sind etwa 2.0, 2.2 und 2.4 stabile Kernel. Die Versionen 2.1, 2.3 und 2.5
dagegen sind Entwickler-Kernel.
Version 2.5 wird irgendwann mit den Änderungen und Erweiterung eingefroren,
das heißt, es werden keine neuen Features hinzugefügt und getestet. Wenn
die Testphase abgeschlossen ist, wird der Kernel als stabil gekennzeichnet
und erhält die Versionsnummer 2.6 (oder möglicherweise auch 3.0).
Die Zahl, die darauf folgt, ist der Patchlevel des Kernels. Mit jedem
Patchlevel sind Korrekturen in den stabilen Kernel eingeflossen und geben
somit Auskunft über die Aktualität des Kernels.
|
Sie haben im wesentlichen drei Möglichkeiten, einen neuen Kernel zu
konfigurieren.
-
make config ist die spartanischste von allen: innerhalb des
Konsolenfensters werden dem Benutzer Fragen gestellt, die er einzeln
beantworten muss. Da dies mit der Zeit sehr umfangreich und unübersichtlich
geworden ist, ist diese Methode nicht zu empfehlen.
-
make menuconfig stellt ein grafisches Menü in einer
Konsole bereit. In diesem Menü kann man Konfigurationsoptionen auswählen.
Meistens werden die Möglichkeiten [X] [ ] [M] (aktiviert, deaktiviert und
als Kernelmodul kompiliert) angeboten. Um diesen Weg zu nutzen, benötigt
Ihr System die ncurses-Bibliothek, die jedoch von den meisten Distributionen
von ganz allein installiert wird.
-
make xconfig bietet ebenfalls ein Auswahlmenü an, aber unter
der XWindow-Oberfläche. Hierzu müssen Sie Tcl/Tk installiert haben.

make menuconfig in Aktion
Schauen Sie sich zunächst genau die Auswahloptionen an und
vergleichen Sie, welche Hardware Sie in ihrem Computer haben
(eventuell schauen Sie auch einmal in die Ausgaben von lspci
und dmesg). Schauen Sie ggf. auf der Homepage des Herstellers
nach, ob Sie eine Dokumentation zu Ihrer Hardware finden.
Nachdem Sie die Auswahlentscheidungen getroffen haben, können Sie
Ihre Konfiguration speichern. Die Konfiguration wird dann in die
Datei
/usr/src/linux/.config
geschrieben.
|
Nach der Konfiguration erfolgt die Übersetzung mit den Befehlen:
root@linux / #
make dep
root@linux / #
make clean
root@linux / #
make bzImage
root@linux / #
make modules
root@linux / #
make modules_install
|
|
Nach dem Kompilieren (die Kompilierungszeit ist abhängig von der
Rechnenleistung Ihres Computers und kann mehrere Stunden oder auch nur einige
Minuten dauern) kopieren Sie den Kernel in Ihre Boot-Partition bzw. Ihr
/boot-Verzeichnis. Sichern Sie bitte vorher den
funktionierenden Kernel!
Eine Befehlsfolge könnte etwa wie folgt aussehen:
root@linux / #
cd /usr/src/linux
root@linux / #
cp /boot/vmlinuz /boot/vmlinuz.old
root@linux / #
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz
root@linux / #
cp /boot/System.map /boot/System.map.old
root@linux / #
cp System.map /boot
|
Um den neuen Kernel booten zu können, müssen Sie dem Bootloader noch
mitteilen, wo er den neuen Kernel findet.
Öffnen Sie bei Verwendung von LILO die Datei /etc/lilo.conf mit einem Texteditor
und fügen Sie Einträge der Form
/etc/lilo.conf
|
...
# Neuer Kernel:
image = /boot/vmlinuz
label = kernel_new
# Backup-Kernel:
image = /boot/vmlinuz.old
label = kernel_old
...
|
hinzu.
Nun führen Sie noch als root /sbin/lilo aus.
|
Nun können Sie ihren neuen Kernel booten. Geben Sie dazu als root
oder
root@linux / #
shutdown -r now
|
ein.
Beim Erscheinen des Bootmenüs wählen Sie den Eintrag mit dem neuen
Kernel aus. Damit bootet der Computer mit Ihrem neuen Kernel.
Sollte der Computer aus irgendwelchen Gründen nicht booten, so
schauen Sie sich die Fehlermeldungen genau an, sie geben Aufschluß
über die Ursachen. Resetten Sie in diesem Fall Ihren Computer und booten
Sie ihn erneut mit dem alten Kernel. Sie finden die Fehlermeldungen, falls
sie nicht ohnehin auf der Konsole ausgegeben wurden, in der Datei
/var/log/messages.
Weitere Infos zum Erstellen eines eigenen Kernels (in englischer Sprache)
finden Sie auch hier:
http://www.tldp.org/HOWTO/Kernel-HOWTO.html
|
|
|