Quelle((http://www.m740.de/wiki/Hook)) == Einleitung == Bei Software ermöglicht ein '''Hook''' (deutsch: ''Haken''), dass andere bisher unbekannte Software die Möglichkeit enthält, eigenen Code auszuführen. == Lemmis Firmware == [[m740av |Lemmis Firmware]] unterstützt 7 Hooks: === Boot-Script rc.local === Im Boot-Script '[[/etc/rc]]' sind vier Hooks für eigene Modifikationen eingebaut: * Kurz nach dem Laden von '[[/var/etc]]' wird überprüft, ob die Datei '[[/var/etc/alternate-rc]]' existiert. Ist dieses der Fall, dann wird '[[/var/etc/alternate-rc]]' anstatt des Rest-Skriptes von [[/etc/rc]] ausgeführt. Damit ist man in der Lage, den Bootvorgang zu modifizieren ohne ein neues Update einzuspielen. * Bevor in [[/etc/rc]] die beiden Programme '[[wavebox_FT]]' und '[[wavebox]]' aufrufen werden wird die Existenz von '[[/var/etc/rc.pre-wavebox]]' geprüft. Existiert diese Datei, dann wird sie als normales Script aufgerufen. * Am Ende von [[/etc/rc]] wird die Existenz von '[[/var/etc/rc.local]]' geprüft. Existiert diese Datei, dann wird sie als Hintergrund-Prozess aufgerufen. [[stdout]] und [[stderr]] werden nach /var/log/rc.local.log umgeleitet. Hiermit kann man nach dem Start der Box eigene Erweiterungen, z.B. einen alternativen [[FTP]]-[[Server]], starten. * Unmittelbar nach dem Aufruf von '[[/var/etc/rc.local]]' wird im Hintergrund 30 Sekunden gewartet und anschließend die Existenz von [[/usb/bin/rc.usb]] geprüft. Existiert diese Datei, dann wird sie aufgerufen. [[stdout]] und [[stderr]] werden nach /usb/bin/rc.usb.log umgeleitet. Hiermit kann man nach dem Start der Box eigene Erweiterungen einfügen, auch wenn man keine LAN-Verknüpfung hat. So kann z.B. durch Verwendung des beigelegten Scriptes [[check-usb-settings]] die [[lemmi-settings.txt|lemmi-settings]] setzen. === Shutdown-Script halt === Im Script '[[/etc/rc.d/halt]]' sind zwei Hooks für eigene Modifikationen eingebaut: * Unmittelbar bevor die Prozesse angehalten werden, wird die Existenz der Datei '[[/var/etc/halt.local]]' überprüft. Ist Sie vorhanden, dann wird sie aufgerufen. Das Script '[[/etc/rc.d/halt]]' setzt in diesem Falle seine Arbeit erst nach Beendigung von '[[/var/etc/halt.local]]' fort. * Unmittelbar bevor der PIC zum Ausschalten programmiert wird, wird die Existenz der Datei '[[/var/etc/halt.term]]' überprüft. Ist Sie vorhanden, dann wird sie aufgerufen. Das Script '[[/etc/rc.d/term]]' setzt in diesem Falle seine Arbeit erst nach Beendigung von '[[/var/etc/halt.term]]' fort. === login-Script profile === Im Script '[[/etc/profile]]' ist ein Hook für eigene Modifikationen eingebaut: * Am Ende wird die Datei '[[/var/etc/.bash_profile]]' aufgerufen, falls vorhanden. Damit kann man sich u.a. eigene Befehle für die interaktive [[shell]] ([[telnet]] shell) definieren.