11.7. Kernel installieren

Nachdem Sie den Kernel übersetzt haben, müssen Sie dafür sorgen, dass dieser neue Kernel installiert wird, um ihn künftig booten zu können.

▪ x86
Wenn Sie LILO verwenden, so muss dies gleichfalls neu installiert werden. Im einfachsten Fall kopieren Sie dazu den neuen Kernel nach /boot/vmlinuz und rufen dann LILO auf; um sich vor unliebsamen Überraschungen zu schützen, empfiehlt es sich jedoch, den alten Kernel zunächst beizubehalten ( als /boot/vmlinuz.old), um ihn notfalls booten zu können, wenn der neue Kernel nicht wie erwartet funktioniert: ▪

  
cp /boot/vmlinuz /boot/vmlinuz.old
cp arch/i386/boot/bzImage /boot/vmlinuz
lilo

▪ x86
Das Makefile-Target make bzlilo erledigt diese drei Schritte übrigens in einem Rutsch. ▪

[Important]Wichtig

Wenn Sie GRUB als Bootloader verwenden, muss dieser nicht neu installiert werden! Führen Sie also bitte nur die ersten beiden Schritte aus, um den Kernel an die richtige Stelle im System zu kopieren.

BootX:

Die bereits genannte Datei vmlinux ist nach Linux Kernels in den Systemordner zu kopieren. Beim nächsten Start von BootX ist der neue Kernel auszuwählen und auf Save to prefs zu klicken.

RS/6000 (quik):

vmlinux ist nach /boot zu kopieren und /etc/quik.conf ist anzupassen.

RS/6000 (Diskette):

Das zImage ist aus dem Verzeichnis /usr/src/linux/arch/<arch>/chrpboot auf auf eine DOS-Diskette zu kopieren.

Die übersetzten Module müssen nun noch installiert werden; durch Eingabe von make modules_install können Sie diese in die korrekten Zielverzeichnisse unter /lib/modules/<Version> kopieren lassen. Dabei werden die alten Module bei gleicher Kernelversion überschrieben; Sie können jedoch die ursprünglichen Module zusammen mit dem Kernel von den CDs wieder installieren.

[Tip]Tipp

Es ist darauf zu achten, dass Module, deren Funktionalität man jetzt eventuell direkt in den Kernel einkompiliert hat, unter /lib/modules/<Version> entfernt werden. Sonst kann es zu unvorhersehbaren Effekten kommen! Dies ist ein Grund, weshalb dem Ungeübten vom Selbstkompilieren des Kernels dringend abgeraten wird.

▪ x86
Damit der alte Kernel (jetzt /boot/vmlinuz.old) von GRUB oder LILO gebootet werden kann, tragen Sie in der Datei /boot/grub/menu.lst bzw. in /etc/lilo.conf zusätzlich ein Label Linux.old als Boot-Image ein. Dieses Vorgehen wird ausführlich im Kapitel 7. Booten und Bootmanager beschrieben. Falls Sie LILO als Bootloader verwenden, müssen Sie nach den Anpassungen in /etc/lilo.conf erneut lilo aufrufen. Bei GRUB ist keine Neuinstallation notwendig. ▪

▪ x86
Weiterhin ist Folgendes zu beachten: Die Datei /boot/System.map enthält die Kernelsymbole, die die Kernelmodule benötigen, um Kernelfunktionen korrekt aufrufen zu können. Diese Datei ist abhängig vom aktuellen Kernel. Daher sollten Sie nach der Übersetzung und Installation des Kernels die aktuelle Datei /usr/src/linux/System.map in das Verzeichnis /boot kopieren. Bei jeder Kernelübersetzung wird diese Datei neu erzeugt. Falls Sie Ihren Kernel mittels make bzlilo bzw. make zlilo erstellen, wird diese Aufgabe automatisch für Sie erledigt. ▪

▪ x86
Sollten Sie beim Booten eine Fehlermeldung wie System.map does not match actual kernel erhalten, dann wurde wahrscheinlich nach der Kernelübersetzung die Datei System.map nicht nach /boot kopiert. ▪