SAR:Infrastruktur:Firmware-Update
Jump to navigation
Jump to search
Unabhängig vom SDP-Verfahren muss u.U. die Firmware (OpenWGT) der Netgear WGTs manchmal aktualisiert werden, wenn eine der folgenden Komponenten zu aktualisieren ist:
- Linux Kernel (wenn Aktualisierung nicht durch Austausch eines Kernel-Moduls möglich ist)
- SDP
- Evtl. Binaries des RootFS (busybox o.ä.)
Vorbereitungen
Zunächst muss der zu updatende WGT vom Netzwerk gebootet werden. Dazu ist dieser auf dem NFS-Studenten entsprechend freizuschalten:
$ ssh root@nfs-student $ # Falls testwgt und wgt21 aktualisiert werden sollen $ sh /wgtroot/admin/allow-hosts.sh "testwgt wgt21"
Nun muss noch der entsprechende WGT rebootet werden:
$ telnet wgt21 Trying 192.168.3.21... Connected to wgt21. Escape character is '^]'. BusyBox v1.00 (2005.08.23-11:45+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. _______ berlin roof net ________ v0.06f-brn __ | |.-----.-----.-----.| | | |.----.| |_ | - || _ | -__| || | | || - || _| |_______|| __|_____|__|__||________||___ ||____| S A R |__| .____| -> THIS IS AN EXPERIMENTAL OpenWRT PORT FOR THE NETGEAR WGT634U <- root@wgt21:/# reboot root@Owgt21/# Connection closed by foreign host.
Update
Wenn der WGT im NFS-Modus neu gestartet ist, kann das Update beginnen:
- Dazu muss zunächst das OpenWGT-Image nach /tmp kopiert werden
- Dann das entsprechende Restore-Skript gestartet werden
Folgendes Skript tut dies für OpenWGT 0.06f1-brn:
#!/bin/sh cp /restore/images/openwgt-0.06f1-brn.img /tmp FIRMWARE_PATH=/tmp IMAGE_FILE=openwgt-0.06f1-brn.img sh /restore/restore-firmware.sh
ACHTUNG: Der watchdog ist vorher zu deaktivieren, sonst kann durch den Zugriff auf den FLASH-Speicher das System hängen bleiben!
Besonderheiten
- OpenWGT 0.06b-brn hat nicht die korrekte STARTUP-Variable im NVRAM gesetzt, so dass der (gzippte) 2.6er-Kernel nicht starten kann.
watchdog nvram get STARTUP sleep 10 nvram set STARTUP="ifconfig eth0 -auto;boot -elf -tftp 192.168.4.3:vmlinux;boot -z -elf flash0.os:;boot -elf flash0.os:;reboot" nvram commit
- Der Treiber des JFFS2-Dateisystems macht im 2.6er Kernel unabhängig vom Watchdog Probleme beim Reboot (WGT bleibt hängen). Scheinbar ist der Watchdog, doch nicht so gut implementiert, wie erwartet :-(.
Es sollte somit der 2.4er-Netzkernel benutzt werden, um Änderungen am RootFS vorzunehmen (z.B. editieren der /etc/nvram.conf).
Frage: Warum tritt der Effekt nicht beim Ändern des laufenden RootFS auf (beim Booten vom Flash)?
nvram set STARTUP="ifconfig eth0 -auto;boot -elf -tftp 192.168.4.3:vmlinux;boot -elf flash0.os:;reboot"