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 SATA-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.
Die meisten der Aufgaben werden an "hook scripts" in den /etc/kernel/*.d/
-Verzeichnissen übergeben. Zum Beispiel fußt die Einbindung von grub
darauf, dass /etc/kernel/postinst.d/zz-update-grub
und /etc/kernel/postrm.d/zz-update-grub
update-grub
aufrufen, wenn ein Kernel installiert oder deinstalliert wird.
8.11.2. Mit dpkg
installieren
Using apt
is so convenient that it makes it easy to forget about the lower-level tools, but the easiest way of installing a compiled kernel is to use a command such as dpkg -i package.deb
, where package.deb
is the name of a linux-image package such as linux-image-4.9.30-ckt4-falcot_1_amd64.deb
.
Die in diesem Kapitel beschriebenen Konfigurierungsschritte sind grundlegend und können sowohl zu einem Server als auch zu einem Arbeitsplatzrechner führen, und sie können in weitem Umfang auf halbautomatisierte Weise dupliziert werden. Dennoch reichen sie nicht aus, um ein vollständig konfiguriertes System bereitzustellen. Einiges bedarf einer weiteren Konfigurierung, beginnend mit den Programmen auf unterer Ebene, die als „Unix-Dienste“ bezeichnet werden.