next up previous contents
Next: Remaster-Anleitung Up: Remastering KNOPPIX Previous: knoppix.sh   Contents


Der Bootvorgang

Knoppix ist eine bootbare CDROM nach dem El-Torito Standard [7]. Als bootloader wird standardmäßig Syslinux verwendet. Die Aufgabe des Bootloaders ist es, den Kernel und die Initial Ramdisk zu laden. Syslinux benötigt jedoch Bootimages von genau 960KB, 1.44MB oder 2.88MB Grösse. Die meisten BIOS-Versionen behandeln nur 1.44MB-Images korrekt. Für die modifizierte Knoppix-CD reichen diese 1.44MB leider nicht aus, weshalb auf den Bootloader Isolinux gewechselt wird, bei dem die Images keine vorgegebene Grösse haben müssen. Die zugehörige Konfigurationsdatei heisst isolinux.cfg.

Die Initial Ramdisk erkennt durch einen Testmount das Bootmedium und lädt anschliessend das cloop-Modul, mit dessen Hilfe das cloop-Dateisystem, ein komprimiertes Loop-Dateisystem, gemountet wird. Das System wird nun durch ein Shellscript namens knoppix-autoconfig initialisiert:

Während dem Bootvorgang soll der User gefragt werden, welche IP-Adresse und Subnetzmaske der Rechner hat, in dem sich die CD befindet. Danach wird er nach den Diensten gefragt, die gestartet werden sollen. Realisiert wird dies wie folgt:
Der standardmäßig gestartete DHCP-Client wird mit der Bootoption nodhcp ausgeschaltet. Dies erfolgt durch Anpassung der isolinux.cfg.

Knoppix ruft gegen Ende des Bootvorgangs das Script knoppix.sh auf. Dieses wird um den Aufruf von eigenen Skripten ergänzt, die den User die benötigten Eingaben machen lassen. Mittels dem Tool dialog, das eine rudimentäre graphische Oberfläche auf der Konsole darstellen kann, werden die Usereingaben erfragt und in Variablen gespeichert, die wiederum in Textdateien abgelegt werden.

Nachdem die Benutzerinteraktion abgeschlossen ist, werden durch das soeben durchlaufene Skript andere, durch die Usereingaben abhängige, Skripten ausgeführt. Zuerst wird das gesamte Netzwerk inkl. Routing aktiviert. Den Netzwerkinterfaces werden also IP-Adresse und Subnetzmaske zugeordnet. Ausserdem wird das Routing für den Rechner eingerichtet.

Für jeden zur Auswahl stehenden Dienst gibt es ein passendes Skript, das diesen Service bei Bedarf startet. Soll beispielsweise die Firewall gestartet werden, so wird ein Skript angestoßen, das die aktuellen IP-Adressen und Subnetzmasken ausliest, dadurch die IP und Subnetzmaske des Partnerrechners bestimmen kann und letztendlich die Firewallkonfiguration passend zur aktuellen Konfiguration durchführt.


next up previous contents
Next: Remaster-Anleitung Up: Remastering KNOPPIX Previous: knoppix.sh   Contents
clumsy 2005-07-21