Zielgerade

Nun trennt Sie, wenn alles glatt geht, nur noch ein make (und eine Wartezeit von etwa 5-30 Minuten) von einem fertigen Kernel. Beim Kompilieren erscheinen viele Meldungen auf der Konsole; Warnungen (Abbildung 4) sind dabei kein Grund zur Besorgnis. Für Debian- und Ubuntu-User ergeben sich einige Abweichungen (siehe Kasten).

Läuft die Kompilation durch, ohne dass Sie das Wort error zu sehen bekommen, finden Sie den neuen Kernel innerhalb des Kernel-Quellbaumes im Verzeichnis /arch/Prozessor-Architektur/boot als Datei bzImage. Bei einem PC ist das /arch/i386/boot, was auch für amd_64-Kernel gilt. Kopieren Sie das bzImage in das Verzeichnis /boot. Benennen Sie die Datei dort in vmlinuz-Kernelversion um. Kopieren Sie außerdem die Datei system.map nach /boot/system.map-Kernelversion. make modules_install installiert schließlich die als Modul konfigurierten Teile des Kernels.

Kernel-Kompilieren unter Debian und Ubuntu

Debian- und Ubuntu-Anwender sollten zum Kompilieren des Kernels nicht den Befehl make verwenden, sondern make-kpkg. Voraussetzung hierfür ist das Paket kernel-package. Wenn Sie eine Initial Ramdisk benötigen, fügen Sie dem Aufruf den Parameter --initrd hinzu.

Abbildung 4: Warnungen beim Kompilieren sind, je nach Einstellung des Kompilers, normal. Das Wort "error" weist hingegen darauf hin, das Übersetzen des Kernels fehlgeschlagen ist.

Nun müssen Sie den neuen Kernel noch in das Startmenü des Bootloaders eintragen. Beim Bootloader Grub, den inzwischen fast alle Distributionen nutzen, editieren Sie dazu die Datei /boot/grub/menu.lst. Für Lilo stehen die entsprechenden Einstellungen in /etc/lilo.conf.

In die Gänge kommen

Beim Booten stellt sich leider ein klassisches Henne-Ei-Problem ein: Um Dateisysteme lesen zu können, benötigt der Kernel Module, die in einem Dateisystem auf der Festplatte liegen. Als Lösung setzen die meisten Distributionen eine sogennanten Initial Ramdisk ein. Der Kernel mountet die Initial Ramdisk, deren Inhalt der Bootloader dem Kernel zur Verfügung stellt, vorübergehend als Root-Dateisystem. Der Kernel findet darin die benötigten Module. Alternativ lassen sich die Dateisystem- und Festplattentreiber auch fest in den Kernel einkompilieren.

Normalerweise reicht mkinitrd ohne Parameter als Root aus, um für alle Kernel-Images in /boot neue Initial-Ramdisk-Images zu generieren. Im Details unterscheidet sich mkinitrd von Distribution zu Distribution, so dass ein Blick in die Manpage nicht schaden kann. Wenn alles glatt geht, liegt danach ein neues Initrd-Image initrd-[Kernelversion] im Verzeichnis /boot.

Listing 1 zeigt eine menu.lst, die Einträge für ein Ubuntu- und ein Suse-System enthält. Die root-Zeile legt die Partion fest, in der das Kernel-Image liegt. Die Sytax hd(0,0) steht für: 1. Festplatte, erste Partion, also hda. Die nächsten zwei Zeilen bezeichnen das Kernel-Image und das Initial-Ramdisk-Image. Beim Kernel-Image folgen hinter dem Dateinamen noch die Parameter, die dem Kernel beim Start übergeben werden sollen.

Auch wenn die menu.lst recht kompliziert aussieht, ist es in der Praxis einfach, einen Grub-Menüeintrag für Ihren neuen Kernel zu erstellen: Dupizieren Sie den Standard-Eintrag für Ihre Distribution und passen Sie dann die Dateinamen für Kernel und Initial Ramdisk sowie den title an. Entfernen Sie in dieser Phase keine bestehenden Einträge.

Listing 1

title Ubuntu, kernel 2.6.12-9-386
root       (hd0,0)
kernel    /boot/vmlinuz-2.6.12-9-386 root=/dev/hdc1 ro quiet splash
initrd     /boot/initrd.img-2.6.12-9-386
title SUSE LINUX 10.0
root    (hd0,8)
kernel /boot/vmlinuz root=/dev/hdc9 vga=0x31a selinux=0 resume=/dev/hdc3  splash=silent showopts
          initrd /boot/initrd

Booten Sie nun Ihr System neu, wählen Sie im Bootprompt den neuen Kernel und achten Sie auf Fehlermeldungen. Auf gewohnte grafische Bootscreens müssen Sie mit dem Plain-Vanilla-Kernel verzichten, diese Funktion fügt erst der Bootsplash-Patch [4] hinzu.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...