/var/etc/rc.boot-x
Aus open7x0.org
Die Script-Dateien /var/etc/rc.boot-3 bis /var/etc/rc.boot-9 bestimmen die Menu-Einträge 3 bis 9 des Boot-Menus. Sie legen sowohl den Menu-Text als auch die Aktion fest.
Inhaltsverzeichnis |
Menu-Text
Der Text für das Boot-Menu kann statisch mit '#menutext#' oder dynamisch mit '#generic-menutext#' vorgegeben werden, wobei '#generic-menutext#' Vorrang hat.
#menutext#
Es wird erste Zeile gesucht, die mit dem Schlüsselwort '#menutext#' beginnt, wobei Groß-/Kleinschreibung unerheblich ist. Der Text hinter diesem Schlüsselwort wird 1:1 übernommen, wobei überlange Texte abgeschnitten werden.
Syntax: '#menutext#' Der Menu-Text
#generic-menutext#
Es wird erste Zeile gesucht, die mit dem Schlüsselwort '#generic-menutext#' beginnt, wobei Groß-/Kleinschreibung unerheblich ist:
Syntax: '#generic-menutext#' ['enabled']
Sollte das erste Wort hiernach 'enabled' lauten, dann wird das Script mit zwei Parametern aufgerufen:
- Der erste Parameter lautet '--menutext'. Damit wird dem Script angezeigt, dass es zur Erzeugung des Menu-Textes aufgerufen wird.
- Der zweite Parameter ist eine Ziffer aus dem Bereich '3' bis '9' und gibt die Nummer des Menu-Eintrages an.
Das Script hat nun die Aufgabe, den Menu-Text zu erzeugen und auf stdout auszugeben. Dabei wird nur die erste Ausgabezeile berücksichtigt, wobei überlange Texte abgeschnitten werden.
Aufruf nach Auswahl
Wird der entsprechende Menu-Punkt im Boot-Menu ausgewählt, dann wird das Script mit einem Parameter ausgerufen:
- Der Parameter ist eine Ziffer aus dem Bereich '3' bis '9' und gibt die Nummer des Menu-Eintrages an.
Rückgabewert (exit status)
Das Script signalisiert durch seinen EXIT-Status, ob das Boot-Menu wieder angezeigt oder endgültig beendet werden soll:
- Ein EXIT-Status von 0 (==true) signalisiert, dass das Boot-Menu ohne weietre Anzeige beendet werden soll.
- Ein EXIT-Status ungleich (==false) signalisiert, dass das Boot-Menu wieder angezeigt und aktiviert werden soll.
Beispiele
Die meisten der folgenden Beispiele und weitere Scripts befinden sich in SVN unter »bootmenu«.
Boot-Menu beenden
Mit dem folgenden Script (rc.boot-9) kann das Boot-Menu beendet werden:
#!/bin/sh #menutext# bootmenu beenden
Text, der im Boot-Menu erscheint.
/usr/bin/txt2osd -r -d0 ""
Bildschirm löschen.
exit 0
Script mit Status 0 beenden → das Boot-Menu beenden.
Start des VDR
In diesem Abschnitt werden für das Boot-Menu relevante Stellen des VDR-Start-Scriptes (rc.boot-3) erläutert.
#generic-menutext# enabled
Die generische Erzeugung des Boot-Menu-Textes wird aktiviert.
#menutext# VDR
Für alte Firmware-Versionen, die '#generic-menutext#' nicht unterstützen, existiert auch ein statischer Menu-Text.
# Option --menutext? menutext=0 if [[ "$1" == "--menutext" ]] then menutext=1 shift fi
Falls die Option --menutext existiert, dann soll der Menu-Text generisch erzeugt werden. Das Vorhandensein der Option wird in der Variable menutext festgehalten.
Hiernach (durch 'shift') enthält $1 auf jeden Fall den Nummer des Menu-Eintrages.
# Datei mit den lokalen Einstellungen setup="/var/etc/vdr-settings-$1.txt"
Hier wird zuerst eine Setup-Datei definiert, die abhängig von der Nummer des Menu-Eintrages ist.
[[ ! -f "$setup" ]] && setup="/var/etc/vdr-settings.txt"
Falls diese Datei nicht existiert, dann wird eine Standard-Datei (ohne Nummer) verwendet.
# diverse Einstellungen ...
Nun folgen divere Einstellungen...
if [[ -f "$setup" ]] then DEVICE_MODE=UNKNOWN dos2unix -u "$setup" source "$setup" fi
... und das laden der Konfigurationsdatei. Vor dem Laden wird durch den Aufruf von 'dos2unix -u' dafür gesorgt, dass die Datei auf jeden Fall im Unix-Zeilenenden besitzt.
... if (( $menutext )) then echo "$TITLE1 $TITLE2" exit fi
Nach der Auswertung der Konfigurationsdatei wird entweder der Menu-Text ausgegeben und das Script weiter abgearbeitet.
... exit 1
Ganz zum Schluß terminiert das Script mit dem Status 1. Hierdurch wird das Boot-Menu aktiviert und wieder angezeigt.
Start des VDR II
Dieses Beispiel (rc.boot-4) ist ein Wrapper für das vorherige VDR-Start-Script. Es wird ein weiterer Menu-Eintrag erzeugt, für den andere Einstellungen verwendet werden.
#!/bin/sh #menutext# VDR
Für alte Firmware-Versionen, die '#generic-menutext#' nicht unterstützen, existiert auch ein statischer Menu-Text.
#generic-menutext# enabled
Die generische Erzeugung des Boot-Menu-Textes wird aktiviert.
/var/etc/rc.boot-3 "$@"
Das Orignal-VDR-Start-Script wird aufgerufen und erhält alle Variablen.
exit $?
Der Exit-Status des Orignal-VDR-Start-Scriptes wird hier verwendet. Der befehl ist nicht notwendig, verdeutlicht aber den Willen, den Exit-Status zu übernehmen.
Links zum Thema »Lemmis Firmware«
- Lemmis Firmware
- Firmware Versionen:
- Wichtige Dateien
- Firmware Download: http://m740.steve-m.de/

