summaryrefslogtreecommitdiffstats
path: root/package/base-files/files/lib/preinit/30_failsafe_wait
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/files/lib/preinit/30_failsafe_wait')
-rw-r--r--package/base-files/files/lib/preinit/30_failsafe_wait16
1 files changed, 9 insertions, 7 deletions
diff --git a/package/base-files/files/lib/preinit/30_failsafe_wait b/package/base-files/files/lib/preinit/30_failsafe_wait
index 04dc57df2..bcf24f8bb 100644
--- a/package/base-files/files/lib/preinit/30_failsafe_wait
+++ b/package/base-files/files/lib/preinit/30_failsafe_wait
@@ -61,11 +61,10 @@ fs_wait_for_key () {
}
lock -w $keypress_wait
- trap - INT
- trap - USR1
-
keypressed=1
[ "$(cat $keypress_true)" = "true" ] && keypressed=0
+ [ -f "/tmp/failsafe_button" ] && keypressed=1
+
rm -f $keypress_true
rm -f $keypress_wait
rm -f $keypress_sec
@@ -75,10 +74,13 @@ 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
- 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 && export FAILSAFE
+ fi
}
boot_hook_add preinit_main failsafe_wait