MGR-System (Lemmis Firmware)
Aus open7x0.org
Das Kommando /sbin/mgr ist das Haupt-Script der Manager-Scripts, einem ganzen System von Scripten. Diese Manager-Scripts verwalten den Box-Betrieb und überwachen die Wavebox und den VDR.
Basis-Verzeichnis
Die mgr*-Scripte sind so gebaut, dass sie in beliebigen Verzeichnissen funktionieren. Sie müssen nur zusammen in einem Verzeichnis stehen. Außerdem sollte man darauf achten, dass sie ausführbar sind, z.B. mit: chmod 755 mgr*
Wenn man also selbst Hand anlegen möchte, dann muss man die mgr*-Dateien ein Verzeichnis freier Wahl kopieren. Dieses Verzeichnis muss aber von der Box erreichbar sein.
Beim Start ist darauf zu achten, dass kein anderer mgr (ManaGeR) läuft. Dieses kann z.B. mit "ps xa | grep mgr" überprüft werden. Das Kommando 'kill-mgr' beendet die Menu-Manager.
Die Firmware ist so ausgelegt, dass sie bei Systemstart kontrolliert, ob die Datei 'mgr' im Verzeichnis '/data/mgr-<version>' existiert und ausführbar ist. "<version>" ist dabei die Versionsnummer der gerade verwendeten Firmware.
Beispiele für Verzeichnisse mit dem Muster '/data/mgr-<version>':
- /data/mgr-2.01.00.lemmi-15
- /data/mgr-2.02.24.lemmi-01
- /data/mgr-2.03.15.lemmi-03
- /data/mgr-2.03.32.lemmi-01b2
Durch die Verwendung der Firmware-Version wird sichergestellt, dass nach einem FW-Update nicht irgendwelche Leichen automatisch verwendet werden. Ist die Datei '/data/mgr-<version>/mgr' existent und ausführbar, dann wird sie aufgerufen. Anderenfalls wird '/sbin/mgr' (die in der Firmware fest integrierte Standardimplementation) aufgerufen.
Die Scripte im Einzelnen
mgr-setup
Das Script mgr-setup enthält die Initialisierung aller anderen mgr-Scripte. Es wird in der Regel wie folgt aufgerufen:
. `dirname "$0"`/mgr-setup
Es setzt bash- und Umgebungsvariablen auf, analysiert den ersten Parameter und definiert einige Funktionen.
mgr
Dieses Script stellt ist der Zentral-Verteiler. Fast alle weiteren Scripte werden nur durch mgr aufgerufen. Bei Beendigung signalisieren sie durch ihren Exit-Status das nächste aufzurufende mgr-Script.
mgr-bootmenu
Dieses Script repräsentiert das Boot-Menu.
mgr-calc-reboot-time
Dieses Script wird beim herunterfahren und im Standby aufgerufen, um die Zeitpunkte der nächsten Ereignisse zu berechnen.
mgr-default
Dieses Script berechnet die allererste Aktion nach dem Systemstart.
mgr-fsck
Dieses Script führt einen Plattencheck durch.
mgr-fsckmenu
Dieses Script repräsentiert das Platten-Check-Menu.
mgr-install-fw
Mit diesem Script wird eine neue Firmware ausgewählt und installiert.
mgr-mainmenu
Dieses Script repräsentiert das Hauptmenu.
mgr-set-led
Dieses Script verwaltet die LED-Steuerung.
mgr-setupmenu
Dieses Script startet das Einstellungs-Menu.
mgr-shutdown
Dieses Script veranlaßt das Abschalten und evtl einen reboot des Systems.
mgr-shutdownmenu
Dieses Script repräsentiert das Shutdown-Menu.
mgr-standby
Dieses Script verwaltet den Standby-Modus.
mgr-start-vdr
Dieses Script startet und kontrolliert den VDR.
mgr-start-wavebox
Dieses Script startet und kontrolliert die Wavebox.
mgr-vdr-gen-channels
Mit diesem Script wird die Senderliste des VDRs aus der Senderliste der Wavebox berechnet.
mgr-vdr-record-script
Der VDR ruft dieses Script bei jedem Start und Ende einer Aufnahme auf. Es erzeugt die Aufnahme-Log-Datei /data/log/vdr-recorder.log ativiert das LED-Blinken.
mgr-vdr-stop-script
Der VDR ruft dieses Script vor seiner Terminierung auf und teilt ihm Zeit und Titel der nächsten Timer-Aufnahme mit.
mgr-watch-wavebox
Dieses Script ist der Watchdog der Wavebox.
mgr-wavebox-auto-power
Dieses Script simuliert nach kurzer Analyse einmal die POWER-Taste, um die Wavebox nach dessen Start in den richtigen Zustand zu versetzen (Interaktiv oder Timer-Aufnahme).
mgr-wavebox-stop-script
Dieses Script gängt den von der Wavebox initiierten Shutdown ab.
mgr-wavebox-sync-rec
Dieses Script sorgt dafür, dass CRID-Dateien aus dem Aufnahme-Haup-Verzeichnis in die tatsächlichen Unterverzeichnisse kopiert werden, damit die Aufnahmen auch von anderen Boxen mit älterer Firmware wiedergegeben werden können.

