- 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:
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
Firmware mit hidden root
Erkennt man an einer filesystem.image mit Dateigröße == 0
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
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
Code:
cd ds-x.y.z/
make tools
Firmware ohne hidden root
Erkennt man an einer filesystem.image mit Dateigröße > 0
-
Code:
mkdir -p build/firmware mkdir -p build/root
- Firmware entpacken:
Code:
tar -C build/firmware/ -xf fritz.box.what.ever.image
- Dateisystem entpacken:
Code:
./dumpsquashfs -C build/root/ -xf build/firmware/var/tmp/filesystem.image
- Jetzt kann man das Dateisystem in ./build/root/ modifzieren (nur nicht ./build/root/var/, dazu weiter unten)
... - Dateisystem Image erstellen:
Code:
( cd build/root/ && ../../mksquashfs * ../firmware/var/tmp/filesystem.image -noappend -all-root -b 65536 )
- Checksumme hinzufügen:
Code:
./tichksum build/firmware/var/tmp/filesystem.image
- Firmware wieder zusammenpacken:
Code:
tar -C build/firmware/ -cf - --owner=0 --group=0 --mode=0755 --format=oldgnu . > neue-firmware.image
- 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
-
Code:
mkdir -p build/firmware mkdir -p build/root
- Firmware entpacken:
Code:
tar -C build/firmware/ -xf fritz.box.what.ever.image
- Hidden root vom Kernel trennen:
Code:
( cd build/ && ../find-squashfs firmware/var/tmp/kernel.image )
- Hidden root entpacken:
Code:
./dumpsquashfs -C build/root/ -xf build/kernelsquashfs.raw
- Jetzt kann man das Dateisystem in ./build/root/ modifzieren (nur nicht ./build/root/var/, dazu weiter unten)
... - Hidden root erstellen:
Code:
( cd build/root/ && ../../mksquashfs * ../kernelsquashfs.raw -noappend -all-root -b 65536 )
- Kernel Image erstellen:
Code:
cat build/kernel.raw build/kernelsquashfs.raw > build/firmware/var/tmp/kernel.image
- Checksumme hinzufügen:
Code:
./tichksum build/firmware/var/tmp/kernel.image
- Firmware wieder zusammenpacken:
Code:
tar -C build/firmware/ -cf - --owner=0 --group=0 --mode=0755 --format=oldgnu . > neue-firmware.image
- Wichtig: Größe des Kernel Image überprüfen!
Bei 4MB Flash maximal:- kernel.image: 3866624 (+8 Checksum) Byte
- 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: