base-files: make firstboot ask for confirmation
authorjogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 21 Feb 2013 11:45:14 +0000 (11:45 +0000)
committerjogo <jogo@3c298f89-4303-0410-b956-a3cf2f4a3e73>
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35712 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/files/sbin/firstboot

index 7e9731b..e7c0851 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