So, es gibt jetzt eine neue Version ... die Szenarien, in denen ich sie bei mir erfolgreich getestet habe, stehen in #1.
Dabei habe ich immer eine USB-HDD mit einem nativen Linux-Filesystem verwendet (mein NAND-FS ist absichtlich bis auf 70 MB freien Speicher gefüllt), den gesamten Teil mit der Container-Datei auf einem FAT32- oder NTFS-Volume habe ich nicht erneut getestet.
Auch handelte es sich bei mir immer um die 7490, andere Modelle kann ich nicht selbst testen. Wenn jemand erfolgreich ein solches Gerät modifiziert hat (mit/für 06.30, das dürfte derzeit der häufigste "use case" sein), wäre ein kurzer Bericht nett, ich nehme dann in #1 noch eine Liste (bzw. Verweise auf) diese(r) Berichte auf.
Um die Fehlersuche etwas zu vereinfachen, habe ich eine Protokollierung in das Skript eingebaut, die die AVM-Tools zur
Ringpuffer-Protokollierung verwendet.
Aktiviert wird das Debug-Logging über die Umgebungsvariable MODFS_DEBUG. Hat diese den Wert "1", wird in einen Ringpuffer von 8 KB Größe mit dem (Datei-)Namen des Skripts protokolliert. Der Puffer läßt sich über die zusätzliche Variable "MODFS_BUFSIZE=
n" vergrößern (Angabe in KB), wobei ich Werte > 64 nicht getestet habe. Ein Aufruf mit Debug-Ausgabe könnte also so aussehen:
Code:
MODFS_DEBUG=1 MODFS_BUFSIZE=32 ./modfs update FRITZ.Box_7490.113.06.24.image
Tritt dann ein Fehler auf, kann man sich mit
diese Protokolldatei anzeigen lassen, sie über eine entsprechende Umleitung
Code:
showshringbuf modfs >/var/media/ftp/[I]my_usb_volume[/I]/modfs.debug
in einer Datei abspeichern und dann einer Fehlermeldung hinzufügen. Diese Protokollierung hilft natürlich bei spontanem Reboot einer Box auch nicht, aber da sehe ich die Ursache auch eher in allgemeinem Ressourcenmangel als in einem bestimmten Verhalten oder einer bestimmten Aktion des Skripts.
Ich hoffe auf Verständnis, wenn ich Fragen zu Problemen nur noch beantworte, wenn auch das entsprechende Protokoll als Anhang (bitte wirklich als Anhang und nicht in Code-Tags, das liest sich einfach lokal im Editor besser) in der Fehlermeldung enthalten ist (solange das Problem nicht die Protokollierung selbst betrifft).
Da es mir auf Dauer auch zu albern ist, weiterhin mit eigenen squashfs-tools in diesem Zusammenhang zu hantieren und inzwischen in Freetz das Erstellen der Tools für SquashFS4 und die Abarbeitung auf der FRITZ!Box ebenfalls enthalten ist, habe ich meine eigenen Versionen durch mit dem Freetz-Trunk erstellte ersetzt in der veröffentlichten Version. Damit sind die zur Übersetzung der Binärdateien im Archiv notwendigen Quelltexte im Freetz-Trunk zu finden. Solange man diese Tools nicht in ein Firmware-Image mit einbauen will, spielt auch die Größe der komplett statisch gelinkten Binaries für SquashFS4 keine entscheidende Rolle.
Für den Einbau in ein neues root-Filesystem verwende ich selbst trotzdem weiterhin meine Version, da es sehr unwahrscheinlich ist, daß ich damit jemals auf einer 7490 ein SquashFS-Image der Versionen 1 oder 2 oder 3 entpacken werde (für V3 gibt es eigene Files) und dieser Platz im Image verschenkt ist.
Die schlechte Nachricht ist ohnehin, daß es offenbar einen (für mich zumindest) noch ungeklärten Unterschied zwischen 06.35 und den Vorgänger-Versionen gibt ... es ist mir weder mit meinen eigenen Patches noch mit den über den Freetz-Trunk erstellten Binaries gelungen, eine nicht komplett statisch gelinkte Version der squashfs-tools für Version 4 unter der Version 06.35 auszuführen (es gibt nicht einmal eine ordentliche Fehlermeldung und auch mit "strace" ist auf Anhieb nichts zu sehen). Die schon im
Okt. Sept. 2014 erstellten Tools (dynamisch gelinkt) für SquashFS-Version 3 funktionieren hingegen auch unter 06.35 problemlos. Ob das für neu erstellte Binaries der squashfs-tools in Version 3.4 ebenfalls gelten würde, wollte ich im Moment lieber nicht testen und erst einmal die neue Version von modfs zu einem definierten Stand bringen. Daher sind die enthaltenen Tools für SquashFS3 mit dem zu diesem Zeitpunkt gültigen Stand (wenn das da überhaupt schon in Freetz aufgenommen war, ansonsten (per Dekret) mit der ersten in Freetz verfügbaren Version für die Target-Tools) erzeugt.
EDIT: Die Anpassung der Beschreibung in README und README.ger im Paket steht immer noch in der ToDo-Liste ... das hebe ich mir für die nahenden langen Winternächte auf. Also besser hier lesen und die Informationen in diesen Dateien als veraltet ansehen.