Nachdem die Firmware (BIOS/UEFI) den Bootloader geladen hat, übernimmt der Kernel die Kontrolle. Doch um Geräte anzusprechen und das Root-Dateisystem einzubinden, braucht der Kernel Unterstützung: das initramfs. Wer diese beiden Komponenten versteht, kann Bootprobleme gezielt eingrenzen und lösen.
Kernel beim Start
- Initialisiert CPU, Speicher, I/O-Geräte
- Lädt Treiber für grundlegende Hardware
- Wechselt vom Real Mode (Firmware) in den Protected Mode (vollständiger Kernelbetrieb)
- Bereitet die Übergabe an das Init-System vor
initrd vs. initramfs
Beide stellen ein temporäres Root-Dateisystem bereit, um Treiber und Tools vor dem eigentlichen Root-FS verfügbar zu machen.
- initrd (Initial RAM Disk): Älteres Konzept, Disk-Image im Blockformat
- initramfs (Initial RAM Filesystem): Moderner Standard, basiert auf cpio-Archiv im Speicher, flexibler und schneller
Ohne initramfs könnte ein Kernel z. B. keine verschlüsselten Partitionen, LVM oder RAID-Systeme einbinden, bevor das Root-Dateisystem verfügbar ist.
Praktische Befehle
dmesg | less # Kernelmeldungen durchsuchen
dmesg | grep -i initramfs # zeigt Einträge zur Initial RAM Filesystem
journalctl -b # Logs des aktuellen Boots
journalctl -b -1 # Logs des vorherigen Boots
lsinitramfs /boot/initrd.img-$(uname -r) # Inhalt des initramfs ansehen (Debian/Ubuntu)
lsinitrd /boot/initramfs-$(uname -r).img # Inhalt ansehen (RHEL/Fedora/SUSE)
Lerneinheit – Übungsfragen im LPIC-Stil
Frage 1 (Einzelauswahl)
Welche Aufgabe hat das initramfs?
A) Bootloader ersetzen
B) Temporäres Root-Dateisystem bereitstellen, um das eigentliche Root-FS einzubinden
C) Dienste wie SSH starten
D) Kernel kompilieren
Frage 2 (Mehrfachauswahl)
Welche Befehle helfen beim Analysieren des Kernel-Starts?
A) dmesg
B) journalctl -b
C) lsinitramfs
D) ps aux
Frage 3 (Befehlseingabe)
Zeige den Inhalt des initramfs für den aktuell laufenden Kernel auf einem Debian/Ubuntu-System.
Frage 4 (Einzelauswahl)
Was unterscheidet initrd von initramfs?
A) initrd basiert auf Block-Device-Image, initramfs auf cpio-Archiv im Speicher
B) initramfs ist älter und langsamer
C) initrd kann verschlüsselte Partitionen laden, initramfs nicht
D) initramfs ersetzt den Kernel
Frage 5 (Mehrfachauswahl)
Welche Probleme könnten auftreten, wenn das initramfs beschädigt ist?
A) Das Root-Dateisystem kann nicht eingebunden werden
B) Das System bleibt im Kernel-Panic stehen
C) Dienste starten langsamer
D) Netzwerkgeräte verlieren ihre MAC-Adresse
Lösungen & Begründungen
Frage 1: B) initramfs stellt ein temporäres Root-Dateisystem bereit, um Treiber/Module für das echte Root-FS zu laden.
Frage 2: A), B), C). ps aux listet Prozesse, ist aber nicht spezifisch für den Bootvorgang.
Frage 3 (Musterlösung):
lsinitramfs /boot/initrd.img-$(uname -r)
Damit wird das initramfs des aktuell laufenden Kernels angezeigt.
Frage 4: A) initrd = Block-Device-Image, initramfs = cpio-Archiv. Initramfs ist der moderne Standard.
Frage 5: A) und B). Ohne initramfs kann das Root-FS nicht eingebunden werden → Kernel Panic. C) und D) sind nicht direkt betroffen.
Mini-Lernkarte
- Kernel: Initialisiert Hardware, lädt Grundtreiber
- initramfs: temporäres Root-FS (cpio-Archiv)
- Befehle: dmesg, journalctl -b, lsinitramfs/lsinitrd
- Wichtig: notwendig bei verschlüsselten Partitionen, LVM, RAID
Fazit
Kernel und initramfs sind das Herz des Linux-Bootprozesses. Der Kernel bringt die Basis zum Laufen, initramfs sorgt dafür, dass komplexe Setups wie LVM, RAID oder verschlüsselte Systeme überhaupt starten können. Für LPIC-1 ist das Verständnis dieser beiden Bausteine unverzichtbar – und in der Praxis hilft es, Kernel-Panics und Bootfehler gezielt zu beheben.
