MLD - Aufbau

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (hat MLD - Aaufbau nach MLD - Aufbau verschoben: Aaufbau != Aufbau)
K
 
(Eine dazwischenliegende Version von einem Benutzer wird nicht angezeigt)
Zeile 2: Zeile 2:
 
Die MLD (ab Version 0.4.x) basiert auf SuSE 10.0 und der {{wikipedia|BusyBox}} 1.2.0
 
Die MLD (ab Version 0.4.x) basiert auf SuSE 10.0 und der {{wikipedia|BusyBox}} 1.2.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 MLD läuft ausschließlich in einer Ramdisk. Alle Änderungen am Dateisystem gehen nach dem Abschalten des PCs verloren. Lediglich Änderungen an Konfigurations Dateien, die links auf Dateien auf der Festplatte sind, bleiben erhalten.
  
Die Meisten benötigten Funktionen werden von der {{wikipedia|BusyBox}} bereitgestellt. Es sind lediglich einige wenige funktionen welche die {{wikipedia|BusyBox}} nicht bereitstellt enthalten. Die verwendete {{wikipedia|BusyBox}} enthält einen Patch, der die umount Funktion korrigiert.
+
Die Meisten benötigten Funktionen werden von der {{wikipedia|BusyBox}} bereitgestellt. Es sind lediglich einige wenige Funktionen welche die {{wikipedia|BusyBox}} nicht bereitstellt enthalten. Die verwendete {{wikipedia|BusyBox}} enthält einen Patch, der die umount Funktion korrigiert.
  
Der Kernel (2.6.13-15.10), die Kernelmudule und die Librarys (für 686er) stammen aus der SuSE 10.0, welche alle verfügbaren Updates erfahren haben. Es wurden die ide-Treiber (genau wie bei SuSE 9.2) fest in den Kernel aufgenommen und nicht als Module nachgeladen. Der DVB-Treiber wurde gegen die aktuellste verfügbare Version ersetzt.
+
Der Kernel (2.6.13-15.10), die Kernelmodule und die Bibliotheken (für 686er) stammen aus der SuSE 10.0, welche alle verfügbaren Updates erfahren haben. Es wurden die ide-Treiber (genau wie bei SuSE 9.2) fest in den Kernel aufgenommen und nicht als Module nachgeladen. Der DVB-Treiber wurde gegen die aktuellste verfügbare Version ersetzt.
  
Die Bootfunktion der CD sowie der Installierten Version übernimmt grub. Das folgende sysinit-Script basiert auf der MLD-0.2.0 welche überwiegend von Big Egor ertworfen wurde.
+
Die Bootfunktion der CD sowie der Installierten Version übernimmt grub. Das folgende sysinit-Skript basiert auf der MLD-0.2.0 welche überwiegend von Big Egor entworfen wurde.
  
 
==Startvorgang==
 
==Startvorgang==
Der Startvorgang der MLD beginnt mit dem Laden des Kernels und dem anschliessendem Laden und mounten der Initial Ram Disk (initramfs) als root Filesystem. Nachdem der Kernel fertig initialesiert wurde, übergibt er die Leitung an das Script /init. Dieses legt eine Kopie des initramfs auf einem ramfs Laufwerk (eine dynamisch mitwachsende Ramdisk) an, schwenkt das root-Filesystem auf die ramfs um, gibt die initramfs 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.
+
Der Startvorgang der MLD beginnt mit dem Laden des Kernels und dem anschließendem Laden und mounten der Initial Ram Disk (initramfs) als root Dateisystem. Nachdem der Kernel fertig initialisiert wurde, übergibt er die Leitung an das Script /init. Dieses legt eine Kopie des initramfs auf einem ramfs Laufwerk (eine dynamisch mitwachsende Ramdisk) an, schwenkt das root-Dateisystem auf die ramfs um, gibt die initramfs wieder frei, startet /sbin/init und beendet sich. Init wertet die Datei /etc/inittab aus und startet das hierdrin definierte init-Script (/etc/rc.d/rc.sysinit). Nach beenden dieses Skriptes startet init die vier definierten Konsolen und bietet einen Login an.
  
 
==rc.sysinit==
 
==rc.sysinit==
* Das rc.sysinit Script leitet als erstes sämtliche seiner Ausgaben über ein tee paralel zum Bildschirm zusätzlich in die Datei /var/log/sysinit um.  
+
* Das rc.sysinit Skript leitet als erstes sämtliche seiner Ausgaben über ein tee parallel 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.  
 
* 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.
+
* 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.
+
* Anschließend werden die Festplatten und Ihre Partitionen gesucht, für alle unterstützten Dateisysteme Einträge in /etc/fstab vorgenommen und diese nach /mnt/hdxx gemountet.
* Es folgt die grundlegende Einrichting des Netzwerkes (nicht der Netzwerkkarten).
+
* Es folgt die grundlegende Einrichtung des Netzwerkes (nicht der Netzwerkkarten).
 
* Jetzt folgt das installieren aller im Ordner /etc/addons enthaltenen Addons.
 
* 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.
+
* Als letztes werden alle in /etc/rc.d/boot.d liegenden start-Skripte ausgeführt.
  
 
==Struktur==
 
==Struktur==
Zeile 26: Zeile 26:
 
     addons/          Alle Addons
 
     addons/          Alle Addons
 
       inaktiv/      Inaktive Addons
 
       inaktiv/      Inaktive Addons
     rc.d/            Startscripte
+
     rc.d/            Startskripte
       rc.boot/      Start und Stoplinks auf Scripte in ../
+
       rc.boot/      Start und Stoplinks auf Skripte in ../
     hotplug/          Hotplug ereignise behandeln
+
     hotplug/          Hotplug Ereignisse behandeln
     setup/            XML-Files mit setup Paratetern für setup-Plugin
+
     setup/            XML-Files mit Setup Parametern für setup-Plugin
     rc.funktions      Einige für den Startvorgang benötigte Scripte
+
     rc.funktions      Einige für den Startvorgang benötigte Skripte
     rc.sysinit        Startscript
+
     rc.sysinit        Startskript
     rc.shutdown      Prüft ob ein shutdown durchgeführt werden darf
+
     rc.shutdown      Prüft ob ein Shutdown durchgeführt werden darf
     rc.poweroff      Führt Shutdown (oder reboot) durch
+
     rc.poweroff      Führt Shutdown (oder Reboot) durch
  lib/                Librarys
+
  lib/                Bibliotheken
     modules/          Kernelmudule
+
     modules/          Kernelmodule
 
  usr/
 
  usr/
 
     bin/
 
     bin/
Zeile 41: Zeile 41:
 
     lib/
 
     lib/
 
     share/
 
     share/
       doc/          Documentationen
+
       doc/          Dokumentationen
 
  bin/
 
  bin/
 
  sbin/
 
  sbin/
 
  dev/
 
  dev/
 
  tmp/
 
  tmp/
  init                Erstes Startscript
+
  init                Erstes Startskript
  
 
[[Kategorie:MLD]]
 
[[Kategorie:MLD]]

Aktuelle Version vom 18. August 2013, 17:00 Uhr

Inhaltsverzeichnis

[Bearbeiten] System

Die MLD (ab Version 0.4.x) basiert auf SuSE 10.0 und der BusyBox 1.2.0

Die MLD läuft ausschließlich in einer Ramdisk. Alle Änderungen am Dateisystem gehen nach dem Abschalten des PCs verloren. Lediglich Änderungen an Konfigurations Dateien, die links auf Dateien 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 verwendete BusyBox enthält einen Patch, der die umount Funktion korrigiert.

Der Kernel (2.6.13-15.10), die Kernelmodule und die Bibliotheken (für 686er) stammen aus der SuSE 10.0, welche alle verfügbaren Updates erfahren haben. Es wurden die ide-Treiber (genau wie bei SuSE 9.2) fest in den Kernel aufgenommen und nicht als Module nachgeladen. Der DVB-Treiber wurde gegen die aktuellste verfügbare Version ersetzt.

Die Bootfunktion der CD sowie der Installierten Version übernimmt grub. Das folgende sysinit-Skript basiert auf der MLD-0.2.0 welche überwiegend von Big Egor entworfen wurde.

[Bearbeiten] Startvorgang

Der Startvorgang der MLD beginnt mit dem Laden des Kernels und dem anschließendem Laden und mounten der Initial Ram Disk (initramfs) als root Dateisystem. Nachdem der Kernel fertig initialisiert wurde, übergibt er die Leitung an das Script /init. Dieses legt eine Kopie des initramfs auf einem ramfs Laufwerk (eine dynamisch mitwachsende Ramdisk) an, schwenkt das root-Dateisystem auf die ramfs um, gibt die initramfs wieder frei, startet /sbin/init und beendet sich. Init wertet die Datei /etc/inittab aus und startet das hierdrin definierte init-Script (/etc/rc.d/rc.sysinit). Nach beenden dieses Skriptes startet init die vier definierten Konsolen und bietet einen Login an.

[Bearbeiten] rc.sysinit

  • Das rc.sysinit Skript leitet als erstes sämtliche seiner Ausgaben über ein tee parallel 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 Partitionen gesucht, für alle unterstützten Dateisysteme Einträge in /etc/fstab vorgenommen und diese nach /mnt/hdxx gemountet.
  • Es folgt die grundlegende Einrichtung 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 liegenden start-Skripte ausgeführt.

[Bearbeiten] Struktur

etc/
   addons/           Alle Addons
      inaktiv/       Inaktive Addons
   rc.d/             Startskripte
      rc.boot/       Start und Stoplinks auf Skripte in ../
   hotplug/          Hotplug Ereignisse behandeln
   setup/            XML-Files mit Setup Parametern für setup-Plugin
   rc.funktions      Einige für den Startvorgang benötigte Skripte
   rc.sysinit        Startskript
   rc.shutdown       Prüft ob ein Shutdown durchgeführt werden darf
   rc.poweroff       Führt Shutdown (oder Reboot) durch
lib/                 Bibliotheken
   modules/          Kernelmodule
usr/
   bin/
   sbin/
   lib/
   share/
      doc/           Dokumentationen
bin/
sbin/
dev/
tmp/
init                 Erstes Startskript