dumpsquashfs-lzma

danisahne

Aktives Mitglied
Mitglied seit
30 Jul 2005
Beiträge
1,493
Punkte für Reaktionen
0
Punkte
0
Hallo IP-Phonler,

ich hab für alle, die auch gerne das Dateisytem z.B. der neuen Beta Firmware für die 7050 entpacken wollen, ohne es mit einem modifizierten Kernel mounten zu müssen, eine leicht modifizierte Version des dumpsquashfs Skripts von Enrik erstellt. Der Patch dazu ist im Anhang. Es benötigt das Perl Modul Compress::unLZMA.

Noch ein paar Infos zu dem Dateisystem der Beta:

Es ist ein "contiguous squashfs", d.h. das Dateisystem fängt im kernel.image an und setzt sich im filesystem.image fort.
  1. Checksummen von kernel.image und filesystem.image entfernen
  2. Anfang des squashfs von kernel.image extrahieren (z.B. mit dem find-squashfs Tool)
  3. cat <Extrahierter-Anfang-Datei> filesystem.image > filesystem.sqf
  4. mkdir root-dir
  5. ./dumpsquashfs-lzma -C root-dir -x -f filesystem.sqf

Mfg,
danisahne
 

Anhänge

  • dumpsquashfs-lzma.diff.bz2
    1.1 KB · Aufrufe: 163
Das hätte uns doch eigentlich bei der größe des Filesystems auffallen müssen? :gruebel:
Wie bist du denn drauf gekommen?

Ich hatte das mit dem unLZMA auch schon mal versucht und bin dank meiner tollen Perl-Kentnisse kläglich gescheitert.
Kannst du mir sagen, wie ich dem squashfs-superblock ansehe mit welchem Verfahren er komprimiert ist?
Welche lzma-Version hat denn AVM verwendet? 406 oder 427?
Der dsmod nutzt 406, das ist ohne Header, 427 ist mit Header. Hat mir spblinux erklärt. ;-)

MfG Oliver

:saufen2:
 
olistudent schrieb:
Das hätte uns doch eigentlich bei der größe des Filesystems auffallen müssen? :gruebel:
Wie bist du denn drauf gekommen?
Ich habs einfach ausprobiert ;) Wollte auch endlich mal ein Tool, um mit dem Mod erzeugte Dateisysteme wieder zu entpacken.
olistudent schrieb:
Ich hatte das mit dem unLZMA auch schon mal versucht und bin dank meiner tollen Perl-Kentnisse kläglich gescheitert.
An sich hab ich kaum was geändert (der Patch ist ja auch nicht groß). Hab nur die uncompress Aufrufe durch die von unLZMA ersetzt.
olistudent schrieb:
Kannst du mir sagen, wie ich dem squashfs-superblock ansehe mit welchem Verfahren er komprimiert ist?
Ich hab nichts gesehen, was im Squashfs auf den Algorithmus zurückschließen läßt. Der Superblock ist doch auch garnicht komprimiert, oder?
olistudent schrieb:
Welche lzma-Version hat denn AVM verwendet? 406 oder 427?
Der dsmod nutzt 406, das ist ohne Header, 427 ist mit Header. Hat mir spblinux erklärt. ;-)
Im Squashfs ist kein LZMA Header. Mit dumpsquashfs-lzma lassen sich sowohl mit mksquashfs-lzma erzeugt Images entpacken, als auch die von AVM. unLZMA erwartet aber einen Header, darum schieb ich den bei jedem Compress::unLZMA::uncompress() Aufruf vorne weg.

Mfg,
danisahne
 
Kleiner Nachtrag:

AVM benutzt wie (wie auch mksquashfs-lzma aus dem ds-mod durch einen Patch) als Minor Version 76. Damit erkennt der Kernel, ob das Image gezipped oder mit lzma komprimiert ist.

Der Patch oben ist nicht mehr aktuell, da Enrik in die Version 1.0 seines dumpsquashfs Skriptes auch die lzma-Variante eingebaut hat. Der ds-mod benutzt nun unsquashfs bzw unsquashfs-lzma (lzma-Variante von unsquashfs) aus dem squashfs-CVS.

Mfg,
danisahne
 
Hallo danisahne,

ich benutze ds-mod 0.26 auf einer FBF 5050 und es gibt immer wieder Probleme mit Abstürzen/ungewollten Neustarts der Box, speziell wenn ich länger auf der Weboberfläche der Box browse (nicht unbedingt auf dem ds-mod Teil). Ich benutze hauptsächlich den Callmonitor, die Abstürze stehen jedoch nicht offensichtlich in Verbindung mit diesem.

Was ich im syslog immer wieder sehe, sind Fehler wie diese:

Jul 25 10:03:38 fritz user.err kernel: SQUASHFS error: lzma returned unexpected result 0x1
Jul 25 10:03:38 fritz user.err kernel: SQUASHFS error: Unable to read fragment cache block [3c414]
Jul 25 10:03:38 fritz user.err kernel: SQUASHFS error: Unable to read page, block 3c414, size 3b14

Jedoch bedeuten diese nicht immer gleich einen Absturz, bin also nicht sicher ob sie damit zusammenhängen.

Status der FBF 5050:

Hauptspeicher
Gesamt: 14636 KB
Belegt: 10832 KB (ohne Cache)

Flash
tffs ist zu 47% belegt.

Nun zu meinen Fragen:

1. Würde dieser Patch das Problem evtl. beheben oder gibt es eine andere Möglichkeit?

2. Sind Dir Probleme speziell mit der FBF 5050 bekannt (es gibt noch einen weiteren Thread speziell zur ds-mod und FBF 5050 Problematik) ?

Danke,
Tin
 
Gut ist das sicherlich nicht, ob das Mangel an freiem Speicher oder ein fehlerhaftes Dateisystem ist kann ich dir nicht sagen, aber sicher ist, dass der Patch in dem Thread nichts mit deinem Problem zu tun hat. Er ist für ein Tool zum Entpacken des Dateisystems außerhalb der Fritzbox.

EDIT: Das "unexpected result 0x1" könnte der Fehler LZMA_RESULT_DATA_ERROR sein, was wiederum auf ein fehlerhaftes Dateisystem hindeutet.

Mfg,
danisahne
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.