Die Firmware packen

Nachdem wir unser Root-Filesystem der Firmware angepasst haben, muss es nun wieder gepackt werden. Ich gehe dabei davon aus, dass die gleiche Strucktur, die nach dem zuvor beschriebenen Entpacken entstanden war, weiter vorhanden ist. Das Packen soll so erfolgen, das unsere gemodete Strucktur komplett zur weiteren Bearbeitung erhalten bleibt.

1. rc.conf.gz erstellen

Wir befinden uns in unserem Stammverzeichnis Samsung-SMT-Depackt-FW. Zuerst erstellen wir eine Kopie. unserer rc.conf mit

cp ./depacked-3-rc.conf.gz/rc.conf ./temp-work/rc.conf

Die Kopie erfolgt in temp-work, da es den Namen rc.conf im Ziel schon gibt. Danach Packen wir sie mit

gzip -v ./temp-work/rc.conf

und verschieben sie mit

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

an ihr Ziel

2. default_db.tgz erstellen

Einfach mit

tar czvf "./depacked-1-FileSystem/usr/default_db/default_db.tgz" -C "./depacked-2-default_db.tgz" configs

erstellen.

3. Neuse Datum und neuen Firmwarenamen eintragen

Dieser Schritt ist notwendig, damit die Box später die Firmware akzeptiert. Später erfolgt noch ein weiterer Schritt. Die Modifikation kann z.B. unter WinSCP über „Bearbeiten“ im Kontexmenü erfolgen. In den Dataien

depacked-1-FileSystem/etc/versionInfo.status

und

temp-work/versionInfo.status

müssen jeweils Datum und der Datunsanteil des Firmwarenamens angepasst werden. Die Zeile die das Datum enthält beginnt mit DATE=. Das Format ist (JJ für das Jahr , MM für den Monat TT für den Tag alles zweistellig)

DATE=JJ.MM.TT

Die Zeile die dem Firmwarenamen enthält beginnt mit SYS_FILENAME=. Format wie bei DATE nur ohne Punkte und in umgekehrter Folge.

SYS_FILENAME=SMT-G3210_V3.02_TTMMJJ.tar

4. Filesystem erstellen

Nun erstellen wir wieder das gepackte Filesystem in stript-rootfs.img mit

mksquashfs-lzma ./depacked-1-FileSystem ./temp-work/stript-rootfs.img -be -noappend

und löschen wieder default_db.tgz und rc.conf.gz mit

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

rm -f ./depacked-1-FileSystem/etc/rc.conf.gz

Wir legen dabei noch gleich ein Zielverzeichnis für unsere neue Firmware an.

mkdir ./neue-Firmware

5. u-boot Hader hinzufügen

Zuerst wechsel wir wieder in unser temp-work Verzeichnis.

cd ./temp-work

dann fügen wir den für u-boot nötigen Hader wieder zu

mkimage -T filesystem -n "Amazon rootfs" -C none -d stript-rootfs.img rootfs.img

und löschen wieder das nicht mehr benötigte stript-rootfs.img mit

rm -f ./stript-rootfs.img

6. Neue Checksumme eintragen

Dies ist der zweite Schritt, damit die Box später die Firmware akzeptiert. Die Modifikation kann ebenfalls z.B. unter WinSCP über „Bearbeiten“ im Kontexmenü erfolgen. In der Datai

temp-work/versionInfo.status

muss in der Zeile die mit ROOTFS_CHECKSUM= beginnt die neue 5-Stellige Checksumme unseres eben erstellten rootfs.img eingetragen werden. Die Checksumme ist die erste Zifferngruppe die man erhällt, wenn man

sum rootfs.img

aufruft.

7. Firmwarepaket packen

Zuletzt erstellen wir wieder das tar-Archiv, mit unserem zuvor in der versionInfo.status in der Zeile SYS_FILENAME= bekanntgegebenen Firmwarenamen. Im Beispiel SMT-G3210_V3.02_TTMMJJ.tar mit

tar cfv ../neue-Firmware/SMT-G3210_V3.02_TTMMJJ.tar u-boot.img firmware.img rootfs.img uImage versionInfo.status

um bei weiteren Durchgängen Probleme zu vermeiden löschen wir noch unser rootfs.img mit

rm -f rootfs.img

Unsere Firmware liegt nun in unserem Verzeichnis neue-Firmware und kann z.B. von WinSCP aus per Drag-and-drop auf das Windowsdesktop gezogen werden. Die Einspielung erfolgt dann über das gewöhnliche Webinterface des Samsung SMT.

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