Die Firmware entpacken

Die Firmware ist in mehrere Stufen gepackt und verschachtelt. Um Ordnung zu halten, erstellen wir uns ersteinmal eine Verzeichnisstruchtur und werden dann dieses Paket downloaden und Stück für Stück entpacken.

1. Unterverzeichnisse vorbereiten

Nach dem wir unser Linux, wie im Kapitel 1 beschrieben, am laufen haben, wechseln wir in unser Homeverzeichnis mit

cd /home/[mein User]/

Um ein wenig Ordnung zu bekommen legen wir weitere Unterverzeichnise an.

mkdir ./Samsung-SMT-Depackt-FW 'wird unser neues Stammverzeichnis'

Wir wechseln nun in unser neues Stammverzeichnis.

cd ./Samsung-SMT-Depackt-FW

und es geht weiter mit

mkdir ./temp-work 'Unser Arbeitsverzechnis zur Ablage der Paketdateien usw.'

mkdir ./depacked-2-default_db.tgz 'Wird später benötigt siehe unten'

mkdir ./depacked-3-rc.conf.gz 'Wird später benötigt siehe unten'

2. Die Firmware downloaden

Dazu wechseln wir in unser zuvor angelegtes temp-work Verzeichnis

cd ./temp-work

Nun starten wir den Download unserer Firmware. Im Beispiel verwende ich die Firmware unter http://ftp.freenet.de/pub/hardware/Firmware/Samsung/SMT-G3210/SMT-G3210_V3.02_040309.tar

wget –output-document=firmware.tar [Hier den Link anhängen]

danach liegt die Firmware als firmware.tar in unserem temp-work Verzeichnis.

3. Stufe 1 - firmware.tar entpacken

mit tar xvf ./firmware.tar wird die firmware.tar entpackt. Danach finden wir die Dataien

firmware.img 'Software für das Grundsysten - lassen wir unverändert !'

rootfs.img 'Das Root-Filesysten werden wir verändern !'

u-boot.img 'Der Bootloader kann unsere Box retten - lassen wir unverändert !'

uImage 'Software für das Grundsysten - lassen wir unverändert !'

versionInfo.status 'Muss später angepasst werden, damit die neue Firmware von der Box akzeptiert wird.

in unserem temp-work Verzeichnis.

4. Stufe 2 - rootfs.img strippen

Das rootfs.img enthält einen Hader, der es dem u-boot auf der Box ermöglich es zu verarbeiten. Diesen Hader müssen wir nun entfernen. Das machen wir mit

dd if=./rootfs.img of=./stript-rootfs.img bs=64 skip=1

unser Haderfreies Image finden wir nun als stript-rootfs.img vor. Um später nicht durcheinander zu kommen, löschen wir das nicht mehr benötigte, alte rootfs.img mit

rm -f ./rootfs.img

5. Stufe 3 - stript-rootfs.img entpacken

Dazu wechseln wir ersteinmal zurück in unser Stammverzeichnis mit

cd ..

Das stript-rootfs.img enthält ein Filesystem das mit einer speziellen Version (Siehe Kapitel 1) von squashfs entpackt werden kann. Dazu führen wir

unsquashfs-lzma -dest depacked-1-FileSystem ./temp-work/stript-rootfs.img

aus. In unserem Stammverzeichnis befindet sich nun ein Ordner depacked-1-FileSystem in dem sich im wesentlichen die Struktur des Linux-Systems unserer Samsung SMT befindet. Um später nicht durcheinander zu kommen, löschen wir das nicht mehr benötigte stript-rootfs.img mit

rm -f ./temp-work/stript-rootfs.img

6. Stufe 4a - default_db.tgz entpacken

In unserem entpakten Filesystem befinden sich noch zwei für Mods wichtige, gepakte Dataien. Eine davon ist die default_db.tgz in depacked-1-FileSystem/usr/default_db/ diese wollen wir nun in unserem, zu beginn angelegtem Ordner depacked-2-default_db.tgz entpacken.

tar xzvf ./depacked-1-FileSystem/usr/default_db/default_db.tgz -C ./depacked-2-default_db.tgz

Um auch hier später nicht durcheinander zu kommen, löschen die orginal default_db.tgz mit

rm -f ./depacked-1-FileSystem/usr/default_db/default_db.tgz

7. Stufe 4b - rc.conf.gz entpacken

zu guter Letzt entpacken wir noch die rc.conf.gz aus depacked-1-FileSystem/etc/ nach depacked-3-rc.conf.gz/. Dazu verschieben wir zu erst die rc.conf.gz, das erspart uns später auch das Löschen.

mv -T ./depacked-1-FileSystem/etc/rc.conf.gz ./depacked-3-rc.conf.gz/rc.conf.gz

danach entpacken wir die Datai. Das Entpackertool löscht dabei das Orginal.

gunzip -v ./depacked-3-rc.conf.gz/rc.conf.gz

Das wäre nun geschaft und das System kann nun gemodet werden.

 
router/firmware-mods/smt-g3000/howto/entpacken.txt · Zuletzt geändert: 2010/04/03 01:13 von Prediger
 
Impressum
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki