1*4882a593Smuzhiyun#!/bin/bash 2*4882a593Smuzhiyun 3*4882a593Smuzhiyundelay=8 4*4882a593Smuzhiyuntotal=${1:-10000} 5*4882a593SmuzhiyunCNT=/userdata/rockchip-test/reboot_cnt 6*4882a593Smuzhiyun 7*4882a593Smuzhiyunif [ ! -e "/userdata//rockchip-test" ]; then 8*4882a593Smuzhiyun echo "no /userdata/rockchip-test" 9*4882a593Smuzhiyun mkdir -p /userdata/rockchip-test 10*4882a593Smuzhiyunfi 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunif [ ! -e "/userdata/rockchip-test/auto_reboot.sh" ]; then 13*4882a593Smuzhiyun cp /rockchip-test/auto_reboot/auto_reboot.sh /userdata/rockchip-test 14*4882a593Smuzhiyun echo $total > /userdata/rockchip-test/reboot_total_cnt 15*4882a593Smuzhiyun sync 16*4882a593Smuzhiyunfi 17*4882a593Smuzhiyun 18*4882a593Smuzhiyunwhile true 19*4882a593Smuzhiyundo 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunif [ -e $CNT ] 22*4882a593Smuzhiyunthen 23*4882a593Smuzhiyun cnt=`cat $CNT` 24*4882a593Smuzhiyunelse 25*4882a593Smuzhiyun echo reset Reboot count. 26*4882a593Smuzhiyun echo 0 > $CNT 27*4882a593Smuzhiyunfi 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunecho Reboot after $delay seconds. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyunlet "cnt=$cnt+1" 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunif [ $cnt -ge $total ] 34*4882a593Smuzhiyunthen 35*4882a593Smuzhiyun echo AutoReboot Finisned. 36*4882a593Smuzhiyun echo "off" > $CNT 37*4882a593Smuzhiyun echo "do cleaning ..." 38*4882a593Smuzhiyun rm -rf /userdata/rockchip-test/auto_reboot.sh 39*4882a593Smuzhiyun rm -rf /userdata/rockchip-test/reboot_total_cnt 40*4882a593Smuzhiyun rm -f $CNT 41*4882a593Smuzhiyun sync 42*4882a593Smuzhiyun exit 0 43*4882a593Smuzhiyunfi 44*4882a593Smuzhiyun 45*4882a593Smuzhiyunecho $cnt > $CNT 46*4882a593Smuzhiyunecho "current cnt = $cnt, total cnt = $total" 47*4882a593Smuzhiyunecho "You can stop reboot by: echo off > /userdata/rockchip-test/reboot_cnt" 48*4882a593Smuzhiyunsleep $delay 49*4882a593Smuzhiyuncnt=`cat $CNT` 50*4882a593Smuzhiyunif [ $cnt != "off" ]; then 51*4882a593Smuzhiyun sync 52*4882a593Smuzhiyun if [ -e /sys/fs/pstore/console-ramoops-0 ]; then 53*4882a593Smuzhiyun echo "check console-ramoops-o message" 54*4882a593Smuzhiyun grep -q "Restarting system" /sys/fs/pstore/console-ramoops-0 55*4882a593Smuzhiyun if [ $? -ne 0 -a $cnt -ge 2 ]; then 56*4882a593Smuzhiyun echo "no found 'Restarting system' log in last time kernel message" 57*4882a593Smuzhiyun echo "consider kernel crash in last time reboot test" 58*4882a593Smuzhiyun echo "quit reboot test" 59*4882a593Smuzhiyun rm -rf /userdata/rockchip-test/auto_reboot.sh 60*4882a593Smuzhiyun rm -rf /userdata/rockchip-test/reboot_total_cnt 61*4882a593Smuzhiyun sync 62*4882a593Smuzhiyun exit 1 63*4882a593Smuzhiyun else 64*4882a593Smuzhiyun reboot 65*4882a593Smuzhiyun fi 66*4882a593Smuzhiyun else 67*4882a593Smuzhiyun reboot 68*4882a593Smuzhiyun fi 69*4882a593Smuzhiyunelse 70*4882a593Smuzhiyun echo "Auto reboot is off" 71*4882a593Smuzhiyun rm -rf /userdata/rockchip-test/auto_reboot.sh 72*4882a593Smuzhiyun rm -rf /userdata/rockchip-test/reboot_total_cnt 73*4882a593Smuzhiyun rm -f $CNT 74*4882a593Smuzhiyun sync 75*4882a593Smuzhiyunfi 76*4882a593Smuzhiyunexit 0 77*4882a593Smuzhiyundone 78