Die Beschreibung lehnt sich an die in Kapitel 2 beschriebene Dateistruktur an. Die Dataien können wie gehabt z.B. über WinSCP bearbeitet werden.
Dieses Mod wird unbedingt benötigt um sich später mit Root-Rechten auf die Box einloggen zu können. Im einfachsten Fall erfolgt dies Später dann über Telnet. Mit
openssl passwd -1 -salt '' [Mein Neues Passwort]
in unserer LinuxBox, bekommen wir nun den Passwort-Hash angezeigt. Der sieht für das Passwort schnaps z.B. dann so aus:
$1$$QbHbgyCIcz9FRRyP191C51
Diesen Passwort-Hash verwndet man dann zur Modifikation der folgenden vier Dataien
Samsung-SMT-Depackt-FW/depacked-1-FileSystem/etc/passwd
Samsung-SMT-Depackt-FW/depacked-1-FileSystem/etc/passwd-
Samsung-SMT-Depackt-FW/depacked-2-default_db.tgz/configs/etc/passwd
Samsung-SMT-Depackt-FW/depacked-2-default_db.tgz/configs/etc/passwd-
In den vier Dataien befindet sich eine Zeile ähnlich wie diese.
root:$1$$KvD.y5xuHxIL9bXvEPlry/:0:0:root:/root:/bin/sh
nach der modifikation mit dem Passwort-Hash für schnaps würde sie dann so aussehen
root:$1$$QbHbgyCIcz9FRRyP191C51:0:0:root:/root:/bin/sh
Das Freischalten der Telnet Remotefunktion ist eine Möglichkeit auf Root-Ebene Zugriff auf die Box zu bekommen. Dazu öffnen wir die Datai
Samsung-SMT-Depackt-FW/depacked-1-FileSystem/etc/rc.d/rc.bringup_services_start
zum bearbeiten und ersetzen die Zeile
if [ -f /configs/etc/telnet_enable ] ; then
durch die Zeile
if [ ! -f /configs/etc/telnet_disable ] ; then
vorher wurde Telnet nur freigeschalet wenn die Datai /configs/etc/telnet_enable existiert. Mit der Änderung wird der Spieß gerade herumgedreht. Telnet wird nur gesperrt wenn die Datai configs/etc/telnet_disable existiert.
Unter Windows kann man dann, nach dem die Box gemodet wurde, sich mit telnet [die IP-Adresse meiner Box] 30023 unter Start - Ausführen… in die Box einlogen. Hinter amazon login: gibt man root ein und dannach das unter 3.1.1 neu gemodete Passwort.
Während des Bootens oder wenn der USB-Stick nach dem letzten Booten zum erstenmal in die Box gesteckt wurde, sucht das Skript nach einem Verzeichiss im Root des USB-Sticks mit dem Namen SMT_ext. Findet es das Verzeichniss, so verlinkt es diesen Ordner auf /ramdisk/SMT_ext/ des eigenen Systems. Damit ist sichergestellt, dass alle in SMT_ext abgelegten Dataien über den gleichen Pfad angesprochen werden können. Danach führt das Skript die Datei /ramdisk/SMT_ext/etc/init.d/rc.expand aus.
Das Skript Usb_Sys.sh:
#!/bin/sh until [ -f "/ramdisk/SMT_ext/sys" ]; do /bin/sleep 10 _stiks=$(ls /ramdisk/mnt/usb-storage) for i in $_stiks; do echo "/ramdisk/mnt/usb-storage/$i/SMT_ext" > "/ramdisk/mnt/usb-storage/$i/SMT_ext/sys" if [ -f "/ramdisk/mnt/usb-storage/$i/SMT_ext/sys" ]; then ln -s "/ramdisk/mnt/usb-storage/$i/SMT_ext" "/ramdisk/SMT_ext" break 2 fi done done if [ -f "/ramdisk/SMT_ext/etc/init.d/rc.expand" ]; then /ramdisk/SMT_ext/etc/init.d/rc.expand fi exit
Das Skript Usb_Sys.sh muss in dem Verzeichniss
Samsung-SMT-Depackt-FW/depacked-1-FileSystem/etc/rc.d/
erstellt werden. Damit es beim Booten der Box auch gestartet wird, ergänzen wir das Skript
Samsung-SMT-Depackt-FW/depacked-1-FileSystem/etc/rc.d/rc.bringup_services_start
welches wir im Punkt 3.1.2 bereits geändert hatten, noch nach
/etc/init.d/inetd start
um die Zeile
/etc/rc.d/Usb_Sys.sh &
Danach wie gehabt Firmware packen und aufspielen.