MLD - Aufbau
Inhaltsverzeichnis |
System
Die MLD basiert auf SuSE 9.2 und der BusyBox 1.0
Die MLD läuft ausschließlich in einer Ramdisk. Alle Änderungen am Filesystem gehen nach dem Abschalten des PCs verloren. Lediglich Änderungen an Konfigurations Datein, die links auf Datein auf der Festplatte sind, bleiben erhalten.
Die Meisten benötigten Funktionen werden von der BusyBox bereitgestellt. Es sind lediglich einige wenige funktionen welche die BusyBox nicht bereitstellt enthalten. Die BusyBox enthält einige Patches, wie eine Korektur der modprob Funktion und einer anpassung die es dem init-Script erlaubt nicht nur mit der PID 1 zu laufen.
Der Kernel (2.6.8), die Kernelmudule und die Librarys (für 586er) stammen aus der SuSE 9.2, welche keinerlei Updates erfahren haben.
Die Bootfunktion der CD wird von Isolinux erledigt, und das Booten der Installierten Version übernimmt Lilo. Das folgende sysinit-Script stammt teilweise aus der MLD-0.2.0 welche überwiegend von Big Egor ertworfen wurde.
MLD-0.4.x
Die MLD-0.4.x basiert auf SuSE 10.0 bei der sämptliche verfügbaren Updates eingespielt wurden. Der Kernel wurde leicht modifiziert. Es wurden die ide-Treiber (genau wie bei SuSE 9.2) fest in den Kernel aufgenommen und nicht als Module nachgeladen. Ausserdem wird der aktuellste DVB-Treiber verwendet.
Startvorgang
Der Startvorgang der MLD beginnt mit dem Laden des Kernels und dem anschliessendem Laden und mounten der Initial Ram Disk (initrd) als root Filesystem. Nachdem der Kernel fertig initialesiert wurde, übergibt er die Leitung an das Script /linuxrc. Dieses legt eine Kopie der initrd auf dem ramfs (eine dynamisch mitwachsende Ramdisk) an, schwenkt das root-Filesystem auf die ramfs um, gibt die initrd wieder frei, startet /sbin/init und beendet sich. Init wertet die Datei /etc/inittab aus und startet das hierdrinn definierte init-Script (/etc/rc.d/rc.sysinit). Nach beenden dieses Scriptes startet init die vier definierten Konsolen und bietet einen Login an.
ab MLD-0.4.3
Anstelle der initrd tritt ein initramfs. Daraus folgt, das das erste startscript nicht /linuxrc sondern /init heißt.
rc.sysinit
- Das rc.sysinit Script leitet als erstes sämptliche seiner Ausgaben über ein tee paralel zum Bildschirm zusätzlich in die Datei /var/log/sysinit um.
- Im Anschluss werden alle Systemmeldungen in Logdatein umgelenkt, und je nach Logging Level vom Bildschirm verband.
- Nun folgt die erkennung des CD-Laufwerkes und erstellung des links /dev/dvd.
- Anschließend werden die Festplatten und Ihre Patitionen gesucht, für alle unterstützten Filesysteme Einträge in /etc/fstab vorgenommen und diese nach /mnt/hdxx gemountet.
- Es folgt die grundlegende Einrichting des Netzwerkes (nicht der Netzwerkkarten).
- Jetzt folgt das installieren aller im Ordner /etc/addons enthaltenen Addons.
- Als letztes werden alle in /etc/rc.d/boot.d legenden start-Schritt ausgeführt.
Struktur
/etc /addons Alle Addons /inaktiv Inaktive Addons /rc.d Startscripte /rc.boot Start und Stoplinks auf Scripte in ../ /rc.funktions Einige für den Startvorgang benötigte Scripte /rc.sysinit Startscript /rc.shutdown Prüft ob ein shutdown durchgeführt werden darf /rc.poweroff Führt Shutdown (oder reboot) durch /lib Librarys /modules Kernelmudule /usr /bin /sbin /lib /share /doc Documentationen /bin /sbin /linuxrc Erstes Startscript