MLD 2.0 - Aufbau

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

System

Die aktuelle MLD (ab Version 2.x) wird unter Gentoo entwickelt und basiert auf der BusyBox 1.9.2. Für die Entwicklung steht für alle Entwickler ein Entwicklungs Server bereit.

Der Kernel (2.6.25.13.2) enthält einige Patches und ist speziell für den Einsatz der MLD konfiguriert. Die meisten Libraries stammen aus der Gentoo Entwicklungsumgebung.

Die MLD läuft ausschließlich in einer Ramdisk. Alle Änderungen am Filesystem gehen nach dem Abschalten des PCs verloren. Lediglich Änderungen an Konfigurationsdateien, die sich im Ordner /etc befinden, werden dauerhaft auf der Festplatte gespeichert und bleiben bei einem Neustart erhalten.

Startvorgang

Im ersten Schritt wird der Kernel geladen, die Initial Ram Disk (initramfs) als root Dateisystem gemountet und der Kernel initialisiert. Anschließend ruft der Kernel das Skript /init auf.

Das Init-Skript initialisiert das System und legt eine dynamisch mitwachsende Ramdisk für das root-Dateisystem an. Normalerweise kopiert das Skript die Initial Ram Disk (initramfs) in das root-Dateisystem. Ist jedoch die FastBoot Option aktiviert, wird ein spezielles FastBoot-Dateisystem verwendet.

Danach wird /sbin/init gestartet und die Datei /etc/inittab ausgewertet. Das in der /etc/inittab definierte sysinit Skript /etc/init.d/rc.sysinit wird aufgerufen. Anschließend beendet sich /sbin/init und stellt die definierten Konsolen (normalerweise 4) zum Login zur Verfügung.


Struktur des Dateisystems

/
 bin/                    # Systemprogramme
 boot/
 data/
 dev/
 etc/
  acpi/
  addons/                # -> mld/addons
  dropbear/              # SSH Konfigurationsdateien?
  fonts/                 # Schriftarten
  hotplug/               # -> /usr/etc/hotplug
  init.d/
   rc.function
   rc.poweroff
   rc.start
   rc.sysinit
   rc.sysinit.fastboot
   boot.d/
  mld/
   addons/               # alle Addons die beim Booten gestartet werden
    inactive/            # alle Addons die beim Booten nicht gestartet werden
   boot/
    grub/
   data/
   etc/
   usr/
    share/
     doc/
  rc.d/                  # -> init.d
  setup/                 # -> /usr/etc/setup
  vdr/                   # Konfigurationsdateien des vdr
   channels/             # DVB-Liste mit den Konfigurationen der Kanälen
   plugins/              # Plugins für den vdr
   themes/               # Themes für den vdr
 init/
 lib/                    # Libraries
 media/
 mnt/
 opt/
 proc/
 root/
 sbin/
 sys/
 tmp/
 usr/
  sbin/
   dropbear
   inetd
   install
   rcdvb
   rcvdr
   sshd                   # -> dropbear
 var/


Skripte - Programme

rc.functions

/etc/init.d/rc.functions

Das Skript stellt allgemeine Funktionen zur Verfügung und wird von anderen Skripten eingebunden, zum Beispiel /etc/init.d/rc.sysinit.

rc.poweroff

/etc/init.d/rc.poweroff

Beim Herunterfahren des Systems wird das Skript aufgerufen.

rc.start

/etc/init.d/rc.start

Dient zum Start des Systems???

rc.sysinit

/etc/init.d/rc.sysinit

Wird beim booten des System aufgerufen.

rc.sysinit.fastboot

/etc/init.d/rc.sysinit.fastboot

Wird beim booten des System aufgerufen, wenn die Option FastBoot eingestellt ist.

dropbear

/usr/sbin/dropbear

SSH Client und Server.

inetd

/init

Inetd Dienst.

install

/usr/sbin/install

Installation und Konfiguration vom MLD

rcdvb

/usr/sbin/rcdvb

Dient zum Starten und Stoppen der DVB-Treiber

rcvdr

/usr/sbin/rcvdr

Dient zum Starten und Stoppen des Videorekorders VDR