HowTo Firmware-Modifikationen Samsung SMT-G3000 Serie

1. Die Entwicklungsumgebungen

Um überhaupt ein Firmware-Mod erstellen zu können benötigt man eine passende Entwicklungsumgebung. Wie bei Vielem gilt auch hier - Viele Wege führen nach (zum ;-)) Rom -. In diesem Abschnitt werden die Entwicklungsumgebungen Vorgestellt und erläutert wie man sie erzeugt und einrichtet.

1.1 Verschiedene Linux-Plattformen

1.1.1 VMware Player mit Debian Linux

- Kann unter vielen Windows Versionen und auch anderen Betriebssytemen eingerichtet werden !

- Der Aufbau erfolgt Schritt für Schritt und ist damit nachvollziehbar !

- Eigene Erweiterungen und Modifikationen der Plattform sind leicht möglich !

Author Christof Rieger (Prediger)

Zur Entwicklungsumgebung

1.1.2 Feel free to add :-)

1.2 Das Toolchain

Das Toolchain wird benötigt um neue Programme zur Box passend kompilieren zu können.

1.2.1 Angepasste Version (Prediger)

Diese Version entspricht der Version von xor16rox auf http://bitflip.de/samsung/ nur, dass alles entfernt wurde, was wärend der Installation noch aus dem Internet geladen werden kann.

SMT-Toolchain

1.3 Die Orginal Open-Source

Das sind ware Schatzkisten, da sich auch Module darin befinden, die in der Box nicht vorhanden sind.

http://www.samsung.com/global/business/telecomm/product/download/SMT-G3000_opensrc.tbz http://www.samsung.com/global/business/telecomm/product/download/SMT-G3200_opensrc.tbz http://www.samsung.com/global/business/telecomm/product/download/SMT-G3010_opensrc.tbz http://www.samsung.com/global/business/telecomm/product/download/SMT-G3020_opensrc.tbz http://www.samsung.com/global/business/telecomm/product/download/SMT-G3210_opensrc.tbz http://www.samsung.com/global/business/telecomm/product/download/SMT-G3220_opensrc.tbz

man kann sie einfach mit

wget http://www.samsung.com/global/business/telecomm/product/download/SMT-G[Typ]_opensrc.tbz

in ein beliebiges Arbeitsverzeichnis downloaden und mit

tar -xvjf SMT-G[Typ]_opensrc.tbz

entpacken. Das Paket befindet sich dann im Unterordner GPL_[Typ]

Zuletzt in der Datai

/[Mein Open-Source-Pfad]/GPL_[Typ]/build/tools/Path.sh die Einträge

TOPDIR=/[Mein Open-Source-Pfad]/GPL_[Typ]/ und

TOOLCHAIN_DIR=/[Installationspfad des Toolchain]/toolchain_mips/bin/ der eigenen Installation anpassen.

2. Die Firmwarestrucktur

!!! WICHTIG !!! Unscheinbare fehlerhafte Veränderungen können dazu führen, dass nach dem Einspielen die Box nicht mehr funktioniert und unter Umständen nur noch Edelschrott ist !!! Die Authoren übernehmen hierfür keinerlei Haftung. Jeder Modifikation geschieht vollständig auf eigene Gefahr !!!

Im Post 231 findet man Skripte, die nach den folgenden Bechreibungen ablaufen.

2.1 Die Firmware entpacken

Die Firmware entpacken

Getestet auf:

2.2 Die Firmware packen

Die Firmware packen

Getestet auf:

3. Mods erstellen

3.1 Skript- und Config-Mods

Skript- und Config-Mods können alleine durch Änderungen in Dataisystem und der Veränderung und Ergänzung von Skrip- und Configurationsdateien erstellt werden.

3.1.1 Root-Passwort Mod

Ermöglicht das Root-Login

Getestet auf:

3.1.2 Telnet freischalten

Ermöglicht das Einlogen über eine Telnetkonsole

Getestet auf:

3.1.3 Systemerweiterung auf USB-Stick

Verlinkt beim Booten das Verzeichnis SMT_ext im Rootverzeichnis eines belibigen FAT32 USB-Sticks auf /ramdisk/SMT_ext/ und führt wenn vorhanden das Skript in [MeinStick]/SMT_ext/etc/init.d/rc.expand aus.

Getestet auf:

3.2 Binary-Mods

Für Binary-Mods benötigt man eine systemspezifische Crosscompilerumgebung auch Toolchain genannt. Diese muss man zu erst erstellen. Zum SMT-Toolchain aufspielen.

Einzelne Binary-Mods

3.2.1 dropbear-0.51

Ermöglicht den Zugriff über SSH, z.B. mit WinSCP (unter SCP) und Putty

Benötigt Mod:

  • 3.1.1
  • 3.1.2

Getestet auf:

3.3 Erweiterungen auf dem USB-Stick

Vorrausetzung für diese Mods, ist der Mod unter 3.1.3.

Einzelne USB-Mods

3.3.1 Web-Frontend auf dem USB-Stick

Erzeugen und aktivieren des Web-Frontends der Box auf einem USB-Stick. Damit kann das Web-Frontend bequem angepasst und modifiziert werden. Besonders gut geht das, wenn man auch den Zugiff über WinSCP ermöglicht hat.

Getestet auf:

3.4 Weitere Kernel-Module

3.4.1 Weitere Kernel-Module erzeugen

Vorraussetzung:

  • 1.2.1
  • 1.3

Im Verzeichnis /[Mein Open-Source-Pfad]/GPL_[Typ]/kernel/opensource/linux_2_4_20/

make mrproper setzt die gesammte kernelconfiguration in den „Auslieferungszustand“

make menuconfig ausführen und die gewünschten Module mit der Leertaste als <M> kennzeichnen und mit Exit verlassen dannach die Speicherung bestätigen.

make dep

make modules

Beispiel: Sound über USB-Soundmodul

3.4.2 Weitere Kernel-Module einbinden

Die erzeugten Kernel-Module auf die Box kopieren, das kann auch auf den USB-Stick sein. Dann mit insmod [voller Pfad zum Modul]/[Modul] in den Kernel laden. Die Reihenfolge bei von einander abhängigen Modulen muss natürlich stimmen. Wenn man mit insmod arbeitet und z.B. in einem Skript sicherstellt, das die Ladereihenfolge stimmt so benötigt man keine Einträge in der modules.dep. Bei falscher Reihenfolge wird das Modul einfach nur nicht geladen, man kann die Reihenfolge somit einfach durch Probieren ermitteln. Mit lsmod kann ich prüfen, ob das Modul geladen wurde.

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