--- var/install	2008-02-02 19:00:00.000000000 -0500
+++ var/install	2008-02-02 04:11:52.000000000 -0500
@@ -0,0 +1,550 @@
+#! /bin/sh
+##################################################################################
+kernel_update_device=""
+kernel_update_start=0
+kernel_update_len=0
+name_list=""
+
+get_kernel_mtd() {
+    kernel_image_size=$1
+    state=0
+    name_start=""
+    device=""
+
+    for i in `cat /proc/mtd`; do
+        case $i in
+            mtd*:)
+                device=${i%%:}
+                state=0
+                name_start=""
+                ;;
+            00*)
+                if [ $state -eq 0 ]; then
+                    size=$((0x${i}))
+                    state=1
+                fi
+                ;;
+            \"*\")
+                name=${i%%\"}
+                name=${name##\"}
+#                echo "name=$name"
+                eval "${name}_device=$device"
+                eval "${name}_size=$size"
+                name_list="$name_list ${name}"
+                ;;
+            \"*)
+                name_start="${i##\"}"
+#                echo "(start) name_start=$name_start"
+                ;;
+            \(*\)\")
+                i=${i%%\)\"}
+                i=${i##\(}
+                name=${name_start}_${i%%\"}
+#                echo "name (combined 2)=$name"
+                eval "${name}_device=$device"
+                eval "${name}_size=$size"
+                name_list="$name_list ${name}"
+                ;;
+            *\")
+                name=${name_start}_${i%%\"}
+#                echo "name (combined)=$name"
+                eval "${name}_device=$device"
+                eval "${name}_size=$size"
+                name_list="$name_list ${name}"
+                ;;
+            *)
+                name_start="${name_start}_${i}"
+#                echo "(middle) name_start=$name_start"
+                ;;
+        esac
+    done
+
+    for i in $name_list ; do
+        exec_str="echo ${i}_device=\$${i}_device"
+        eval $exec_str
+        exec_str="echo ${i}_size=\$${i}_size"
+        eval $exec_str
+    done
+    
+    if [ -z "$Kernel_without_jffs2_size" ]; then  
+        Kernel_without_jffs2_size=$kernel_image_size 
+    fi
+    if [ -z "$bootloader_size" ] && [ -n "$urlader_size" ]; then  
+        # support mtd name 'bootloader' or 'urlader'
+        eval "bootloader_size=\$urlader_size"
+        exec_str="echo bootloader_size=\$urlader_size"
+        eval $exec_str
+    fi
+    if [ -z "$bootloader_size" ] ; then
+        kernel_update_start=0
+        return 1
+    fi
+    echo Kernel_Start_Add=$((0x10000000 + $bootloader_size))
+    echo Kernel_End_Addr=$((0x10000000 + $bootloader_size + $kernel_image_size))
+    echo Kernel_without_jffs2_End_Addr=$((0x10000000 + $bootloader_size + $Kernel_without_jffs2_size))
+
+    if [ $kernel_image_size -le $Kernel_without_jffs2_size ] ; then
+        kernel_update_device=$Kernel_without_jffs2_device
+        kernel_update_start=$((0x10000000 + $bootloader_size))
+        kernel_update_len=$Kernel_without_jffs2_size
+        return 0
+    fi
+
+    kernel_update_device=$kernel_device
+    kernel_update_start=$((0x10000000 + $bootloader_size))
+    kernel_update_len=$kernel_image_size
+    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=1
+
+##################################################################################
+# 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"
+	fi
+
+	if [ ! -e /dev/mtdblock/4 ] ; then
+		echo "altes 2MB Memory layout, mtd4 existiert nicht"
+	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=A
+kernel_start=0x90010000
+kernel_size=7798784
+filesystem_start=0x90000000
+filesystem_size=0
+urlader_start=0x90000000
+urlader_size=65536
+newFWver=03.49
+# Versioninfo:	29.04.49
+# Checkpoint:	r9681
+#! /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
+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
+fi
+##################################################################################
+# Downgrade with factorysettings or normal update ?
+##################################################################################
+    ##################################################################################
+    #    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
+        force_update=y
+    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
+                force_update=y
+            fi
+        else
+            echo "DEBUG: $minor_newFWver >= $minor_currFWver"
+        fi
+    else
+        echo "DEBUG: $middle_newFWver > $middle_currFWver"
+    fi
+    echo "Accept Firmware Version: xx.${newFWver}"
+##################################################################################
+# 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
+    ##################################################################################
+    # factorysettings tffs
+    ##################################################################################
+    id=$((0x10))
+    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
+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
+else
+  echo "echo language > /proc/sys/urlader/environment" >>/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: -----------------------------------------------------
+    get_kernel_mtd `ls -l /var/tmp/kernel.image | sed -e 's/[^0-9]/#/g' | sed -e 's/#\+[0-9]\+#\+\([0-9]\+\).*/\1/'`
+    echo install: -----------------------------------------------------
+    echo install: kernel_size=${kernel_size}
+    echo install: kernel_update_device=${kernel_update_device}
+    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
+echo "cat /var/tmp/install_error.log" >>/var/post_install
+echo "cat /var/tmp/install_out.log" >>/var/post_install
+echo "cat /var/tmp/update_error.log" >>/var/post_install
+echo "cat /var/tmp/update_out.log" >>/var/post_install
+echo "cat /var/post_install" >>/var/post_install
+
+# 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
+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
+echo "****$need_reboot****"
+exit 0
+##################################################################################
