Please tell me how to unpack filesystem_core.squashfs (squashfs: 4)

jedkov

Neuer User
Mitglied seit
20 Mrz 2018
Beiträge
4
Punkte für Reaktionen
0
Punkte
1
I'm trying to get a DSL driver out of the Fritz-Box7490 firmware:

7z e FRITZ.Box_7490.en-de-es-it-fr-pl.113.06.53.image -r filesystem.image
7z e filesystem.image filesystem_core.squashfs
unsquashfs4-lzma-avm-be filesystem_core.squashfs -e lib / modules / dsp_vr9 /

Please tell me how to unpack filesystem_core.squashfs?

When executing the command:

unsquashfs4-lzma-avm-be filesystem_core.squashfs -e lib / modules / dsp_vr9 /

I get a message:

bash: unsquashfs4-lzma-avm-be: command not found


System:

Linux LINUX 4.9.0-4-amd64 # 1 SMP Debian 4.9.65-3 (2017-12-03) x86_64 GNU / Linux

p7zip version 16.02
squashfs-tools (1:4.3-6 and others)

Thank you.
 
You could use the version from my GitHub repository (https://github.com/PeterPawn/YourFritz/blob/binaries/bin/x86/unsquashfs4-avm-be) or you have to build your own.

Where did you get the commands above from (the use of "7z" to extract files of an AVM image on a Linux system is somewhat strange)?

And shouldn't you ask the author of this "command list", why he (obviously) didn't give you further explanations?

Usually you have to call "unsquashfs" for a FRITZ!Box image with "superuser" privileges (esp. on a Debian-based distro) - it has to set owner/group to "root" on extraction. Maybe you can do without it here, if you change the UID/GID later accordingly.
 
squashfs4.3 from here. https://sourceforge.net/projects/squashfs/files/squashfs/squashfs4.3/

commands are executed with superuser privileges.

I tried to follow this instruction.

Downloads for 5.7.5.5.1.7-5.7.2.4.1.2
Extracting the source files:

7z e FRITZ.Box_7490.113.06.50.image -r filesystem.image
7z e filesystem.image filesystem_core.squashfs
unsquashfs4-lzma-avm-be filesystem_core.squashfs -e lib/modules/dsp_vr9/

"The xDSL firmware file can be found in "squashfs-root/lib/modules/dsp_vr9/" NOTE: unsquashfs4-lzma-avm-be is part of http://freetz.org/. You have to checkout the freetz source and build the tools (make tools) to get the binary. NOTE: p7zip version 15.09 or newer is required to extract the images."

Tried to solve this issue myself and in the process of searching found this forum as a profile for the freetz project.


Sorry if violated the rules of the forum.
 
Zuletzt bearbeitet:
The "vanilla sources" for the SquashFS tools 4.3 will not work with AVM's own format ... as the cited source states, you have to use the patched version from Freetz. Because my offered (binary) version on GitHub is based on my Freetz fork and therefore on these patches too, you still may use it - or leave it.

There wasn't any violation of rules ... as far as I can see it.

But due to the new info, that the author of your "command list" wrote already, where you may find the right version of "unsquashfs" (and therefore I have to revise my first impression - he did everything right) - I 'm unable to understand, why you've asked here once more, how you may extract files from AVM's firmware.
 
simple answer: I did not understand how I can make tools.

Can I ask you how to do this?

Is it possible to install the freetz squash-tools package on Debian?

or need to install freetz-linux?

I understand that this is not an excuse and you do not have to answer me, but I've been using Linux for two years (opensuse) and debian for only two months. I mostly used package managers, I can install the package manually, I almost do not know anything about compiling packages.

thank you.
 
@jedkov:
Once again ... there's a pre-compiled binary in my GitHub repo, which may be used to unpack a SquashFS4 image (with AVM's BE encoding) on x64 (if the 32-bit compatibility layer is installed) or x86.

If you decide, not to trust foreign binaries, I can understand it - it's one of my favored subjects, that no-one should trust another one blindly in this point. But due to your own words above, you didn't ever compile any package yourself - as a consequence, you have trusted many different sources.

If you want to avoid the efforts needed to compile an own package, use the pre-compiled version - otherwise you have to compile it yourself.

But it's not necessary to install a complete cross-build toolchain - you can simply use the patches from Freetz with the vanilla sources of "squashfs4.3" to build a version for your system.

Clone the Freetz master version, use "find" to locate the package directory for "squashfs4.3" below the "make" directory and apply each patch file from the "patches" sub-directory to the unpacked vanilla sources.

Afterwards follow the instructions from the original "squashfs4.3" package to build the modified version.

And a last thought ... it's not annoying to ask questions here. But if you start a new thread with a suitable description (and now we're miles away from "how to unpack an AVM image" - the real question seems to be "how to build an own unsquashfs utility for AVM's BE format"), you'll get better answers immediately and your readers may earlier see, what your real intention or question is.
 
@PeterPawn
Thank you very much for help, unpacked using your utility.

moved the file to the / usr / bin directory and gave the permission to run as root

executed the command unsquashfs4-avm-be filesystem_core.squashfs -e lib / modules / dsp_vr9 /

Is it not critical that LZMA was not used?

Then I found the desired file only through the console (the file manager does not see the files).

@Shirocco88
To you, thanks, I will train.
 
Zuletzt bearbeitet:
Ist es irgendwie möglich die zu extrahierende Datei zugeschickt zu bekommen? Kann man sie nicht irgendwo ablegen um sie direkt zu downloaden? Bin ich die einzige die nach einer Firmwaredatei fragt nur um ein Modem vernünftig betreiben zu können? Der oben angegebene Link um sich das fertig kompilierte Extraktionstool herunterzuladen funktioniert leider nicht und 4 Monate sind nicht gerade alt... Oder dient das ganze hier nur um die Chinesen zu verwirren...?
*** Tschuldigung für mein "Blöd-frag" ***
 
OOps... Rätsellösung...
unsquashfs4-lzma-avm-be filesystem_core.squashfs -e lib / modules / dsp_vr9 /

Tschuldigung... bin wohl irrtümlich davon ausgegangen dass klar ist dass der Inhalt von "/lib/modules/dsp_vr9" gemeint ist... nun gut... wie nennt man denn die Software die die im Lantiq SoC enthaltene Modem-CPU betreibt? Da lasse ich mich gerne aufklären. Übrigens das Problem mit dem Entpacken ist über diese Website entstanden:

https://xdarklight.github.io/lantiq-xdsl-firmware-info/ (von https://wiki.openwrt.org/toh/arcadyan/vgv7510kw22 ausgehend)

und wenn man versucht die Firmware (oder wie auch immer ihr das hier nennt) Version 5.9.0.C.1.7-5.9.0.A.0.2 herunter zu laden wird man halt unweigerlich mit diesem konfrontiert:

"
Downloads for 5.9.0.C.1.7-5.9.0.A.0.2

http://ftp.avm.de/fritz.box/fritzbox.7490/firmware/deutsch/FRITZ.Box_7490.113.06.80.image

Extracting the source files:
7z e FRITZ.Box_7490.113.06.80.image -r filesystem.image
7z e filesystem.image filesystem_core.squashfs
unsquashfs4-lzma-avm-be filesystem_core.squashfs -e lib/modules/dsp_vr9/

The xDSL firmware file can be found in "squashfs-root/lib/modules/dsp_vr9/" NOTE: unsquashfs4-lzma-avm-be is part of http://freetz.org/. You have to checkout the freetz source and build the tools (make tools) to get the binary. NOTE: p7zip version 15.09 or newer is required to extract the images.
"

Aber irgendwie bin ich nicht bereit eine Gigabyte große Tool-Chain zu übersetzen nur um eine 1 MB Große Datei auszupacken... das Problem haben doch andere genauso...

(und das 7z ist wirklich sperrig, aber ich verstehe inzwischen auch dass BE in der little Endian Welt echt etwas besonderes ist)

Danke für den Link... muss man sich bei Github inzwischen anmelden um Dateien herunter zu laden? ("git clone https://github.com/PeterPawn/yf_bin/tree/master/x86" geht leider auch nicht)

LG Andrea
 
Man klont auch das Repository und nicht ein dort enthaltenes Unterverzeichnis ... oder man lädt über das HTTP-Protokoll eine einzelne Datei im "raw"-Format und speichert sie auf dem eigenen Rechner.
 
Hat sich mir leider nicht auf anhieb erschlossen aber so ist das halt wenn man verzweifelt nach der VDSL-Umstellung mit dicken Augen vor der Kiste sitzt und versucht den heiß geliebten Router wieder zum laufen zu bekommen...

Leider schmeißt der 2. ("7z e filesystem.image filesystem_core.squashfs")

7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=de_DE.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)

Processing archive: filesystem.image

Error: Can not open file as archive

weil der 7z zu alt ist und ich habe schon neuere Versionen probiert und alles nur wegen einer sch... Datei...

Danke für das "unsquash"... sorry aber mir fallen die Augen zu
 
Man kann ja ohne weiteres auch "tar" zum Entpacken nehmen (das "unsquashfs" ist ohnehin ein Linux-Binary, folglich braucht man auch ein Linux-System und da gibt es garantiert ein "tar"-Kommando) im ersten Schritt und der zweite hängt dann halt davon ab, für welche (AVM-)Box die Firmware eigentlich gedacht war.

Für mich klingt das hier eher nach der "ext2"-Falle ... denn eine Folge wie:
Code:
   7z e FRITZ.Box_7490.113.06.50.image -r filesystem.image
   7z e filesystem.image filesystem_core.squashfs
   unsquashfs4-lzma-avm-be filesystem_core.squashfs -e lib/modules/dsp_vr9/
dürfte gar nicht wirklich funktionieren. Das im ersten Schritt ausgepackte File ist in Wahrheit ein "ext2"-Image, dem ein 256 Byte langer Dummy-Header vorangestellt wurde, der eigentlich nur die "sqsh"-Signatur enthält. Das kann man also durch Mounten mit Offset 256 öffnen und daraus dann die Datei "filesystem_core.squashfs" extrahieren.

Ich weiß nicht genau, wie das "7z" so etwas realisieren sollte ... sofern es nicht genau auf diese Abweichung "geeicht" wurde - ein "Scannen" irgendeiner Datei, bis da irgendwann mal eine bekannte Struktur auftaucht, kann es kaum sein und das Format eines "ext2"-Images ist dem "7z" meines Wissens auch eher unbekannt - aber diese Einschätzung meinerseits basiert nicht tatsächlich auf einer umfassenden Recherche.

Diese Abfolge von Kommandos funktionierte aber tatsächlich für die Versionen vor 06.5x, denn da war die "filesystem.image" eben noch selbst ein SquashFS-Image und konnte damit vom 7-Zip entpackt werden.
 
Na ext2 wäre einfach wunderbar gewesen: losetup /dev/loop0 filesystem.image; mount -r /dev/loop0; und gut wäre es... aber dummerweise: file filesystem.image bringt nun mal: filesystem.image: Squashfs filesystem, big endian, version 0.0, 0 bytes, 0 inodes, blocksize: 0 bytes, created: Thu Jan 1 01:00:00 1970

Ja und ./unsquash* -l filesystem.image (das ist genau der den ich jetzt vom Git heruntergeladen und mit chmod +x versehen habe) liefert "Ungültiger Maschinenbefehl" zurück und so komme ich vom Hölzchen zum Stöckchen und wenn ich alleine die Zeit zusammen rechne hier die Beiträge einzutippen... das Image ist vom Fritz-Server schnell heruntergezogen, der Link hat sich zwar geändert aber mit ein bisschen ftp-Kenntnis von http://ftp.avm.de/ angefangen landet man schnell bei http://ftp.avm.de/fritzbox/fritzbox-7490/deutschland/fritz.os/FRITZ.Box_7490.113.06.93.image und wenn jemand das unsquashfs4-avm-be sowieso installiert hat - mit der richtigen Run-Time Umgebung - dann ist die Firmware-Datei schneller extrahiert und uuencoded auf Pastbin hochgeladen als ich hier meinen letzten Beitrag geschrieben habe. Das ist genau der Grund warum ich mich hier etwas wundere. Und ich würde gerne meine Zeit dafür verwenden mich um mein Router-Problem zu kümmern statt irgendwelche Tools zu installieren die nur mit gut Glück funktionieren weil die Run-Time-Umgebung nicht stimmt oder vielleicht läuft es ja in irgendeiner Wine-Umgebung... keine Ahnung... ich kann es alles probieren in der Zwischenzeit ist der Kühlschrank leer und der Netzzugang läuft immer noch nicht sauber... und wenn das Tool dann sogar läuft, ich habe aber keine Fritz-Box... was soll ich dann damit? Wegen einer Datei? Habe dann eine Run-Time-Umgebung... vielleicht in mühsamer Kleinarbeit erstellt die ich danach sofort wieder löschen kann. Kann mir auch nicht vorstellen dass diese Datei das Problem beseitigt, sie wird nur das Modem etwas schneller machen, oder täusche ich mich da mit meiner Einschätzung? Da habt ihr bestimmt mehr Ahnung als ich... oh mein Sekt ist kalt :-D
 
Na ext2 wäre einfach wunderbar gewesen:
Tja ... wie das Leben so spielt. Vermutlich hatte ich nur Langeweile, als ich vom Dummy-Header mit der "sqsh"-Signatur und dessen Länge von 256 Byte geschrieben habe ... oder Du bist schon wieder übermüdet oder die Brille ist beschlagen oder irgendetwas anderes kam in dem Moment dazwischen, als Du diesen Satz eigentlich lesen wolltest oder es Dir zumindest ganz doll fest vorgenommen hattest (großes Pfadfinderinnen-Ehrenwort, oder?).

Es mag ja auch sein, daß Du selbst Lizenzbestimmungen entweder nicht so richtig ernst nimmst oder es einfach nicht für nötig erachtest, Dich mit denen von AVM vertraut zu machen ... das ist hier (zumindest bei mir) definitiv anders und ich verstehe gar nicht so richtig, warum Du zu diesem Thema "Keiner will mir helfen und ich brauche doch nur diese eine Datei!" hier herumstänkerst und nicht auf der Seite (sprich: bei GitHub), von der Du hier gelandet bist - allerdings steht auch dort tatsächlich etwas zum Thema "Lizenz" und dem Recht, diese Dateien (bzw. genauer Teile davon, weil die Weitergabe als Image tatsächlich unkritisch ist) selbst "zu verbreiten". Wenn Du dazu nähere Informationen suchst, empfehle ich die Beschäftigung mit dem UrhG in D (und das ist kein Buchstabendreher und steht damit mit der, von Dir zu investierenden, eigenen Zeit auch in keinem unmittelbaren Zusammenhang).

Auch Deine eigenen Probleme, das "unsquashfs"-Binary korrekt zu laden (denn darauf läuft es wahrscheinlich hinaus ... vielleicht machst Du ja einfach mal einen "file"-Aufruf für das, was Du für das korrekt gespeicherte x86-Binary hältst - ich wette mal eine alte 7050, daß das eher eine HTML-Struktur o.ä. ist), sind einzig und allein Dein Problem und die Schuld für die eigenen Fehler immer erst einmal bei anderen zu suchen, ist vermutlich auch nicht das allerklügste Vorgehen, weil es die Antworten, die Du hier künftig erhältst, mit einiger Wahrscheinlichkeit nicht hilfreicher und erst recht nicht freundlicher machen wird.
 
@Andrea_L
Ich habe mal die FW entpackt, und kann sie zusenden, falls gewünscht. Nur verstehe ich irgendwie nicht, was Du damit in Bezug auf ein Modem anfangen kannst?
LG
 

Anhänge

  • Screen Shot 07-25-18 at 08.22 PM.PNG
    Screen Shot 07-25-18 at 08.22 PM.PNG
    23.1 KB · Aufrufe: 34
Nur verstehe ich irgendwie nicht, was Du damit in Bezug auf ein Modem anfangen kannst?
Da möchte vielleicht jemand den (V)DSL-Treiber von Lantiq für den VRX288 + VRX208 aus der Firmware der 7490 extrahieren um diesen Treiber dann auf einem anderen Gerät, welches ebenfalls mit diesem DSL-Chipsatz von Lantiq ausgestattet ist, verwenden zu können. Dieses andere Gerät läuft vermutlich mit einer OpenWRT oder LEDE Firmware. Die Lizenzbedingen verbieten es aber, dass diese OpenSource-Projekte DSL-Treiber von Intel oder Lantiq zur Verfügung stellen können. Daher muss man sich diese aus der Firmware von Geräten, die den gleichen Chipsatz verwenden (und auch den Linux-Kernel in einer geeigneten Version), selbst extrahieren.

Bin ich die einzige die nach einer Firmwaredatei fragt nur um ein Modem vernünftig betreiben zu können?
Es könnte vielleicht auch sein, dass andere sich beim extrahieren des DSL-Treiber aus einem Firmware-Image von AVM nicht ganz unbeholfen anstellen.
 
@PeterPawn
Hallo Peter,
ja Du hast da wohl recht, in letzter Zeit ist bei mir so einiges schief gegangen und ich hatte auch dank O2 über eine Woche keinen vernünftigen Netzzugang mehr und mein Smartphon hat fast zeitgleich den Geist aufgegeben, das war die Katastrophe für mich da ich damit alle meine Arzttermine Plane. Zum Glück liegen mein Kalender und die Kontakte inzwischen auf meinem Server. Dein Hinweis mit dem 256-Byte-Header war goldrichtig und nach losetup -o 256 /dev/loop0 filesystem.image konnte ich das Image auch mounten und das eigentliche, darin enthaltene Squash-FS herauskopieren. Mit dem Tool von AVM ließ sich dann die Firmware extrahieren. Übrigens werden die Patches schon bei der Erstellung der Tools mit eingepflegt und müssen nicht mehr mit der Hand eingepflegt werden.

Auch wenn es manchmal mit mir schwierig ist sage ich: Allerherzlichsten Dank an alle Beteiligten hier und besonders an Micha und Peter, mein Problem ist jetzt gelöst.

Herzliche Grüße
Andrea
 
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.