Step by Step - Dateien dauerhaft ins Dateisystem modden

danisahne

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

weil danach immer wieder gefragt wurde, hab ich mich kurz hingesetzt und eine kleine Anleitung geschrieben. Alles ohne Gewähr!

Die Anleitung ist nicht auf die neuen Beta Firmwares anwendbar! Ich hab die Schritte bei mir mal alle eingetippt, aber nicht das gemoddete Image getestet. Wie immer auch hier ein Recover Tool bereithalten.

Erst einmal brauchst du ein paar Tools:
  • dumpsquashfs (von Enrik)
  • mksquashfs (nicht mksquashfs-lzma!)
  • tichksum
  • eventuell: find-squashfs
Die Tools sind alle im danisahne-mod. Lade dir diesen hier runter und führe einfach
Code:
cd ds-x.y.z/
make tools
aus, danach sind die Tools unter ./tools/ im ds-mod Verzeichnis zu finden. Nun bist du bereit zum modden.


Firmware ohne hidden root

Erkennt man an einer filesystem.image mit Dateigröße > 0

  1. Code:
    mkdir -p build/firmware
    mkdir -p build/root
  2. Firmware entpacken:
    Code:
    tar -C build/firmware/ -xf fritz.box.what.ever.image
  3. Dateisystem entpacken:
    Code:
    ./dumpsquashfs -C build/root/ -xf build/firmware/var/tmp/filesystem.image
  4. Jetzt kann man das Dateisystem in ./build/root/ modifzieren (nur nicht ./build/root/var/, dazu weiter unten)
    ...
  5. Dateisystem Image erstellen:
    Code:
    ( cd build/root/ && ../../mksquashfs * ../firmware/var/tmp/filesystem.image -noappend -all-root -b 65536 )
  6. Checksumme hinzufügen:
    Code:
    ./tichksum build/firmware/var/tmp/filesystem.image
  7. Firmware wieder zusammenpacken:
    Code:
    tar -C build/firmware/ -cf - --owner=0 --group=0 --mode=0755 --format=oldgnu . > neue-firmware.image
  8. Wichtig: Größe des Dateisystem und des Kernel Image überprüfen!
    Bei 4MB Flash maximal:
    • kernel.image: 720896 (+8 Checksum) Byte
    • filesystem.image: 3145728 (+8 Checksum) Byte


Firmware mit hidden root

Erkennt man an einer filesystem.image mit Dateigröße == 0

  1. Code:
    mkdir -p build/firmware
    mkdir -p build/root
  2. Firmware entpacken:
    Code:
    tar -C build/firmware/ -xf fritz.box.what.ever.image
  3. Hidden root vom Kernel trennen:
    Code:
    ( cd build/ && ../find-squashfs firmware/var/tmp/kernel.image )
  4. Hidden root entpacken:
    Code:
    ./dumpsquashfs -C build/root/ -xf build/kernelsquashfs.raw
  5. Jetzt kann man das Dateisystem in ./build/root/ modifzieren (nur nicht ./build/root/var/, dazu weiter unten)
    ...
  6. Hidden root erstellen:
    Code:
    ( cd build/root/ && ../../mksquashfs * ../kernelsquashfs.raw -noappend -all-root -b 65536 )
  7. Kernel Image erstellen:
    Code:
    cat build/kernel.raw build/kernelsquashfs.raw > build/firmware/var/tmp/kernel.image
  8. Checksumme hinzufügen:
    Code:
    ./tichksum build/firmware/var/tmp/kernel.image
  9. Firmware wieder zusammenpacken:
    Code:
    tar -C build/firmware/ -cf - --owner=0 --group=0 --mode=0755 --format=oldgnu . > neue-firmware.image
  10. Wichtig: Größe des Kernel Image überprüfen!
    Bei 4MB Flash maximal:
    • kernel.image: 3866624 (+8 Checksum) Byte
    Bei 8MB Flash maximal:
    • kernel.image: 7798784 (+8 Checksum) Byte


Dateien unter /var/ auf der Box

Unter /var/ ist eine Ramdisk gemounted, welche beim Booten mit dem Archiv var.tar gefüllt wird. Diese Datei befindet sich bei den meisten Boxen unter /var.tar direkt in der Wurzel des Dateisystems. Beim Packen der var.tar die Parameter analog zum Packen der Firmware verwenden.

Viel Spaß,
danisahne
 
Zuletzt bearbeitet:
Dateisystem der Fritz!Box SL (Contiguous SquashFS) entpacken

Aus gegebenem Anlaß habe ich dort mal zusätzlich erklärt, wie das Ganze bei Contiguous SquashFS läuft.

P.S.: Ist doch schön, daß so ein alter Thread noch weiter lebt und heute jemand diesbezüglich eine Frage gestelllt hat. Das zeigt, wieviel Daniels großartige Beiträge auch heute noch wert sind (schleim - aber verdient!).
 
Entpacken der Fritz!Box Firmware

Hallo!

Ich möchte meine Fb 7170 Firmware 29.04.59 entpacken, um selbst (kein Freetz/ds-mod) Modifikationen vorzunehmen.
Leider funktioniert obige bei mir nicht.
Fritz!Box war danach futsch, auch wenn ich keine Änderungen mach sondern nur entpack und dann wieder packe :(
Da hat nur noch ein Recover geholfen.

Wenn jemand Lust und Zeit hätte mir zu helfen wär das echt toll ;)
Meine FW hat Hidden root! :D

thx
hägga
 
Aha, Du hast doch nach Deiner PN noch einen passenden Thread für Deine Frage gefunden. Parallel dazu habe ich diese bereits in einem kleinen How-To beantwortet.
 
FW entpacken

Jo hab ich :D

aber ich habs dann noch selbst rausgefunden wies geht :D genau so wie du´s beschrieben hast hab ichs gemacht :D
.....uuuund es geeeeht!! :D

trotzdem thx
hägga
 
Das hättest Du aber ruhig früher sagen dürfen, wenn Du schon per PN fragst, im Forum crosspostest, ich die Anleitung schreibe und sie noch jemand ins Freetz-Wiki einbaut. Das hat mehreren Leuten Arbeit gemacht, und Du sagst dann ein paar Tage später, daß das Problem schon gelöst war. Nicht die feine englische Art. :noidea:
 
Fw

sry werd ich nächstes mal sofort sagen


hägga
 
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.