X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=package%2Fbase-files%2Ffiles%2Flib%2Fpreinit%2F30_failsafe_wait;h=3c5ece9f76f8049845fc498f1ffac57eb89561c2;hb=181bf424027af6f3243645db40afc40bf4bc3dd2;hp=084f9945e8ec3157dfddfdc03ddc9c8b661569f9;hpb=a9929695c6ad0779eaa8cb3d68d37760981d55b7;p=openwrt.git diff --git a/package/base-files/files/lib/preinit/30_failsafe_wait b/package/base-files/files/lib/preinit/30_failsafe_wait index 084f9945e8..3c5ece9f76 100644 --- a/package/base-files/files/lib/preinit/30_failsafe_wait +++ b/package/base-files/files/lib/preinit/30_failsafe_wait @@ -39,7 +39,7 @@ fs_wait_for_key () { rm -f $keypress_wait } & - echo "Press $1 $2" + echo "Press the [$1] key and hit [enter] $2" # if we're on the console we wait for input { while [ -r $keypress_wait ]; do @@ -61,11 +61,9 @@ fs_wait_for_key () { } lock -w $keypress_wait - trap - INT - trap - USR1 - keypressed=1 [ "$(cat $keypress_true)" = "true" ] && keypressed=0 + rm -f $keypress_true rm -f $keypress_wait rm -f $keypress_sec @@ -75,11 +73,15 @@ fs_wait_for_key () { failsafe_wait() { FAILSAFE= - pi_failsafe_net_message=true - preinit_net_echo "Please press button now to enter failsafe" - pi_failsafe_net_message=false - echo -n "Press CTRL-C or " - fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true && export FAILSAFE + grep -q 'failsafe=' /proc/cmdline && FAILSAFE=true && export FAILSAFE + if [ "$FAILSAFE" != "true" ]; then + pi_failsafe_net_message=true + preinit_net_echo "Please press button now to enter failsafe" + pi_failsafe_net_message=false + fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true + [ -f "/tmp/failsafe_button" ] && FAILSAFE=true + [ "$FAILSAFE" = "true" ] && export FAILSAFE && touch /tmp/failsafe + fi } boot_hook_add preinit_main failsafe_wait