Product SiteDocumentation Site

8.11. Einen Kernel installieren

8.11.1. Merkmale eines Debian-Kernelpakets

Ein Debian-Kernelpaket installiert das Kernelabbild (vmlinuz-version), seine Konfiguration (config-version) und seine Symboltabelle (System.map-version) in das Verzeichnis /boot/. Die Symboltabelle erleichtert es Entwicklern, die Bedeutung einer Fehlermeldung des Kernels zu verstehen; ohne sie besteht ein Kernel-Oops (ein „Oops“ bei einem Kernel entspricht einer Schutzverletzung bei einem Programm auf der Anwenderebene; anders gesagt, sind dies Meldungen, die nach einer ungültigen Dereferenzierung eines Zeigers ausgegeben werden) lediglich aus numerischen Speicheradressen, die als Information nutzlos sind ohne eine Tabelle, die diese Adressen Symbolen und Funktionsnamen zuordnet. Die Module werden in das Verzeichnis /lib/modules/version/ installiert.
Die Konfigurierungsskripten des Pakets erstellen selbsttätig ein initrd-Abbild, ein Minisystem, das vom Boot-Loader in den Speicher geladen wird (daher sein Name, der „init ramdisk“ bedeutet) und vom Linux-Kernel ausschließlich dazu benutzt wird, die Module zu laden, die erforderlich sind, um auf die Geräte, die das vollständige Debian-System enthalten, zuzugreifen (zum Beispiel den Treiber für die IDE-Platten). Außerdem aktualisieren die Nachinstallationsskripten die symbolischen Verknüpfungen /vmlinuz, /vmlinuz.old, /initrd.img und /initrd.img.old, so dass sie auf die letzten beiden installierten Kernel und die entsprechenden initrd-Abbilder verweisen.
lilo kann mit diesen symbolischen Verknüpfungen umgehen, wobei es automatisch den zuletzt installierten Kernel verwendet, es aber gleichzeitig ermöglicht, den Rechner mit dem vorhergehenden Kernel hochzufahren, falls der zuletzt installierte nicht funktioniert. Hierzu ist es jedoch erforderlich, lilo nach jeder Kernel-Installierung auszuführen. Dies kann automatisiert werden, indem man do_bootloader = yes in der Datei /etc/kernel-img.conf einstellt.
In den meisten Fällen wird grub Ihr Boot-Loader sein, und die voreingestellte Konfiguration wird nach jeder Installierung oder Entfernung eines Kernels update-grub ausführen, um die Datei /boot/grub/grub.cfg (oder /boot/grub/menu.lst bei GRUB Legacy) zu aktualisieren. So können während des Starts alle installierten (und verfügbaren) Kernel im GRUB-Menü angezeigt werden.
Beispiel 8.7. Konfigurationsdatei eines Kernelpakets
do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
postinst_hook = update-grub
postrm_hook = update-grub