Explorar o código

base-files: rework reset button script to indicate factory reset

With this change we let user know 5 seconds have passed and reset button
can be released (to trigger factory reset)

Signed-off-by: Rafał Miłecki <[email protected]>

SVN-Revision: 46650
John Crispin %!s(int64=10) %!d(string=hai) anos
pai
achega
9b0516c9fc
Modificáronse 1 ficheiros con 21 adicións e 14 borrados
  1. 21 14
      package/base-files/files/etc/rc.button/reset

+ 21 - 14
package/base-files/files/etc/rc.button/reset

@@ -1,20 +1,27 @@
 #!/bin/sh
 
-[ "${ACTION}" = "released" ] || exit 0
-
 . /lib/functions.sh
 
-logger "$BUTTON pressed for $SEEN seconds"
-
-if [ "$SEEN" -lt 1 ]
-then
-	echo "REBOOT" > /dev/console
-	sync
-	reboot
-elif [ "$SEEN" -gt 5 ]
-then
-	echo "FACTORY RESET" > /dev/console
-	jffs2reset -y && reboot &
-fi
+case "$ACTION" in
+pressed)
+	return 5
+;;
+timeout)
+	. /etc/diag.sh
+	set_state failsafe
+;;
+released)
+	if [ "$SEEN" -lt 1 ]
+	then
+		echo "REBOOT" > /dev/console
+		sync
+		reboot
+	elif [ "$SEEN" -gt 5 ]
+	then
+		echo "FACTORY RESET" > /dev/console
+		jffs2reset -y && reboot &
+	fi
+;;
+esac
 
 return 0