#! /bin/sh
##################################################################################
kernel_update_start=0
kernel_update_len=0
name_list=""
get_kernel_mtd() {
kernel_image_size=$1
kernel_mtd_size=$2
# es gibt unterschiedliche Bezeichnungen in versch. Kernelversionen
tmp_size=`cat /proc/mtd | grep urlader | sed -n -e 's/mtd[0-9].*: \([^ ]*\) \([^ ]*\) .*/\1/p'`
if [ -z "$tmp_size" ] ; then
tmp_size=`cat /proc/mtd | grep bootloader | sed -n -e 's/mtd[0-9].*: \([^ ]*\) \([^ ]*\) .*/\1/p'`
fi
if [ -z "$tmp_size" ] ; then
echo ACHTUNG keine bootloader_size!
# kernel_update_start=0 gibt einen Fehler
return 0
fi
bootloader_size=0x$tmp_size
tmp_size=`cat /proc/mtd | grep '"jffs2"' | grep -v Kernel | sed -n -e 's/mtd[0-9].*: \([^ ]*\) \([^ ]*\) .*/\1/p'`
if [ -z "$tmp_size" ] ; then tmp_size=0; fi
jffs2_size=0x$tmp_size
Kernel_without_jffs2_size=$(($kernel_mtd_size-$jffs2_size))
kernel_update_start=$((0x10000000 + $bootloader_size))
echo bootloader_size $bootloader_size
echo jffs2_size $jffs2_size
echo Kernel_without_jffs2_size $Kernel_without_jffs2_size
echo kernel_image_size $kernel_image_size
echo kernel_mtd_size $kernel_mtd_size
echo Kernel_Start_Add=$kernel_update_start
echo Kernel_End_Addr=$(($kernel_update_start + $kernel_image_size))
echo Kernel_without_jffs2_End_Addr=$(($kernel_update_start + $Kernel_without_jffs2_size))
if [ $kernel_image_size -le $Kernel_without_jffs2_size ] ; then
kernel_update_len=$Kernel_without_jffs2_size
else
if [ ! "$jffs2_size" = "0x0" ] ; then
echo install: Image would overlap - jffs2 will be deleted ... ;
fi
kernel_update_len=$kernel_mtd_size
fi
return 0
}
get_kernel_mtd_iks() {
kernel_image_size=$1
kernel_mtd_size=$2
# es gibt unterschiedliche Bezeichnungen in versch. Kernelversionen
tmp_size=`cat /proc/mtd | grep urlader | sed -n -e 's/mtd[0-9].*: \([^ ]*\) \([^ ]*\) .*/\1/p'`
if [ -z "$tmp_size" ] ; then
tmp_size=`cat /proc/mtd | grep bootloader | sed -n -e 's/mtd[0-9].*: \([^ ]*\) \([^ ]*\) .*/\1/p'`
fi
if [ -z "$tmp_size" ] ; then
echo ACHTUNG keine bootloader_size!
# kernel_update_start=0 gibt einen Fehler
return 0
fi
bootloader_size=0x$tmp_size
tmp_size=`cat /proc/mtd | grep '"jffs2"' | grep -v Kernel | sed -n -e 's/mtd[0-9].*: \([^ ]*\) \([^ ]*\) .*/\1/p'`
if [ -z "$tmp_size" ] ; then tmp_size=0; fi
jffs2_size=0x$tmp_size
Kernel_without_jffs2_size=$(($kernel_mtd_size-$jffs2_size))
kernel_update_start=$((0x1f000000 + $bootloader_size))
echo bootloader_size $bootloader_size
echo jffs2_size $jffs2_size
echo Kernel_without_jffs2_size $Kernel_without_jffs2_size
echo kernel_image_size $kernel_image_size
echo kernel_mtd_size $kernel_mtd_size
echo Kernel_Start_Add=$kernel_update_start
echo Kernel_End_Addr=$(($kernel_update_start + $kernel_image_size))
echo Kernel_without_jffs2_End_Addr=$(($kernel_update_start + $Kernel_without_jffs2_size))
if [ $kernel_image_size -le $Kernel_without_jffs2_size ] ; then
kernel_update_len=$Kernel_without_jffs2_size
else
if [ ! "$jffs2_size" = "0x0" ] ; then
echo install: Image would overlap - jffs2 will be deleted ... ;
fi
kernel_update_len=$kernel_mtd_size
fi
return 0
}
#. /etc/init.d/rc.conf
##################################################################################
# install results:
##################################################################################
export INSTALL_SUCCESS_NO_REBOOT=0
export INSTALL_SUCCESS_REBOOT=1
export INSTALL_WRONG_HARDWARE=2
export INSTALL_KERNEL_CHECKSUM=3
export INSTALL_FILESYSTEM_CHECKSUM=4
export INSTALL_URLADER_CHECKSUM=5
export INSTALL_OTHER_ERROR=6
export INSTALL_FIRMWARE_VERSION=7
export INSTALL_DOWNGRADE_NEEDED=8
force_update=n
for i in $* ; do
case $i in
-f)
force_update=y
;;
esac
done
##################################################################################
# get Kernelversion for further handling (update 2.4<->2.6)
##################################################################################
case `uname -r` in
2.4*)
echo "install: have Kernel 2.4";
kversion=24
;;
2.6*)
echo "install: have Kernel 2.6";
kversion=26
;;
*)
exit $INSTALL_OTHER_ERROR
;;
esac
##################################################################################
echo "install: check and install new firmware ..."
##################################################################################
need_reboot=$INSTALL_SUCCESS_NO_REBOOT
korrekt_version=0
##################################################################################
# Power LED blinken lassen
##################################################################################
/bin/update_led_on
if [ ${kversion} = 24 ] ; then
##################################################################################
# ACHTUNG ACHTUNG ACHTUNG Memory Layout prüfen Entfaellt!!!
# Ggfs. ist ein Urlader- bzw. Memorylayout-Update erforderlich!
##################################################################################
#
# ANM.: Das Handling von alten Geräten ohne Installtype ist nunmehr etwas intransparent...
#
# Erläuterung:
# Updateversuche auf alte Geräte ohne Installtype erzeugen bereits bei der
# Memorylayoutprüfung einen Fehler, falls diese Firmware die Falsche für das alte Gerät ist!
#
# Fehlerdetektion:
# 1.) Es gibt zwei Arten von altem Memorylayout mit jeweils eindeutigem Merkmal (s.u.).
# Wenn das Gerät eines mit altem Layout ist, muß auch die für das Merkmal erwartete
# "install-XMB-urlader" Datei in der ankommenden FW vorliegen.
# 2.) Falls es daran nicht scheitert so stimmt der erwartete Urlader nicht mit
# dem mitgelieferten überein. (In der "install-XMB-urlader" Datei wird der erwartete
# aus der HWRevision des alten Gerätes ermittelt und als verfügbar vorausgesetzt).
# [ Dieser Fall könnte bei hausinternen verwendeten alten 'FRITZ!Box FON' - mit FW die
# nicht aus echten Releases stammt - auftreten, da diese dasselbe Merkmal
# wie alte 'FRITZ!Box' haben.]
#
# Voraussetzung für diese Vorgehensweise ist:
# Nur Geräte mit altem Memorylayout haben ggfs. keinen Installtype.
# Das trifft auf echte Releases von 'FRITZ!Box' (< 05.02.78) und 'FRITZ!Box SL' (< 05.01.70) zu.
# Alle echten Releases anderer Geräte haben bereits einen Installtype.
#
# >>> Somit darf die nachfolgende Installtype-Prüfung
# >>> immer von der Existenz des Installtypes ausgehen!
#
##################################################################################
if [ -e /dev/mtdblock/5 ] ; then
echo "altes 4MB Memory layout, mtd5 existiert"
exit $INSTALL_FIRMWARE_VERSION # altes MemoryLayout wird nicht mehr unterstützt, Umweg ueber Zwischenupdate (dieses update verhindern)
fi
if [ ! -e /dev/mtdblock/4 ] ; then
echo "altes 2MB Memory layout, mtd4 existiert nicht"
exit $INSTALL_FIRMWARE_VERSION # altes MemoryLayout wird nicht mehr unterstützt, Umweg ueber Zwischenupdate (dieses update verhindern)
fi
fi
##################################################################################
# Die nachfolgende Installtype-Prüfung darf
# immer von der Existenz des Installtypes ausgehen! (s.o.)
#
# ANM.: Bei alten Geräten ohne Installtype, welche mit korrekter FW geupdatet werden sollen
# liefert die nachfolgende Installtype-Prüfung via '/etc/version --install=xyz' immer 'TRUE',
# da sich in /etc/version der CASE ohne default-Tag bei nichtexistentem Tag leider so verhält.
# Das ist bei alten FW-Versionen noch der Fall und wird hiermit toleriert.
##################################################################################
################################
# list of accepted installtypes:
################################
echo OEM=$OEM
# get annex from Kernel dep env path
if [ "${kversion}" = 24 ] ; then
export CONFIG_ENVIRONMENT_PATH=/proc/sys/dev/adam2
else
export CONFIG_ENVIRONMENT_PATH=/proc/sys/urlader
fi
export ANNEX=`cat ${CONFIG_ENVIRONMENT_PATH}/annex`
if [ -z "${ANNEX}" ] ; then echo ANNEX=${ANNEX} not supported ; exit $INSTALL_WRONG_HARDWARE ; fi
echo ANNEX=$ANNEX
# Fritz_Box_7570
if [ -z "$DISABLE_Fritz_Box_7570" ] ; then
echo testing acceptance for device Fritz_Box_7570 ...
echo OK - accept this update for device Fritz_Box_7570 ...
korrekt_version=1
echo testing acceptance for device Fritz_Box_7570 done
fi
kernel_start=0x90020000
kernel_size=16121856
filesystem_start=0x90000000
filesystem_size=0
urlader_start=0x90000000
urlader_size=131072
newFWver=04.82
# Versioninfo: 81.04.86
# Checkpoint: r16971
#! /bin/sh
#! /bin/sh
if [ $korrekt_version = 0 ] ; then
echo "error: installype not korrket"
echo "set INFO led to off (modul=7, state=1)"
/bin/update_led_off
exit $INSTALL_WRONG_HARDWARE # warum auch immer: für diese Gerät wird die FW abgelehnt
fi
##################################################################################
# Rücksprung nur für die 11.01.xx verhindern
#
# FW Version Muster: xx.BB.CC -- der Nummernkreis BB muss übereinstimmen und CC größer oder gleich sein
#
##################################################################################
currFWver=`/etc/version -v`
echo "curr: ${currFWver} new: xx.${newFWver}"
# Version AA.BB.CC zerlegen
major_currFWver=${currFWver%%.*} # bis zum ersten Punkt
middle_currFWver=${currFWver%.*}; middle_currFWver=${middle_currFWver#*.} # dazwischen
minor_currFWver=${currFWver##*.} # ab dem letzten Punkt
echo "debug: curr: ${major_currFWver}.${middle_currFWver}.${minor_currFWver}"
middle_newFWver=${newFWver%.*}; middle_newFWver=${middle_newFWver#*.} # dazwischen
minor_newFWver=${newFWver##*.} # ab dem letzten Punkt
echo "debug: new: \"XX.${middle_newFWver}.${minor_newFWver}\""
##################################################################################
# führenden Nullen beseitigen damit die Werte zur Berechnung genutzt werden
# können
##################################################################################
major_currFWver=${major_currFWver##0}
middle_currFWver=${middle_currFWver##0}
minor_currFWver=${minor_currFWver##0}
major_newFWver=${major_newFWver##0}
middle_newFWver=${middle_newFWver##0}
minor_newFWver=${minor_newFWver##0}
echo "major_currFWver=$major_currFWver"
echo "middle_currFWver=$middle_currFWver"
echo "minor_currFWver=$minor_currFWver"
echo "middle_newFWver=$middle_newFWver"
echo "minor_newFWver=$minor_newFWver"
##################################################################################
# update verhindern
##################################################################################
if [ -z "${middle_currFWver}" ] || [ -z "${minor_currFWver}" ] || [ -z "${middle_newFWver}" ] || [ -z "${minor_newFWver}" ] ; then
echo "error: could not resolve Firmwareversion"
echo "set INFO led to off (modul=7, state=1)"
/bin/update_led_off
exit $INSTALL_FIRMWARE_VERSION
fi
##################################################################################
# Downgrade with factorysettings or normal update ?
##################################################################################
if [ "${force_update}" = "y" ] ; then
echo "Force: Accept Firmware Version: xx.${newFWver} "
echo "Force: factorysettings ..."
##################################################################################
# factorysettings non-tffs
##################################################################################
# TAM
if [ -d /data ] ; then
if [ -d /data/tam ] ; then
rm -f /data/tam/config
rm -f /data/tam/meta*
fi
fi
# DECT (Swissvoice)
if [ -x /bin/dectwe ] ; then
/bin/dectwe
fi
##################################################################################
# factorysettings tffs: ID's erst ab 100 (0x64) loeschen
##################################################################################
id=$((0x64))
while [ $id -le 255 ] ; do
echo "clear_id $id" >/proc/tffs
id=$(($id + 1))
done
id=$((0x4000))
while [ $id -le $((0x4040)) ] ; do
echo "clear_id $id" >/proc/tffs
id=$(($id + 1))
done
id=$((0x4400))
while [ $id -le $((0x4440)) ] ; do
echo "clear_id $id" >/proc/tffs
id=$(($id + 1))
done
echo "Force: factorysettings done."
else
echo "check Firmware Version: xx.${newFWver}"
##################################################################################
# BB (neu) < BB (aktuell) : update rueckfrage anstossen
# BB (neu) = BB (aktuell) && CC (neu) < CC (aktuell) : update rueckfrage anstossen
##################################################################################
if [ "$middle_newFWver" -lt "$middle_currFWver" ] ; then
echo "warning: Firmware downgrade detected"
echo "set INFO led to off (modul=7, state=1)"
/bin/update_led_off
# behaviour for devices which basically are downgradable
exit $INSTALL_DOWNGRADE_NEEDED
else
echo "DEBUG: $middle_newFWver >= $middle_currFWver"
fi
if [ "$middle_newFWver" -eq "$middle_currFWver" ] ; then
if ( [ "$minor_currFWver" -gt "89" ] && [ "$minor_newFWver" -ne "$minor_currFWver" ] ) ||
[ "$minor_newFWver" -lt "$minor_currFWver" ] ; then
if ( [ "$minor_currFWver" -eq "96" ] && [ "$minor_newFWver" -le "89" ] ) ; then
echo "Info: Firmware downgrade mini-lab -> non-lab detected"
echo "DEBUG: $minor_newFWver < $minor_currFWver"
else
echo "warning: Firmware downgrade detected"
echo "set INFO led to off (modul=7, state=1)"
/bin/update_led_off
# behaviour for devices which basically are downgradable
exit $INSTALL_DOWNGRADE_NEEDED
fi
else
echo "DEBUG: $minor_newFWver >= $minor_currFWver"
fi
else
echo "DEBUG: $middle_newFWver > $middle_currFWver"
fi
echo "Accept Firmware Version: xx.${newFWver}"
fi
echo install: ${kversion} check files...
##################################################################################
# firmware Files pruefen
##################################################################################
# skip filesystem if empty
if [ -f /var/tmp/filesystem.image ] && [ $filesystem_size -ne 0 ] ; then
if ! /var/chksum /var/tmp/filesystem.image ; then
echo "chksum for file /var/tmp/filesystem.image failed."
echo "set INFO led to off (modul=7, state=1)"
/bin/update_led_off
exit $INSTALL_FILESYSTEM_CHECKSUM
fi
echo chksum for file /var/tmp/filesystem.image ok
fi
if [ -f /var/tmp/kernel.image ] ; then
if ! /var/chksum /var/tmp/kernel.image ; then
echo "chksum for file /var/tmp/kernel.image failed."
echo "set INFO led to off (modul=7, state=1)"
/bin/update_led_off
exit $INSTALL_KERNEL_CHECKSUM
fi
echo chksum for file /var/tmp/kernel.image ok
fi
##################################################################################
# prepare install
##################################################################################
# do no longer overwrite/remove /var/post_install
if [ ! -f /var/post_install ] ; then
# create, if not present
echo "#! /bin/sh" >/var/post_install
fi
# append sequence to /var/post_install
echo 'echo $0: start' >>/var/post_install
# LED- und Betriebsstundenzaehler- Demon stoppen
echo "sleep 1" >>/var/post_install
echo "killall run_clock" >>/var/post_install
echo "if ps | grep -v grep | grep -q telefon ; then killall telefon ; fi" >>/var/post_install
echo "if ps | grep -v grep | grep -q telnetd ; then killall telnetd ; fi" >>/var/post_install
# ueberfluessigen urlader-env eintrag entsorgen
if [ ${kversion} = 24 ] ; then
# echo "echo language > /proc/sys/dev/adam2/environment" >>/var/post_install
# darf für zukünftige internationalisierung nicht mehr gelöscht werden
echo "echo skip deleting language from env" >>/var/post_install
else
# echo "echo language > /proc/sys/urlader/environment" >>/var/post_install
# darf für zukünftige internationalisierung nicht mehr gelöscht werden
echo "echo skip deleting language from env" >>/var/post_install
echo "echo MODE=update > /dev/avm_power" >>/var/post_install
fi
# unmittelbar vor dem Flashen den Watchdog ausschalten
if [ -e /dev/watchdog ] ; then >>/var/post_install
echo "echo \"disable\" > /dev/watchdog" >>/var/post_install
fi >>/var/post_install
# wer läuft jetzt noch ?
echo "echo still running:" >>/var/post_install
echo "ps" >>/var/post_install
echo "lsmod" >>/var/post_install
echo "sleep 1" >>/var/post_install
##################################################################################
# setting files to install
##################################################################################
if [ ${kversion} = 24 ] ; then
echo install: ${kversion} setting files to install...
if [ -f /var/tmp/kernel.image ] ; then
crc_param=1
x=`cat /proc/sys/dev/adam2/environment | grep jffs2_size`
jffs2_size=${x##jffs2_size}
if [ -z "${jffs2_size}" ] ; then jffs2_size=0; fi
mtd1_size=0x`cat /proc/mtd | grep ^mtd1 | sed -n -e 's/mtd1: \([^ ]*\) .*/\1/p'`
mtd1_blocksize=0x`cat /proc/mtd | grep ^mtd1 | sed -n -e 's/mtd1: [^ ]* \([^ ]*\) .*/\1/p'`
mtd1_blocks=$(($mtd1_size / $mtd1_blocksize))
act_kernel_size=`ls -l /var/tmp/kernel.image | sed -e 's/[^0-9]/#/g' | sed -e 's/#\+[0-9]\+#\+\([0-9]\+\).*/\1/'`
kernel_blocks=$(($act_kernel_size / $mtd1_blocksize))
kernel_blocks_rest=$(($act_kernel_size % $mtd1_blocksize))
if [ $kernel_blocks_rest -gt 0 ]; then
kernel_blocks=$(($kernel_blocks + 1))
fi
to_erase=$(($mtd1_blocks - $jffs2_size))
to_erase_size=$(($to_erase * $mtd1_blocksize))
if [ $kernel_blocks -le $to_erase ]; then
echo "install: /var/tmp/kernel.image to mtd1 ($to_erase blocks)"
echo "update_parameter=flash_update_file0=\"/var/tmp/kernel.image,$kernel_start,$to_erase_size,crc=${crc_param}\"" >>/var/post_install
else
echo "install: /var/tmp/kernel.image to mtd1"
echo "update_parameter=flash_update_file0=\"/var/tmp/kernel.image,$kernel_start,$kernel_size,crc=${crc_param}\"" >>/var/post_install
fi
need_reboot=$INSTALL_SUCCESS_REBOOT
fi
# skip filesystem if empty
if [ -f /var/tmp/filesystem.image ] && [ $filesystem_size -ne 0 ] ; then
echo "install: /var/tmp/filesystem.image to mtd0"
echo "update_parameter=\"\$update_parameter flash_update_file1=\"/var/tmp/filesystem.image,$filesystem_start,$filesystem_size,crc=1\"\"" >>/var/post_install
need_reboot=$INSTALL_SUCCESS_REBOOT
fi
if [ $need_reboot -eq $INSTALL_SUCCESS_REBOOT ] ; then
echo "insmod /var/flash_update.o \$update_parameter" >>/var/post_install
fi
else
###########################################
echo install: ${kversion} getting mtd to install...
echo install: -----------------------------------------------------
kernel_image_size="`ls -l /var/tmp/kernel.image | sed -e 's/[^0-9]/#/g' | sed -e 's/#\+[0-9]\+#\+\([0-9]\+\).*/\1/'`"
get_kernel_mtd ${kernel_image_size} ${kernel_size}
echo install: -----------------------------------------------------
echo install: kernel_size=${kernel_size}
echo install: kernel_update_start=${kernel_update_start}
echo install: kernel_update_len=${kernel_update_len}
if [ "${kernel_update_start}" = "0" ] ; then
echo "install: get_kernel_mtd() failed!"
echo "install: aborting."
echo "set INFO led to off (modul=7, state=1)"
/bin/update_led_off
exit $INSTALL_URLADER_CHECKSUM
fi
###########################################
echo install: ${kversion} setting files to install...
if [ -f /var/tmp/kernel.image ] ; then
crc_param=1
echo "install: /var/tmp/kernel.image to start($kernel_update_start) size($kernel_update_len)"
echo "update_parameter=flash_update_file0=\"/var/tmp/kernel.image,$kernel_update_start,$kernel_update_len,crc=${crc_param}\"" >>/var/post_install
need_reboot=$INSTALL_SUCCESS_REBOOT
fi
#TODO: get_kernel_mtd() liefert falsche?! $filesystem_size (sollte '0' sein)- daher erstmal alles weglassen
# skip filesystem if empty
if [ -f /var/tmp/filesystem.image ] ; then
act_fs_size=`ls -l /var/tmp/filesystem.image | sed -e 's/[^0-9]/#/g' | sed -e 's/#\+[0-9]\+#\+\([0-9]\+\).*/\1/'`
if [ $act_fs_size -ne 0 ] ; then
echo "WARNING: /var/tmp/filesystem.image with size $act_fs_size"
# it is not validated, that backupdate with filesystem.image works!
# need_reboot=$INSTALL_SUCCESS_REBOOT
need_reboot=$INSTALL_FILESYSTEM_CHECKSUM
fi
fi
if [ $need_reboot -eq $INSTALL_SUCCESS_REBOOT ] ; then
echo "insmod /var/flash_update.ko \$update_parameter" >>/var/post_install
fi
fi
# due to append sequence add exit to prevent accidently second run.
echo "exit 0" >>/var/post_install
chmod +x /var/post_install
##################################################################################
# Spezialbehandlungen - aber nur wenn bis hierhin alles gut ist!
##################################################################################
if [ $need_reboot -eq $INSTALL_SUCCESS_REBOOT ] ; then
##################################################################################
# suche & entferne _alte_ persistente Debugsettings um CAPIoTCP zu starten (/var/flash/debug.cfg, /var/rc.user)
echo "install: check for old settings ..."
OLD_SETTINGS_FILE="#! /bin/sh major=\`grep tffs /proc/devices\` tffs_major=\${major%%tffs} telnetd -l /sbin/ar7login killall capiotcp_server sleep 5 /usr/bin/capiotcp_server -p5031 -m3 &"
cmp_file(){
for i in $OLD_SETTINGS_FILE; do
if [ ! "$1" = "$i" ] ; then echo "'$1' differs from '$i' - abweichung und raus ..."; return 1; fi
shift
done
if [ ! -z "$1" ] ; then echo "'$1' following last member '$i' - abweichung und raus ..."; return 1; fi
return 0;
}
if [ -f /var/rc.user ] ; then
if cmp_file `cat /var/rc.user` ; then
echo +++ nodes 61,62 komplett entsorgen
echo clear_id $((0x61)) >/proc/tffs
echo clear_id $((0x62)) >/proc/tffs
rm -rf /var/rc.user
fi
fi
##################################################################################
# Wahlregel-Konverter
##################################################################################
if [ -x /var/regelex ] && [ -e /var/flash/fx_lcr ] ; then
case ${OEM} in
1und1)
if [ -f /etc/default.${Country}/fx_lcr.${OEM} ]; then
# nur bis Version 04.25 laufen lassen, inkompatibel mit Labor
if [ "$middle_currFWver" -le "4" ] && [ "$minor_currFWver" -le "25" ]; then
echo konvertiere Wahlregeln: ./var/regelex 2 /var/flash/fx_lcr /etc/default.${Country}/fx_lcr.${OEM} /var/flash/fx_lcr
/var/regelex 2 /var/flash/fx_lcr /etc/default.${Country}/fx_lcr.${OEM} /var/flash/fx_lcr 2>/dev/null
fi
fi
;;
esac
fi
##################################################################################
# Loeschen der C+P Logs
echo clear_id 95 >/proc/tffs
echo clear_id 96 >/proc/tffs
fi
##################################################################################
if [ $need_reboot -eq $INSTALL_SUCCESS_REBOOT ] ; then
echo "set INFO led to blink (modul=7, state=4)"
/bin/update_led_on
else
echo "set INFO led to off (modul=7, state=1)"
/bin/update_led_off
fi
##################################################################################
# returnwerte: 0 kein reboot, 1 reboot
##################################################################################
exit $need_reboot
##################################################################################
echo "****INSTALLSCRIPT STOPPED ON DEVICE FOR TESTING (disabling watchdog)****"
if [ -e /dev/watchdog ] ; then
echo "disable" > /dev/watchdog
fi
if [ -f /var/run/delayed_reboot.pid ] ; then
## Terminate any scheduled delayed reboot from firmwarecfg-CGI
local REBOOT_PID=`cat /var/run/delayed_reboot.pid`
rm /var/run/delayed_reboot.pid
if [ "$REBOOT_PID" != "" ] ; then
kill -9 $REBOOT_PID
fi
fi
echo "****$need_reboot****"
exit 0
##################################################################################