Wo liegt der Kernel?
Lage des Kernels
/boot
Alle Bestandteile des Kernels liegen in /boot. Zu jeder installierten Kernel-Version gehört dort ein kompletter Satz aus vier Dateien, die sich nur in der Versionsnummer unterscheiden.
- Inhalt von /boot anzeigen
- ls -l /boot
- Laufende Kernel-Version
- uname -r
Das Namensschema
vmlinuz-5.10.0-20-amd64
| | |
| | +-- Architektur
| +----- Debian-ABI-Revision
+------------ Upstream-Version
Der Kernel
vmlinuz-5.10.0-20-amd64
Das eigentliche Kernel-Image in komprimierter Form – daher das z am Ende. Der unkomprimierte Kernel heißt vmlinux und wird nicht mitgeliefert. GRUB lädt diese Datei in den Speicher, sie entpackt sich selbst.
- Dateityp und Version prüfen
- file /boot/vmlinuz-5.10.0-20-amd64
Die Ramdisk
initrd.img-5.10.0-20-amd64
Ein provisorisches Wurzeldateisystem (initramfs), das der Bootloader zusammen mit dem Kernel lädt. Es enthält genau die Module und Werkzeuge, die nötig sind, um an die echte Wurzelpartition heranzukommen – etwa Treiber für den Plattencontroller, RAID, LVM oder LUKS. Diese Datei stammt nicht aus dem Paket, sie wird lokal auf dem System erzeugt.
- Inhalt anschauen
- lsinitramfs /boot/initrd.img-5.10.0-20-amd64 | less
- Neu erzeugen
- update-initramfs -u -k 5.10.0-20-amd64
Die Konfiguration
config-5.10.0-20-amd64
Die Konfiguration, mit der genau dieser Kernel übersetzt wurde. Damit lässt sich nachschlagen, ob eine Funktion fest eingebaut (y), als Modul (m) oder gar nicht vorhanden ist. Für den eigenen Kernelbau ist sie die übliche Ausgangsvorlage.
- Nachschlagen, wie btrfs eingebaut ist
- grep -i btrfs /boot/config-$(uname -r)
- Als Vorlage für den Selbstbau übernehmen
- cp /boot/config-$(uname -r) .config
Die Symboltabelle
System.map-5.10.0-20-amd64
Eine Liste aller Kernel-Symbole (Funktionen und Variablen) mit ihren Speicheradressen. Sie wird gebraucht, um bei einem Oops oder einer Panic aus einer nackten Adresse wieder einen Funktionsnamen zu machen. Im laufenden System stehen dieselben Informationen in /proc/kallsyms.
- Oops
Ein Fehler im Kernel, den er abfangen kann. Der betroffene Vorgang wird abgebrochen, das System läuft weiter.
- Panic
Ein Fehler, nach dem der Kernel nicht weiterarbeiten kann. Das System bleibt stehen.
Weiteres in /boot
- Bootloader-Konfiguration
- /boot/grub/grub.cfg
- EFI-Partition bei UEFI-Installation
- /boot/efi
- Symlinks im Wurzelverzeichnis, die auf den aktuellen Kernel zeigen
- ls -l /vmlinuz /initrd.img
Paketzugehörigkeit
Kernel, Konfiguration und Symboltabelle kommen aus dem Paket linux-image-5.10.0-20-amd64, die Ramdisk wird beim Installieren lokal gebaut.
- Zu welchem Paket gehört die Datei?
- dpkg -S /boot/vmlinuz-5.10.0-20-amd64
- Welche Kernel sind installiert?
- dpkg -l 'linux-image-*'
- Alte Kernel entfernen, wenn /boot voll läuft
- apt autoremove --purge