IP-Phone-Forum  

Zurück   IP-Phone-Forum > VoIP-Anbieter > Freenet VoIP
Registrieren Hilfe Benutzerliste Wiki Suchen Heutige Beiträge Alle Foren als gelesen markieren

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 08.03.2008, 18:59   #1
syncBit
IPPF-Einsteiger
 
Registriert seit: 05.02.2008
Beiträge: 23
Samsung SMT-G3010, SMT-G3210, SMT-G3220: rootfs patchen

Anleitung zum Erstellen eines eigenen Updates mit geändertem root Filesystem für die Samsung Router.

Voraussetzung: Linux und das Wissen, damit umzugehen.
  1. Offizielle Firmware (V2.03) nehmen und auspacken:
    tar xvf SMT.....
  2. U-Boot header vom rootfs.img abschneiden:
    dd if=rootfs.img of=rootfs bs=64 skip=1
  3. rootfs auspacken:
    sudo unsquashfs-lzma rootfs
    damit wird das gesamte rootfs unter squashfs-root angelegt.
  4. 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:
  5. Squashfs erzeugen:
    sudo mksquashfs-lzma squashfs-root rootfs -be -noappend
  6. U-Boot Image generieren:
    mkimage -T filesystem -n “Amazon rootfs“ -C none -d rootfs rootfs.img
  7. Prüfsumme berechnen:
    sum rootfs.img
  8. 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).
  9. Tar-file packen:
    tar cvf SMTneu.tar *.img uImage versionInfo.status
  10. 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

Geändert von syncBit (23.09.2008 um 10:02 Uhr).
syncBit ist offline   Mit Zitat antworten
Alt 09.03.2008, 17:04   #2
xor16rox
IPPF-Erfahrener
 
Registriert seit: 04.01.2008
Beiträge: 87
Ich hab dann mal einen installierbaren Tarball fuer den SMT-G3210 gemacht. Ich hab's bei mir getestet, aber Benutzung erfolgt auf eigene Verantwortung.

http://bitflip.de/test/SMT-G3210_V2.03_090308mod.tar

Veraenderungen gegenueber der offiziellen 2.03 Firmware:

- root Passwort "banana"
- Telnet per default aktiviert auf Port 30023
- neuerer dropbear SSH Server incl. scp und dbclient
- dropbear startet beim Booten auf Port 22, wenn das Keyfile /configs/rsakey existiert
- FTP-Zugriff auf das ganze System
- beim Booten wird gecheckt, ob eine Datei /configs/rc.local existiert. Wenn ja, wird sie ausgefuehrt. (Damit kann mal also automatisch Programme starten und beenden oder Befehle ausfuehren, wenn man moechte.)
xor16rox ist offline   Mit Zitat antworten
Alt 09.03.2008, 18:57   #3
chk2k2
IPPF-Einsteiger
 
Registriert seit: 07.03.2008
Beiträge: 1
Hallo!

Ich habe ein paar Linux-Skripte für den SMT-G3210 geschrieben. Ob sie auch für die anderen Modelle funktionieren kann ich nicht sagen. Verwendung auf eigene Gefahr!!!

Die Skripte sind zum Auspacken und Erstellen der Firmware-tar-Datei und für die .IAD Konfigurationsdateien. Die IAD-Dateien funktionieren aber nur mit der Firmware v2.02

Samsung hat anscheinend das Format der .IAD-Datei mit Firmware 2.03 geändert. Hat jemand herausgefunden wie sie sich jetzt entpacken lässt?

Jeder ist herzlich eingeladen die Skripte zu verbessen und zu erweitern.

Er werden noch folgende Programme benötigt: mksquashfs-lzma, unsquashfs-lzma und mkimage.
Die Quellen dazu sind weiter oben im Thread verlinkt.
Angehängte Dateien
Dateityp: gz SMTtools-v0.1.tar.gz (1,4 KB, 120x aufgerufen)
chk2k2 ist offline   Mit Zitat antworten
Alt 09.03.2008, 19:23   #4
xor16rox
IPPF-Erfahrener
 
Registriert seit: 04.01.2008
Beiträge: 87
Zitat:
Zitat von chk2k2 Beitrag anzeigen
Samsung hat anscheinend das Format der .IAD-Datei mit Firmware 2.03 geändert. Hat jemand herausgefunden wie sie sich jetzt entpacken lässt?
Hier werden Sie geholfen.
xor16rox ist offline   Mit Zitat antworten
Alt 11.03.2008, 00:34   #5
uttrichp
IPPF-Einsteiger
 
Registriert seit: 14.05.2007
Beiträge: 3
@SyncBit

Vielen Dank....

Geht bestens und hat mir viel Arbeit erspart.

Bilde eigentlich nur ich mir ein, dass es beim Telefonieren die Gegenseite ein leises echo von sich selber hört?
uttrichp ist offline   Mit Zitat antworten
Alt 11.03.2008, 19:52   #6
$80
 
Beiträge: n/a
Jungs könnt ihr da nicht die Squashfs von einer Dbox benutzen? Linux ist Linux.. und da gibt es bessere Tools im ein Image zu verwalten und umzuschreiben.
  Mit Zitat antworten
Alt 24.04.2008, 16:22   #7
jiri.hladky
IPPF-Einsteiger
 
Registriert seit: 24.04.2008
Beiträge: 3
Can't find a SQUASHFS superblock on rootfs

Halli hallo,

ich wollte den Root System ändern:

SMT-G3010_V2.03_250208.tar

dd if=rootfs.img of=rootfs bs=64 skip=1

sudo firmware_mod_kit/trunk/src/squashfs-3.0/unsquashfs-lzma rootfs
Can't find a SQUASHFS superblock on rootfs

sudo firmware_mod_kit/trunk/src/squashfs-2.1-r2/unsquashfs-lzma rootfs
Can't find a SQUASHFS superblock on rootfs

unsquashfs-lzma habe ich vom
svn checkout svn://svn.berlios.de/firmwaremodkit/trunk
herunterladen.

Was jetzt??

Hat jemand probiert, NFS oder Samba auf dem Router zum Laufen zu bringen?


Danke
Jiri
jiri.hladky ist offline   Mit Zitat antworten
Alt 24.04.2008, 21:24   #8
syncBit
IPPF-Einsteiger
 
Registriert seit: 05.02.2008
Beiträge: 23
Hallo,

Zitat:
Zitat von jiri.hladky Beitrag anzeigen
sudo firmware_mod_kit/trunk/src/squashfs-3.0/unsquashfs-lzma rootfs
Can't find a SQUASHFS superblock on rootfs

sudo firmware_mod_kit/trunk/src/squashfs-2.1-r2/unsquashfs-lzma rootfs
Can't find a SQUASHFS superblock on rootfs

unsquashfs-lzma habe ich vom
svn checkout svn://svn.berlios.de/firmwaremodkit/trunk
herunterladen.

Was jetzt??
da hast du den kleinen, zugegebenermaßen für Neueinsteiger in das Thema Samsung patchen unverständlichen Hinweis "Man nehme die Programme für squashfs Version 2 und patcht die magic-Number." nicht beachtet.

Hinweise, was damit gemeint sein könnte findest du hier.

Aber um es nicht zu spannend zu machen:

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

dann sollte es funktionieren.
syncBit ist offline   Mit Zitat antworten
Alt 25.04.2008, 18:36   #9
jiri.hladky
IPPF-Einsteiger
 
Registriert seit: 24.04.2008
Beiträge: 3
u-boot compiling

Na, es ist wirklich Hexerei. Es hat funktioniert Danke!!


Zitat:
Jetzt bin ich beim u-boot-1.0.0 compiling.

After installing the
sources you must configure U-Boot for one specific board type. This
is done by typing:

make NAME_config

where "NAME_config" is the name of one of the existing
configurations;

Was sollte ich nehmen?

Übrigens, gibt es für das Board ein C-compiler (cross compiling)?

Danke!
Jiri
jiri.hladky ist offline   Mit Zitat antworten
Alt 11.05.2008, 19:36   #10
Joergle
IPPF-Einsteiger
 
Registriert seit: 16.12.2007
Beiträge: 12
Zitat:
Zitat von syncBit Beitrag anzeigen
[*]U-Boot Image generieren:
mkimage -T filesystem -n “Amazon rootfs“ -C none -d rootfs rootfs.img
Hallole,
bis dahin bin ich nun auch gekommen, aber wie muss das U-Boot-Paket compiliert werden, also gleiche Frage wie "jiri.hladky" ...

Leider erschliesst sich mir aus der Doku nicht, welches
Code:
make xxxx_config
ich ausführen sollte.

Dankbar für jeden Hinweis!
__________________
Router: Samsung SMT-G3210 Firmware: V02.03 ( 25-02-2008 )
Anschluss: freenetKomplett, Internet Flat, Voip Flat
Telefon: 2 x Analog
Netzwerk: 4 x LAN, WLAN mit Repeater (Fritz!Box)
Joergle ist offline   Mit Zitat antworten
Alt 11.05.2008, 22:09   #11
syncBit
IPPF-Einsteiger
 
Registriert seit: 05.02.2008
Beiträge: 23
Also...

eigentlich müssten die für das compilieren des U-Boot Paketes notwendigen Informationen und Einstellungen irgendwo in den von Samsung bereitgestellen Source-Files zu finden sein. Bin bisher aber noch nicht dazu gekommen, da mal nachzuschauen. Zum Zeitpunkt des Ursprungspostings dieses Threads gab es die auch noch gar nicht.

Es ist auch nicht erforderlich, das gesamt U-Boot Pakte zu comiplieren, da wir ja gar keinen Bootloader bauen wollen sonderen nur das mkimage brauchen.

Ich habe eben mal in der history meiner shell gewühlt, um zu schauen was ich damals gemacht habe. Sieht nach ziemlich vielen Fehlversuchen aus

Aber versucht doch mal folgendes:

Im Unterverzeichnis tools des U-Boot:

gcc crc32.c -I../include -c
gcc mkimage.c crc32.o -I../include -o mkimage

Alle Angaben wie üblich ohne Gewähr.

Viel Erfolg
syncBit ist offline   Mit Zitat antworten
Alt 11.05.2008, 22:39   #12
Joergle
IPPF-Einsteiger
 
Registriert seit: 16.12.2007
Beiträge: 12
Zitat:
Zitat von syncBit Beitrag anzeigen
Aber versucht doch mal folgendes:

Im Unterverzeichnis tools des U-Boot:

gcc crc32.c -I../include -c
gcc mkimage.c crc32.o -I../include -o mkimage
Hallo,
danke für deinen Tipp! Mir war auch klar dass man nicht das ganze Paket braucht, aber auf die Idee, sich vom mkimage durch zu hangeln bin ich nicht gekommen

Jedenfalls wenn du deine Angaben geringfügug modifizierst, dann passt es:

Code:
1. cd ...../u-boot-1.0.0/lib_generic
2. gcc crc32.c -I../include -c
3. cd ...../u-boot-1.0.0/tools
4. gcc mkimage.c ../lib_generic/crc32.o -I../include -o mkimage
... jedenfalls hat es bei mir so geklappt!

Danke!
__________________
Router: Samsung SMT-G3210 Firmware: V02.03 ( 25-02-2008 )
Anschluss: freenetKomplett, Internet Flat, Voip Flat
Telefon: 2 x Analog
Netzwerk: 4 x LAN, WLAN mit Repeater (Fritz!Box)
Joergle ist offline   Mit Zitat antworten
Alt 12.05.2008, 09:59   #13
xor16rox
IPPF-Erfahrener
 
Registriert seit: 04.01.2008
Beiträge: 87
Nachdem ich jetzt einige Anfragen hatte, hab ich einige kleine Veraenderungen an meinem oben beschriebenen Image vorgenommen. Die Konfigurationsdateien /etc/passwd, /etc/proftpd.conf und /etc/thttpd/thttpd.conf sind nun Symlinks nach /configs/etc. Dadurch wird es einfacher, mit diesen Diensten rumzuspielen. Beim Booten wird gecheckt, ob diese Dateien unter /configs/etc/ existieren, und wenn nicht, werden die Standardkonfigurationsdateien dort hin kopiert.


http://bitflip.de/test/SMT-G3210_V2.03_120508mod.tar

Hab's bei mir kurz getestet, aber ist inoffiziell und unsupported, etc., blabla. Und wenn eure Katze Durchfall bekommt oder der Fernseher ploetzlich nen Gruenstich hat, gebt mir nicht die Schuld.
xor16rox ist offline   Mit Zitat antworten
Alt 15.05.2008, 21:27   #14
Sounddiver
IPPF-Aufsteiger
 
Registriert seit: 01.01.2005
Beiträge: 26
Hallo,

aber einen alternativen VoIP Anbieter kann man damit nicht aktivieren, oder?
Denn genau das ist doch das primäre Problem mit diesen sch.... SamsungBoxen!

Gruss

Sounddiver
Sounddiver ist offline   Mit Zitat antworten
Alt 17.05.2008, 10:25   #15
xor16rox
IPPF-Erfahrener
 
Registriert seit: 04.01.2008
Beiträge: 87
Zitat:
Zitat von Sounddiver Beitrag anzeigen
aber einen alternativen VoIP Anbieter kann man damit nicht aktivieren, oder? Denn genau das ist doch das primäre Problem mit diesen sch.... SamsungBoxen!
Das ist inzwischen das primaere Problem, nachdem wir die anderen Probleme geloest haben.

Aber vielleicht sollten wir dazu nochmal einen eigenen Forschungsthread aufmachen. Es gibt zumindest Ansatzpunkte (man kann einen versteckten Menuepunkt fuer andere Anbieter aktivieren), und ich wuerde nicht ausschliessen, dass da noch was geht. Ich selbst hab keine alternativen VOIP-Provider, deshalb ist mein Forschungsinteresse da nicht so gross. Aber vielleicht sollten wir nochmal zusammentragen, was wir haben...
xor16rox ist offline   Mit Zitat antworten
Alt 17.05.2008, 11:10   #16
Sounddiver
IPPF-Aufsteiger
 
Registriert seit: 01.01.2005
Beiträge: 26
Ja, finde ich klasse...
Würdest du so freundlich sein und einen solchen Thread eröffnen?
Ich klinke mich dann gerne wieder mit ein... (im Rahmen meiner begrenzten Möglichkeiten)

Danke

Sounddiver
Sounddiver ist offline   Mit Zitat antworten
Alt 18.05.2008, 17:08   #17
marqie
IPPF-Einsteiger
 
Registriert seit: 10.02.2008
Beiträge: 4
hey
leider kenne ich mich nicht so gut mit der ganzen software aus
was ich nur gerene bei meinem samsung smt-g3010 (firmware V02.03) machen würde, ist ein kleines programm besitzen was den router neu mit dem internet verbindet also dass ich eine neue ip habe
geht sowas und wenn ja wie?
wäre dankbar für eine antwort
mfg marqie
marqie ist offline   Mit Zitat antworten
Alt 22.05.2008, 01:48   #18
v2px
IPPF-Einsteiger
 
Registriert seit: 22.05.2008
Beiträge: 1
Zitat:
Zitat von xor16rox Beitrag anzeigen
Hab's bei mir kurz getestet, aber ist inoffiziell und unsupported, etc., blabla. Und wenn eure Katze Durchfall bekommt oder der Fernseher ploetzlich nen Gruenstich hat, gebt mir nicht die Schuld.
das updaten ging ohne probleme, schnell und schmerzlos.
ich komme auch an telnet auf dem port 30023 ran, aber das root-passwort ist nicht wie erwartet banana.
die /etc/passwd sagt mir $1$$CoERg7ynjYLsj2j4glJ34. - also admin...
auch das klappt nicht..
hat jemand rat?
v2px ist offline   Mit Zitat antworten
Alt 22.05.2008, 11:52   #19
xor16rox
IPPF-Erfahrener
 
Registriert seit: 04.01.2008
Beiträge: 87
Zitat:
Zitat von v2px Beitrag anzeigen
ich komme auch an telnet auf dem port 30023 ran, aber das root-passwort ist nicht wie erwartet banana.
Die /etc/passwd siehst du ueber FTP? Kann es sein, dass bei dir das Verzeichnis /configs/etc/ noch nicht existiert? IIRC gab's das in der 1.XX Firmware noch nicht, und ich checke die Existenz des Verzeichnisses derzeit nicht; sollte ich wohl tun... Wenn's daran liegt, sollte es aber mit dem Image aus Post2 in diesem Thread funktionieren.

PM'e mich mal mit mehr Infos, dann muessen wir hier den Thread nicht zumuellen...
xor16rox ist offline   Mit Zitat antworten
Alt 23.05.2008, 16:28   #20
jiri.hladky
IPPF-Einsteiger
 
Registriert seit: 24.04.2008
Beiträge: 3
Zitat:
Zitat von Joergle Beitrag anzeigen
Hallo,
danke für deinen Tipp! Mir war auch klar dass man nicht das ganze Paket braucht, aber auf die Idee, sich vom mkimage durch zu hangeln bin ich nicht gekommen

Jedenfalls wenn du deine Angaben geringfügug modifizierst, dann passt es:

Code:
1. cd ...../u-boot-1.0.0/lib_generic
2. gcc crc32.c -I../include -c
3. cd ...../u-boot-1.0.0/tools
4. gcc mkimage.c ../lib_generic/crc32.o -I../include -o mkimage
... jedenfalls hat es bei mir so geklappt!

Danke!

Hallo,
ich habe es probiert, aber ohne Erfolg:

Code:
gcc crc32.c -I../include -c
In file included from crc32.c:12:
../include/common.h:35:20: error: config.h: No such file or directory
In file included from ../include/common.h:37,
                 from crc32.c:12:
../include/linux/types.h:14: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘dev_t’
In file included from ../include/common.h:80,
                 from crc32.c:12:
../include/flash.h:36: error: ‘CFG_MAX_FLASH_SECT’ undeclared here (not in a function)
../include/common.h:93:64: error: asm/u-boot.h: No such file or directory
../include/common.h:94:74: error: asm/global_data.h: No such file or directory
In file included from crc32.c:12:
../include/common.h:157: error: expected ‘)’ before ‘*’ token
../include/common.h:308: error: expected declaration specifiers or ‘...’ before ‘gd_t’
../include/common.h:476: warning: conflicting types for built-in function ‘puts’
../include/common.h:477: warning: conflicting types for built-in function ‘printf’
../include/common.h:478: warning: conflicting types for built-in function ‘vprintf’
../include/common.h:494: warning: conflicting types for built-in function ‘fprintf’
../include/common.h:495: warning: conflicting types for built-in function ‘fputs’
../include/common.h:496: warning: conflicting types for built-in function ‘fputc’


Ich habe dann probiert:
Code:
cd ..../u-boot-1.0.0
MAKEALL
cd lib_generic/
gcc crc32.c -I../include -c
Es hat geklappt - allerdings mit vielen warnings:
Code:
In file included from ../include/common.h:38,
                 from crc32.c:12:
../include/linux/string.h:15: warning: conflicting types for built-in function ‘strspn’
In file included from ../include/linux/string.h:21,
                 from ../include/common.h:38,
                 from crc32.c:12:
../include/asm/string.h:17: warning: conflicting types for built-in function ‘strncasecmp’
../include/asm/string.h:19: warning: conflicting types for built-in function ‘strncpy’
../include/asm/string.h:20: warning: conflicting types for built-in function ‘strlen’
../include/asm/string.h:23: warning: conflicting types for built-in function ‘memset’
../include/asm/string.h:24: warning: conflicting types for built-in function ‘memcpy’
../include/asm/string.h:25: warning: conflicting types for built-in function ‘memmove’
../include/asm/string.h:26: warning: conflicting types for built-in function ‘memcmp’
In file included from ../include/common.h:38,
                 from crc32.c:12:
../include/linux/string.h:33: warning: conflicting types for built-in function ‘strncat’
../include/linux/string.h:39: warning: conflicting types for built-in function ‘strncmp’
In file included from crc32.c:12:
../include/common.h:476: warning: conflicting types for built-in function ‘puts’
../include/common.h:477: warning: conflicting types for built-in function ‘printf’
../include/common.h:478: warning: conflicting types for built-in function ‘vprintf’
../include/common.h:494: warning: conflicting types for built-in function ‘fprintf’
../include/common.h:495: warning: conflicting types for built-in function ‘fputs’
../include/common.h:496: warning: conflicting types for built-in function ‘fputc’

War es bei Ihnen auch so?

Dann schon ohne Probleme:
Code:
cd ../tools/
gcc mkimage.c ../lib_generic/crc32.o -I../include -o mkimage
Ist es so richtig? Kann ich die Warnings ignorieren?

Danke!
Jiri
jiri.hladky ist offline   Mit Zitat antworten
Antwort




Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
Kein Freizeichen bei Samsung SMT G3210 bei S-Bus gidos Freenet VoIP 5 29.02.2008 15:13
eyeBeam / Freenet / Samsung SMT G3210 Gespräch einseitig MagicalX XLite/ XPro/ eyeBeam 4 24.01.2008 18:32


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:14 Uhr.


Powered by vBulletin Version 3.6.8 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.