Seite 1 von 16 1234511 ... LetzteLetzte
Ergebnis 1 bis 20 von 303

Thema: Samsung SMT-G3010, SMT-G3210, SMT-G3220: rootfs patchen

  1. #1
    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 11:02 Uhr)

  2. #2
    IPPF-Erfahrener
    Registriert seit
    04.01.2008
    Beiträge
    96
    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.)

  3. #3
    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 Angehängte Dateien

  4. #4
    IPPF-Erfahrener
    Registriert seit
    04.01.2008
    Beiträge
    96
    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.

  5. #5
    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?

  6. #6
    Gast
    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.

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

  8. #8
    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.

  9. #9
    IPPF-Einsteiger
    Registriert seit
    24.04.2008
    Beiträge
    3

    u-boot compiling

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


    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

  10. #10
    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)

  11. #11
    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

  12. #12
    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)

  13. #13
    IPPF-Erfahrener
    Registriert seit
    04.01.2008
    Beiträge
    96
    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.

  14. #14
    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

  15. #15
    IPPF-Erfahrener
    Registriert seit
    04.01.2008
    Beiträge
    96
    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...

  16. #16
    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

  17. #17
    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

  18. #18
    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?

  19. #19
    IPPF-Erfahrener
    Registriert seit
    04.01.2008
    Beiträge
    96
    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...

  20. #20
    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

Seite 1 von 16 1234511 ... LetzteLetzte

Ähnliche Themen

  1. Samsung SMT G3220 als Repeater
    Von eifel2 im Forum Freenet VoIP
    Antworten: 4
    Letzter Beitrag: 18.01.2009, 11:00
  2. Antworten: 0
    Letzter Beitrag: 06.12.2008, 18:39
  3. Samsung SMT-G3220 Reset?
    Von SirOffensivus im Forum Freenet VoIP
    Antworten: 0
    Letzter Beitrag: 14.11.2008, 18:11
  4. Samsung SMT-G3010, SMT-G3210, SMT-G3220: Notzugangs-IP
    Von hippie2000 im Forum Freenet VoIP
    Antworten: 0
    Letzter Beitrag: 28.09.2008, 08:33
  5. Antworten: 11
    Letzter Beitrag: 18.05.2008, 22:31

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •