Home / LinuxUser / 2006 / 06 / Kernel-Neubau ohne Expertenwissen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(179 Punkte bei 5 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)
Mageia 2 ist fertig
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Kerngeschäft

Kernel-Neubau ohne Expertenwissen

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.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 92 Punkte (3 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...