# Das Bootkonzept

Die nachfolgenden Aussagen differieren bei den verschiedenen Distributionen. Zwar sind die Abläufe beim Systemstart (meist) identisch, nicht jedoch die Einordnung der relevanten Dateien in die Verzeichnisstruktur. Wir gehen hier detailliert auf RedHat und SuSE ein.

Unabhängig vom Betriebssystem kontrolliert nach dem Einschalten des Rechners zunächst das BIOS (Basic Input Output System) die Hardware und erledigt elementare Initialisierungen (Bildschirm, Tastatur). Je nach Version des BIOS werden aus dem CMOS Informationen über Peripherie (SCSI, Floppy, Harddisks), Systemzeit... entnommen. Oft ist nun die Geometrie der ersten Festplatte bekannt, so dass die ersten 512 Bytes von dieser geladen werden (der so genannte Master Boot Record MBR).

Der Aufbau des MBR ist standardisiert und besteht aus einem Speicherbereich zur Aufnahme eines Bootloaders (gewöhnlich reichen die vorgesehenen 446 Bytes nicht für den gesamten Code des Bootloaders aus, so dass nur ein Intialisierungsteil desselben im MBR zu finden ist) und der Partitionstabelle. Diese 64 Bytes sind der Grund für die Beschränkung auf maximal 4 primäre Partitionen. Die beiden übrigen Bytes enthalten die Zahl `AA55`, die den MBR für das BIOS als gültig deklariert.

In dieser Stelle wollen wir nicht weiter auf den Bootloader eingehen. Wir nehmen an, der Linux Loader LILO befindet sich im MBR und bestimmt das weitere Vorgehen. Er kennt den Linux-Kernel und lädt diesen in den Hauptspeicher.

Mit der Meldung `Uncompressing Linux...` übernimmt der Kernel die Kontrolle über die Hardware des Systems. Er liest Einstellungen aus dem BIOS und initialisiert die Schnittstellen. Anschließend testen und konfigurieren die im Kernel eingebundenen Treiber die vorgegebene Hardware.

Jetzt wird das Root-Filesystem einer Prüfung unterzogen und gemountet. Hat bisher alles funktioniert, wird der Vater aller Prozesse /sbin/init gestartet (Abbildung).

Abbildung: Ablauf des Boot-Vorganges

- init
- Runlevel
- Skripte in /sbin/init.d
- /etc/rc.config