| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- #!/bin/sh
- if [ $# == 3 ]
- then
- if [ "$1" = "ls" ]
- then
- if [ ! -d $2 ]
- then
- mkdir $2
- fi
-
- /bin/ls $2 > $3
- exit 0
- fi
- fi
- #app_from_nfs=y
- app_name=335x_dftu
- app_jffs2_name=app_"$app_name".jffs2
- image_flash_name=flash_"$app_name".bin
- nfs_server=192.168.64.250
- app_ko="$app_name".ko
- app_nfs=/mnt/nfs/app/"$app_ko"
- app_flash=/app/"$app_ko"
- app_flash_bak=/app/"$app_ko".bak
- env_file=/tmp/env.dat
- app_disable=`printenv app_disable`
- PIDS=`pidof gprs_app`
- lsmod | grep "gprs_driver" > /dev/null
- if [ $? != 0 ]
- then
- insmod /app/gprs_driver.ko
- fi
- # sunxi 20191022 added start
- pidof cat > /dev/null
- if [ $? -eq 1 ]; then
- cat /proc/kmsg >> /tmp/kmsg &
- fi
- mkdir -p /app/IEC61850
- mkdir -p /app/IEC61850/appdata
- mkdir -p /app/IEC61850/cfg
- stty cols 168
- # sunxi 20191024 added end
- printenv updapp | grep "$app_jffs2_name" > /dev/null
- if [ $? != 0 ]
- then
- setenv updapp "tftp \${loadaddr} $app_jffs2_name;erase 800000 ffffff;cp.b \${loadaddr} 800000 \${filesize}"
- fi
- printenv updall | grep "$image_flash_name" > /dev/null
- if [ $? != 0 ]
- then
- setenv updall "tftp \${loadaddr} $image_flash_name;prot off 0 7ffff;erase 0 ffffff;cp.b \${loadaddr} 0 \${filesize}"
- fi
- if test -n "`pidof rt_console`"; then
- kill -INT `pidof rt_console`
- echo "rt_console stop!"
- fi
- mode=${1:-start}
- if [ "$mode" = "kill" ]
- then
- # remove module
- lsmod | grep "$app_name" > /dev/null
- if [ $? == 0 ]
- then
- rmmod "$app_name"
- fi
- #
- insmod /$app_flash m_reset=1
- fi
- if [ "$mode" = "stop" ]
- then
- # remove module
- lsmod | grep "$app_name" > /dev/null
- if [ $? == 0 ]
- then
- rmmod "$app_name"
- fi
-
- # umount nfs
- mount | grep nfs > /dev/null
- if [ $? == 0 ]
- then
- umount /mnt/nfs
- fi
- if test -n "`pidof gprs_app`"; then
- kill -INT `pidof gprs_app`
- echo "gprs_app stop!"
- fi
- if test -n "`pidof pppd`"; then
- kill -INT `pidof pppd`
- echo "pppd stop!"
- fi
- fi
- if [ "$mode" = "start" ]
- then
- # show all kernel log messages
- echo 8 > /proc/sys/kernel/printk
-
- #
- echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
- echo 1 > /proc/sys/net/ipv4/conf/eth1/arp_ignore
- echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
-
- #time zone
- export TZ="CST-8"
- #env file
- echo ethact=`printenv ethact` > $env_file
- echo ipaddr=`printenv ipaddr` >> $env_file
- echo netmask=`printenv netmask` >> $env_file
- echo gatewayip=`printenv gatewayip` >> $env_file
-
- echo ver_u_boot=`printenv version` >> $env_file
- echo ver_kernel=`cat /proc/kernel_version` >> $env_file
- echo ver_root_fs=`cat /etc/rootfs-release` >> $env_file
- echo auth=`printenv auth 2>/dev/null` >> $env_file
- echo mt_port_on=`printenv mt_port_on 2>/dev/null` >> $env_file
- # echo mt_port_on=1 >> $env_file
- echo pid=`printenv pid 2>/dev/null` >> $env_file
- echo net1mac=`printenv net1mac 2>/dev/null` >> $env_file
- echo net2mac=`printenv net2mac 2>/dev/null` >> $env_file
- echo net3mac=`printenv net3mac 2>/dev/null` >> $env_file
- echo goose_enable=1 >> $env_file
-
- # mount nfs
- if [ "$app_from_nfs" = "y" ]
- then
- mount | grep nfs > /dev/null
- if [ $? != 0 ]
- then
- echo mount -t nfs $nfs_server:/tftpboot/ltib/ /mnt/nfs -o nolock
- mount -t nfs $nfs_server:/tftpboot/ltib/ /mnt/nfs -o nolock
- fi
- fi
-
- # rmmod
- lsmod | grep "$app_name" > /dev/null
- if [ $? == 0 ]
- then
- rmmod "$app_name"
- fi
-
- # insmod
- if [ "$app_from_nfs" = "y" ]
- then
- echo Load $app_nfs from nfs:$nfs_server...
-
- # check crc
- crc_target -c $app_nfs
- if [ $? == 0 ]
- then
- echo CRC Check OK!
- insmod $app_nfs
- else
- echo CRC Check Error,Stop Load!
- fi
- else
- #update file
- # sunxi 20191113 注释掉以下脚本
- # if [ -e $app_flash_bak ]
- # then
- # crc_target -c $app_flash_bak
- # if [ $? == 0 ]
- # then
- # echo $app_flash_bak CRC Check OK!
- # echo update file...
- # rm $app_flash
- # mv $app_flash_bak $app_flash
- # else
- # echo CRC Check Error,rm $app_flash_bak!
- # rm $app_flash_bak
- # fi
- # fi
- ifconfig eth1 192.168.2.100
- if [ $app_disable == "1" ]
- then
- echo "app_disable == 1"
- exit
- fi
- echo Load $app_flash from flash...
-
- #check crc
- crc_target -c $app_flash
- if [ $? == 0 ]
- then
- echo CRC Check OK!
- call_server
- if [ $? == 0 ]
- then
- echo "The application was disabled by pc tool!"
- exit 0
- fi
-
- # sunxi 20191113 备份ko文件
- if [ ! -e $app_flash_bak ]; then
- cp $app_flash $app_flash_bak
- fi
-
- insmod /$app_flash
-
- if test -z "$PIDS"; then
- chmod +x /app/gprs_app
- cp /app/gprs_app /var/
- chmod +x /var/gprs_app
- cd /var
- ./gprs_app &
- echo "gprs_app start running"
- fi
- pidof "ghc1000" > /dev/null
- if [ $? != 0 -a -e "/app/ghc1000" ]
- then
- cd /app
- chmod +x ./ghc1000
- ./ghc1000 &
- fi
-
- else
- echo CRC Check Error,Stop Load!
- # sunxi 20191113 恢复ko文件
- if [ -e $app_flash_bak ]; then
- crc_target -c $app_flash_bak
- if [ $? == 0 ]; then
- echo "恢复ko文件,请不要断电......"
- cp $app_flash_bak $app_flash
- echo "恢复成功,重启系统......"
- sleep 1
- reboot -f
- fi
- fi
- fi
- fi
- fi
|