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.
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'
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.
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.
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
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
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
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.