/var/etc/alternate-rc
Aus M740 WikiWeb
Der Einsatz der hier genannten Modifikationen geschieht auf eigene Gefahr!!
Inhaltsverzeichnis |
Einleitung
Beim Hochfahren der M740AV ist das Script /etc/rc maßgeblich beteidigt. Es mounted den Datenbereich /data, läd diverse Module und startet diverse Dienste, u.a. auch das Programm wavebox. Da /etc/rc im Nur-Lese-Bereich des root file systems abgelegt ist kann man es nur durch Aufspielen einer angepassten Firmware ändern.
Hook in /etc/rc
Ab der Firmware 1.18.lemmi-04 bis Firmware 2.01.0.lemmi-02 ist im Script /etc/rc ein Hook eingebaut, der ein alternatives Boot-Script zuläßt:
... if [[ "$LEMMI_FIRST_BOOT" == "no" && -f /var/etc/alternate-rc ]]; then source /var/etc/alternate-rc exit fi ...
Dieser Kodeteil wird direkt nach dem mounten von /data und dem Laden von /var/etc und der Module ausgeführt:
- Existiert die Datei /var/etc/alternate-rc, dann wird diese Datei ausgeführt und danach /etc/rc beendet.
Daher ist es sehr einfach ein eigenes Boot-Script einzubinden.
Ab Firmware 2.01.0.lemmi-03 wird /var/etc/alternate-rc nicht mehr unterstützt. Stattdessen gibt es den Namensvetter /var/etc/rc.alternate.
Vorlage für /var/etc/alternate-rc
Als Vorlage solle immer die Datei /etc/rc der aktuell installierten Firmware verwendet werden.
Evtl. kann der folgende Wächter an den Anfang gesetzt werden um das Script /var/etc/alternate-rc nach 60 Sekunden in /var/etc/alternate-rc.1 umzubenennen. Damit wird die Sicherheit erhöht, falls das Script die Box zum Absturz bringt, da das Script im Normallfall nur bei einem Boot-Vorgang ausgeführt wird. Zum nochmaligen Ausführen muß das Script wieder in /var/etc/alternate-rc umbenannt werden.
#!/bin/sh # Einmalige Benutzung, um bei einem Fehler wieder in die Box zu kommen ( sleep 60; mv /var/etc/alternate-rc /var/etc/alternate-rc.1 ) & ....
Verzeichnisse & Dateien der Firmware
/ (root file system; gemounted von /dev/mtd1)
- /data (Verzeichnis; gemounted von /dev/mtd2)
- /data/.timer (Verzeichnis)
- /data/RA_FILE
- /data/SI (Verzeichnis)
- /etc (Verzeichnis)
- /sbin (Verzeichnis)
- /usb (Softlink nach /var/media/USB-HDD) bis Firmware 1.x
- /usb1 (Softlink nach /var/media/USB-HDD-1) ab Firmware 2.x
- /usb2 (Softlink nach /var/media/USB-HDD-2) ab Firmware 2.x
- /usb/bin (Verzeichnis)
- /usr (Verzeichnis)

