[generic]: 3.0 is out
[openwrt.git] / package / block-mount / files / fstab.init
index bd2bf24..f54051e 100644 (file)
@@ -8,7 +8,30 @@
 
 START=20
 
-. /lib/functions/mount.sh
+EXTRA_COMMANDS="overlay_enable whole_root_enable"
+EXTRA_HELP="        overlay_enable    Reenable overlay rootfs. (After you fix it).
+        whole_root_enable Reenable whole-disk rootfs.  (After you fix it)."
+
+rootfs_enable() {
+       local extroot_type="$1"
+               
+       if [ ! -d /tmp/${extroot_type}-disabled ]; then
+               echo "No disabled ${extroot_type} present (/tmp/${extroot_type}-disabled).  Can't renable."
+               exit 1
+       fi
+       
+       rm -f /tmp/${extroot_type}-disabled/.extroot.md5sum
+       rm -f /tmp/${extroot_type}-disabled/etc/extroot.md5sum
+       echo "Please reboot router to complete re-enabling external rootfs."
+}
+
+overlay_enable() {
+       rootfs_enable overlay
+}
+
+whole_root_enable() {
+       rootfs_enable whole_root
+}
 
 do_mount() {
        local cfg="$1"
@@ -39,19 +62,27 @@ do_swapoff() {
 }
 
 start() {
+       . /lib/functions/mount.sh
+
        config_load fstab
        mkdir -p /var/lock
        lock /var/lock/fstab.lck
-       echo '# WARNING: this is an auto generated file, please use uci to set defined filesystems' > /etc/fstab
+       [ -e /tmp/fstab ] || {
+               echo '# WARNING: this is an auto generated file, please use uci to set defined filesystems' > /tmp/fstab
+       }
        lock -u /var/lock/fstab.lck
-       config_foreach do_mount mount
        config_foreach do_swapon swap
+       config_foreach do_mount mount
+       config_foreach do_swapon swap  # do swap a second time so that swap on filesystems is enabled
 }
 
 stop() {
+       . /lib/functions/mount.sh
+
        config_load fstab
        config_foreach do_unmount mount
        config_foreach do_swapoff swap
        swapoff -a
 }
 
+
This page took 0.027358 seconds and 4 git commands to generate.