Anleitung zum Erstellen eines eigenen Updates mit geändertem root Filesystem für die Samsung Router.
Voraussetzung: Linux und das Wissen, damit umzugehen.
Programme:
mksquashfs-lzma und unsquashfs-lzma stammen von der hier erwähnten Quelle. Man nehme die Programme für squashfs Version 2 und patcht die magic-Number.
mkimage stammt von u-boot-1.0.0.tar.bz2.
Hinweise:
Um mksquashfs für den Router zu nutzen, muss noch die Magic-Number gepatched werden:
in der Datei squashfs_fs.h SQUASHFS_MAGIC und SQUASHFS_MAGIC_SWAP in die von Samsung genutzte Magic-Number ändern:
// Standard (original):
#define SQUASHFS_MAGIC 0x73717368
#define SQUASHFS_MAGIC_SWAP 0x68737173
// Samsung:
#define SQUASHFS_MAGIC 0x73716C7A
#define SQUASHFS_MAGIC_SWAP 0x7A6C7173
Bei dem U-Boot Packet reicht es, mkimage von Hand zu compilieren. Hinweise dazu finden sich weiter hinten in diesem Thread.
--
Rechtliches: Dieser Beitrag steht unter der Creative Commons Namensnennung 3.0 DE Lizenz
Voraussetzung: Linux und das Wissen, damit umzugehen.
- Offizielle Firmware (V2.03) nehmen und auspacken:
tar xvf SMT..... - U-Boot header vom rootfs.img abschneiden:
dd if=rootfs.img of=rootfs bs=64 skip=1 - rootfs auspacken:
sudo unsquashfs-lzma rootfs
damit wird das gesamte rootfs unter squashfs-root angelegt. - Daten ändern.
Fürs erste habe ich ein anderes root-password definiert und den Start vom telnetd umgebaut.
Dateien squashfs-root/etc/passwd und squashfs-root/etc/passwd- ändern (neuen Password-Hash für root)
Datei squashfs-root/etc/rc.d/rc.bringup_services_start:
aus if [ -f /configs/etc/telnet_enable ]
wird if [ ! -f /configs/ect/telnet_disable ]
Dann ist telnet defaultmäßig an und kann durch anlegen der Datei /configs/etc/telnet_disable abgeschaltet werden.
Weitere Änderungen sind jetzt nach eigenm Bedarf möglich.
Und nun wieder alles einpacken: - Squashfs erzeugen:
sudo mksquashfs-lzma squashfs-root rootfs -be -noappend - U-Boot Image generieren:
mkimage -T filesystem -n “Amazon rootfs“ -C none -d rootfs rootfs.img - Prüfsumme berechnen:
sum rootfs.img - Datei versionInfo.status anpassen:
unbedingt bei ROOTFS_CHECKSUM die richtige Prüfsumme eintragen
nach Bedarf: SYS_VER und DATE anpassen (Achtung: das Format von SYS_VER wird von der Web-Oberfläche geprüft und muss XX.YY lauten (02.03p1 geht auch, wird beim Update aber nicht angezeigt. 2.03.1 hat er der Router nicht angenommen). - Tar-file packen:
tar cvf SMTneu.tar *.img uImage versionInfo.status - Und das Ergebnis dann dem Router als Update anbieten. Anschließend hat man einen Router mit V2.03 und funktionierendem Telenet Zugang.
Programme:
mksquashfs-lzma und unsquashfs-lzma stammen von der hier erwähnten Quelle. Man nehme die Programme für squashfs Version 2 und patcht die magic-Number.
mkimage stammt von u-boot-1.0.0.tar.bz2.
Hinweise:
Um mksquashfs für den Router zu nutzen, muss noch die Magic-Number gepatched werden:
in der Datei squashfs_fs.h SQUASHFS_MAGIC und SQUASHFS_MAGIC_SWAP in die von Samsung genutzte Magic-Number ändern:
// Standard (original):
#define SQUASHFS_MAGIC 0x73717368
#define SQUASHFS_MAGIC_SWAP 0x68737173
// Samsung:
#define SQUASHFS_MAGIC 0x73716C7A
#define SQUASHFS_MAGIC_SWAP 0x7A6C7173
Bei dem U-Boot Packet reicht es, mkimage von Hand zu compilieren. Hinweise dazu finden sich weiter hinten in diesem Thread.
--
Rechtliches: Dieser Beitrag steht unter der Creative Commons Namensnennung 3.0 DE Lizenz
Zuletzt bearbeitet: