@Whoopie:
Ich kann zumindest einen Vorschlag machen, wie ein aktuelles "uninstall.image" aussehen könnte (die Dateien dort sind ja alle 9 Jahre alt und ein wenig hat sich das schon getan bei AVM), aber selbst ändern kann ich es nicht.
Da es mehrere Ansätze gibt (uninstall.image (a) vor, (b) anstelle oder (c) nach Recovery ausführen), wäre eine Einigung auf das "richtige Vorgehen" vorher erforderlich.
Variante (b) ist sicherlich schnell aus dem Rennen (wenn nicht doch irgendwann die direkte Unterstützung für "Auspacken, Ändern, Einpacken" in Freetz Einzug hält, denn dann ist das nur ein kleiner Zusatz zur /var/install und am Ende klappt das alles in einem Zug und ohne "direkte Verkabelung") ... aber zwischen (a) und (c) muß man erst einmal eine Wahl treffen.
Eigentlich reicht schon eine Datei /var/install im Image mit dem folgenden Inhalt aus:
Code:
#! /bin/sh
# remove all Freetz related settings from a FRITZ!Box and reset the "modified" flags
#
# TFFS control interface
PROCTFFS=/proc/tffs
#
# TFFS minor IDs < 100 to be cleared
ID_LIST="60 98 97 87"
#
# 60 - /var/flash/freetz
# 98 - /var/flash/debug.cfg aka /var/flash/rc.user
# 97 - additional ID reserved (by TI some years ago) for data needed by rc.user
# 87 - AVM's "modified" flag container
#
# - don't hesitate to expand the list above to suit your needs
# - resetting the "modified" container is described here:
# http://freetz.org/wiki/help/howtos/development/manipulation_detection
#
for id in $ID_LIST; do
echo "clear_id $id" >$PROCTFFS
done
#
# uncomment this line to force an immediate factory reset:
# /bin/setfactorydefaults
#
# to remove any own content from the NAND flash mounted on /var/media/ftp, add
# one parameter to the line above or uncomment the line below:
# /bin/setfactorydefaults internalflash_clear
#
# ! Please remember, that clearing the NAND flash may be delayed until the device is
# rebooted next time!
#
# now restart the device, the remaining job is done by our parent (firmwarecfg)
exit 1
Das dann in ein passendes "tar"-File verpackt (Pfad "var/install", die Erweiterung "image" für das Archiv ist auch nicht zwingend) und man hat ein moderneres "uninstall.image", das - je nachdem, was man oben mit den Kommentaren macht - einige Aktionen gleich in einem Zug ausführen kann.
Wenn man das vor Recovery laden will, braucht es eigentlich kein "setfactorydefaults" mehr und wenn man das nach Recovery ausführt, erspart es einen Neustart, weil das Werksreset in demselben Schritt mitgemacht werden kann (was auch total unnötig ist, weil bei Recovery ja auch "Werkseinstellungen" aktiv werden, selbst die IDs < 100 "überleben" das eigentlich nicht).
Wenn man auf Recovery verzichten will, führt man einfach nur ein Update auf ein AVM-Image aus und lädt hinterher einmal das o.a. Image.
Am Ende passiert beim Recovern auch nichts wesentlich anderes ... aber im Gegensatz zu Recovery braucht eben ein Update nicht unbedingt ein LAN-Kabel zur Box. Solange das aktuelle System in der Box noch ansprechbar ist, kann man das "Deinstallieren" von Freetz auch über eine WLAN-Verbindung machen.
EDIT: Um es noch einmal klarer zu schreiben: Das Laden von Werkseinstellungen im Zusammenhang mit Recovery ist unnötig, das wird dabei automatisch mit erledigt. Die Zeilen für "setfactorydefault" braucht man also nur dann, wenn man auf Recovery verzichtet und es bleibt - je nachdem, ob man die Zeile mit oder ohne "internalflash_clear" verwendet - der NAND-Flash (bei 7390 und Modellen mit NAND- anstelle von NOR-Flash) auf Wunsch unangetastet. Dort liegen u.U. aber noch AB-Nachrichten und Faxe (die allerdings von der Box ohnehin nicht mehr angezeigt werden, wenn man nicht wieder eine gesicherte Anrufliste einspielt per Import), aber ja nachdem, was anschließend mit der Box passieren soll (z.B. Garantietausch bei AVM) sollte man das mit löschen lassen oder eben auch nicht (wenn man seine gesicherte fx_cg importieren will).