Bei einem Firmware-Update über das AVM-Web-Interface passiert in etwa Folgendes (kein Anspruch auf Vollständigkeit):
start oder mit start_from_internet aufgerufen, je nachdem, ob ein Update von der AVM-Seite geladen werden soll oder von Festplatte. Der Unterschied besteht v.a. darin, daß der DSL-Daemon dsld im zweiten Fall zunächst nicht gestoppt wird.end. Jetzt werden endgültig die verbleibenden Dienste gestoppt, die noch während des Updates stören könnten, indem sie z.B. auf den Flash-Speicher zugreifen.INSTALL_SUCCESS_NO_REBOOT (0) - alles okay, Neustart der Box nicht erforderlich. Dieser Wert sollte nur zurückgegeben werden, wenn an Dateisystem und Kernel im Flash nichts geändert wird.INSTALL_SUCCESS_REBOOT = 1 - der Standardwert bei „richtigen“ Firmware-Updates. Alles okay, Box neu starten.INSTALL_WRONG_HARDWARE = 2 - Installation zurückweisen, weil etwas an der Hardware nicht zum Firmware-Image paßt (Problem mit dem Annex, falscher OEM).INSTALL_KERNEL_CHECKSUM = 3 - fehlerhafte Kernel-Checksumme. Falls die beiden Image-Dateien (Kernel und Filesystem) existieren, werden ihre CRC-Checksummen durch Aufruf des ebenfalls in AVM-Paketen enthaltenen /var/chksum geprüft. Sind die Checksummen - nicht Verwechseln mit der o.g. Signatur - nicht in Ordnung, findet kein Update statt.INSTALL_FILESYSTEM_CHECKSUM = 4 - siehe voriger Punkt.INSTALL_URLADER_CHECKSUM = 5 - würde bedeuten, daß der zu installierende neue Urlader eine falsche Checksumme hat. Meistens enthalten Formware-Updates jedoch keinen neuen Urlader.INSTALL_OTHER_ERROR = 6 - sonstiger Fehler.INSTALL_FIRMWARE_VERSION = 7 - Problem mit der aktuellen Firmware-Version. Entweder kann die aktuelle Version aus irgendeinem Grund nicht festgestellt werden oder der Versionssprung ist zu groß, weil noch jemand eine Uralt-Version istalliert hat und zunächst ein Zwischen-Update auf eine andere Version ebötigt, um anschließend die neue einspielen zu können.INSTALL_DOWNGRADE_NEEDED = 8 - es wird versucht, eine Firmware mit niedrigerer Versionsnummer zu installieren. Normalerweise blockieren aktuelle Firmwares das, weswegen man den Umweg über ein Recover bzw. einen manuellen Downgrade machen muß, um diese Hürde zu nehmen. (Man könnte auch einfach die Prüfung in diesem Skript auskommentieren.)-f, welcher es dazu veranlaßt, eine beliebige Firmware-Versionsnummer zu akzeptieren und somit ggf. auch einen Downgrade durchzuführen. Allerdings läßt sich der Schalter übers Web-Interface meines Wissens nicht setzen. Vermutlich wird er von den AVM-Recovery-Tools benutzt. Verbunden mit dem Setzen dieses Schalters ist, daß das gerade besprochene Install-Skript auch die Einstellungen im Flash löscht und somit die Box auf die Werkseinstellungen zurücksetzt. Grundsätzlich könnte man Letzteres durch Auskommentieren im Skript verhindern, aber es macht oft genug Sinn, es so zu lassen. Ein Downgrade bedeutet nun einmal, daß evtl. vorhandene Einstellungen für Features einer neuen Firmware-Version von einer älteren nicht richtig interpretiert werden könnten und somit schlimmstenfalls die Box schon beim Starten hängen bleiben und endgültig zum Recover-Fall werden würde.init reboot indirekt vom führenden Prozeß firmwarecfg aufgerufen wird, sofern nicht einer der Fehler-Rückgabewerte dies verhindert. post_install wiederum setzt für den Flash-Vorgang notwendige Umgebungsvariablen und lädt das im Firmware-Image enthaltene Modul /var/flash_update.o (Kernel 2.4) bzw. /var/flash_update.ko (Kernel 2.6).Nach dem eventuellen Reboot hat man ggf. eine nagelneue Firmware auf der Box, andernfalls die gewünschte nachinstallierte Funktionalität. Was /var/install macht und welchen Return-Wert es liefert, ist grundsätzlich für jeden Firmware-Bastler frei entscheidbar. Die anderen Rahmenbedingungen sind so, wie ich es eben beschrieben habe.