base-files: make firstboot ask for confirmation
authorJonas Gorski <jogo@openwrt.org>
Thu, 21 Feb 2013 11:45:14 +0000 (11:45 +0000)
committerJonas Gorski <jogo@openwrt.org>
Thu, 21 Feb 2013 11:45:14 +0000 (11:45 +0000)
To prevent accidential resets ask for confirmation (and default to n).

Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 35712

package/base-files/files/sbin/firstboot

index 7e9731b00a0e2c7d7d6061f098679b636d1b89f0..e7c0851ad045f488751dba3d8a8c42dcf4ddd4cf 100755 (executable)
@@ -20,15 +20,23 @@ set_jffs_part
 if [ "${0##*/}" = "firstboot" ]; then
     if [ "$1" = "switch2jffs" ]; then
        boot_run_hook switch2jffs
-    elif [ -n "$jffs" ]; then
-       reset_has_fo=true
-       echo "firstboot has already been run"
-       echo "jffs2 partition is mounted, only resetting files"
-       boot_run_hook jffs2reset
     else
-       mtd erase "$partname"
-       mount -o noatime "$mtdpart" /overlay -t jffs2
-       fopivot /overlay /rom 1
+       local input
+
+       echo -n  "firstboot will erase all settings and remove any installed packages. Are you sure? [N/y]"
+       read input
+       [ "$input" = "y" ] || [ "$input" = "Y" ] || return 0
+
+       if [ -n "$jffs" ]; then
+           reset_has_fo=true
+           echo "firstboot has already been run"
+           echo "jffs2 partition is mounted, only resetting files"
+           boot_run_hook jffs2reset
+       else
+           mtd erase "$partname"
+           mount -o noatime "$mtdpart" /overlay -t jffs2
+           fopivot /overlay /rom 1
+       fi
     fi
 fi