Hi.
Wie kann man denn die Firmware verändern? Wie kommst du da drauf?
Das hat nichts mit Windows oder Linux zu tun. Du kannst natürlich versuchen deine eigene Firmware zu bauen, aber der Aufwand ist wohl ein bißchen groß für sowas.
Das Skript welches beim Update aufgerufen wird ist /bin/prepare_fwupgrade:
Code:
/bin # cat prepare_fwupgrade
#! /bin/sh
if [ "$1" = "start" ] || [ "$1" = "start_tr069" ]
then
# kill everything except websrv thttpd and firmwarecfg and sh
# to make room in RAM to store the firmware images before
# flashing them
# NOTE that we have to keep the user modules for WLAN running!
# NOTE that voipd, igdd, dsld, multid and ctlmgr are terminated by
# firmwarecfg before the script is run, to have more free RAM (SL)
#################################
# Media-Subsystem vor dem Runterfahren der Box (z.B. im Kontext eines Firmware-Updates) anhalten.
#################################
if [ -e /etc/init.d/rc.media ] ; then
/etc/init.d/rc.media stop
sleep 2
fi
#################################
# USB-HOST: das USB-Subsystem vor dem Runterfahren der Box (z.B. im Kontext eines Firmware-Updates) anhalten.
#################################
# Es wird nach dem Aufruf von /etc/hotplug/usb.pandu stop sofort zum Aufrufer zurückgekehrt,
# während im Hintergrund alle USB-Klienten ein "remove" gesendet bekommen, was dort dann das
# große Aufräumen auslöst. Dieser Hintergrundprozeß wartet bis zu 5 Sekunden auf
# das Beenden aller USB-Klienten und schießt dann den OHCI-Treiber ab: Kein USB
# mehr vorhanden.
if [ -e /etc/hotplug/usb.pandu ] ; then
/etc/hotplug/usb.pandu stop
sleep 2
fi
killall capiotcp_server
killall telefon
voipd -s
killall printserv
/sbin/igdd -s
if [ "$1" = "start_tr069" ] ; then
websrv -s
else
killall mailer
/sbin/dsld -s
fi
/sbin/multid -s
ctlmgr -s
killall udhcpd
killall dproxy
killall ftpd
sleep 2
if [ -c /dev/watchdog ] ; then
echo disable watchdog
echo disable > /dev/watchdog
fi
killall -9 capiotcp_server
killall -9 telefon
killall -9 voipd
killall -9 printserv
killall -9 igdd
if [ "$1" = "start_tr069" ] ; then
killall -9 websrv
else
killall -9 mailer
killall -9 dsld
fi
killall -9 multid
killall -9 ctlmgr
killall -9 udhcpd
killall -9 dproxy
killall -9 ftpd
killall -9 checkservices
rm -f /var/install
rm -f /var/tmp/*.image
exit 0
fi
if [ "$1" = "end" ]
then
# now kill everything else to avoid access to flash while flashing
killall thttpd
# /sbin/websrv -s
killall mailer
killall dsld
killall websrv
killall user_drv
killall wpa_authenticator
killall wstart
sleep 2
if [ -c /dev/watchdog ] ; then
echo disable watchdog
echo disable > /dev/watchdog
fi
killall -9 mailer
killall -9 dsld
killall -9 thttpd
killall -9 websrv
killall -9 user_drv
killall -9 wpa_authenticator
killall -9 wstart
exit 0
fi
echo "use: $0 [start|start_tr069|end]"
exit 1
/bin #
MfG Oliver