Fritzbox SL Firmware selbst per Script Modifizieren

stefbeer

Neuer User
Mitglied seit
28 Jun 2007
Beiträge
79
Punkte für Reaktionen
0
Punkte
6
Hallo Leute!

Ich bin hier eigentlich im falsche Forum, denn bei der Fritzbox um die es hier geht ist ohne "Fon". Aber ich habe kein passenderes Forum gefunden. ;)

Nun zu meinem Problem:
Ich will bei einer Fritzbox SL die Firmware selbst modifizieren. Dazu habe ich mir ein Shell-Script geschrieben (ich habe es angehängt).
Das Script entpackt das Tar-Archiv (also die Firmware-Datei), bearbeitet das kernel.image und filesystem.image damit ich das SquashFS entpacken kann, entpackt dieses und nachdem man es verändert hat, packt die Firmware dann wieder vollständig zusammen.

Um zu sehen ob das Script Fehlerfrei funktioniert, habe ich es einmal durchlaufen lassen ohne Änderungen am Filesystem zu machen.
Aber anscheinend funktioniert es nicht richtig..
Die Original-Firmware (fritz.box_sl.10.03.94.image) hat 2,2 MB und meine Modifizierte (ohne Änderungen) nur 2,1 MB.
Ich habe auch schon mal versucht eine von mir erstellte (unveränderte) Firmware zu Flashen, aber dies wird aufgrund eines "nicht näher spezifizierten Fehlers" abgebrochen... :(

Ich habe das Script bei mir im Ordner ds-0.2.9 liegen, indem vorher make tools ausgeführt wurde.

Weiß von euch jemand wo der Fehler ist?
Vielen Dank bereits im Voraus! :)

Tschüss,
stefbeer
 

Anhänge

Hi.
Es gibt hier irgendwo schon ein Thread und ein Skript, das die SL Firmware modifizieren kann.

Zu deinem Problem: Verwendest du denselben Kompressionsalgorithmus wie das original Squashfs?

MfG Oliver
 
Hallo olistudent!

Vielen Dank für deine Antwort! :)

Du meinst vermutlich diesen Thread: http://www.ip-phone-forum.de/showthread.php?t=134267
Ich bin ja dieser Beschreibung gefolgt und habe danach auch mein Script geschrieben. Allerdings klappt es eben (bei mir zumindest) nicht..

Kompressionsalgorithmus? Muss man den bei mksquashfs noch zusätzlich mit angeben? Wenn ja, ist hier wohl der Fehler..
In meinem Script wird er nur mit folgenden Parametern gestartet:
Code:
tools/mksquashfs firmware_mod/unsquash/* firmware_mod/my_filesystem.image -noappend -all-root -b 65536
Den Befehl habe ich von hier.

Ich habe mir auch schon mal mksquashfs --help angeschaut, allerdings kann ich damit leider nichts anfangen.. Bzw. ich habe nichts gefunden was bei meinem Programmaufruf noch fehlen könnte.

Kannst du mir sagen was da bei meinen Startparametern noch fehlt?

Vielen Dank nochmals!

Tschüss,
stefbeer
 
Hi.
Ich müsste dein Skript ausprobieren um eine Aussage machen zu können. Aber eigentlich kanns am Algo doch nicht liegen. Wenn das original nämlich mit LZMA komprimiert wäre, dann müsste deine Version größer sein als das original.

Bei welcher Datei hast du denn den größen Unterschied?

MfG Oliver

edit: Habs gefunden. http://www.ip-phone-forum.de/showthread.php?t=140527
 
Zuletzt bearbeitet:
Hallo olistudent!

Die Größenunterschiede sind nur bei der SquashFS-Datei. Der Rest (kernel.raw) bleibt ja unverändert.

Hier mal genaue Zahlen:
Code:
-rw-r--r--  1 stefbeer stefbeer 1392640 2008-06-28 19:13 kernelsquashfs.raw
-rwx------  1 stefbeer stefbeer 1331200 2008-06-28 19:14 my_filesystem.image

kernelsquashfs.raw ist das originale Filesystem und my_filesystem.image ist mein (unverändertes) Fliesystem.

Und weil hier schon größenunterschiede sind, ist das komplette Firmware-Image am Ende auch kleiner.

Mache ich evtl. beim Entpacken schon einen Fehler?

Ich habe gerade getestet, wenn ich das von mir erstellte new_filesystem.image mit dem kernelsquashfs.raw austausche, wird das Firmware-Image am Ende genau so groß.

Vielen Dank nochmals! :)

Tschüss,
Stefan
 
Schau dir mal das Entpacken an. Hast du vielleicht einen größeren Blocksize gewählt?

MfG Oliver
 
Hallo olistudent!

Ich denke du meinst Packen weil beim Entpacken kann man ja keine Blocksize angeben. ;)
Ich habe mir gerade mal den sl-mod angesehen und dort in einer Datei gesehen, dass für die Fritzbox SL die Blocksize 16384 und nicht 65536 (wie ich eingestellt hatte) sein muss.

Jetzt ist die Datei nach dem ent- und wieder zusammenpacken zwar gleich groß, die Box nimmt die Firmware aber immer noch nicht an...
Immer noch wegen einem "nicht näher spezifizierten Fehler".

Hast du noch eine Idee?
Vielen Dank nochmals für deine Hilfe! :)

Tschüss,
Stefan

---

EDIT (22:12 Ühr): Ich habe es jetzt doch geschafft. Ich habe einfach die Tools vom sl-mod genommen (inklusive dem darin liegendem tar-programm) und mein Script ein bisschen umgeändert. Jetzt klappt es einwandrei :) Die (unveränderte) Firmware war zwar um ca. 15 Byte größer, sie zu Flashen ging aber trotzdem.

@olistudent: Vielen, vielen Dank für deine Hilfe! :) Du hast den entscheidenden Tipp bzw. Link gegeben. Ich habe zwar die Boardsuche und auch Google bemühlt, aber die Seite mit dem sl-mod trotzdem irgendwie nicht gefunden gehabt..
 
Zuletzt bearbeitet:
Ich hab auch etwas länger gebraucht. Aber ich wußte ja, dass es da was gibt...

MfG Oliver
 
Kostenlos!

Statistik des Forums

Themen
248,922
Beiträge
2,305,230
Mitglieder
378,646
Neuestes Mitglied
atrora