X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/dfc66eb1b50769167f78fd3341dce51d77549bcd..77ec3b2de9bb1880b258ec6aaf4949f146f6fd8d:/package/block-mount/files/fstab.init diff --git a/package/block-mount/files/fstab.init b/package/block-mount/files/fstab.init index a3e0338f4..f54051ebb 100644 --- a/package/block-mount/files/fstab.init +++ b/package/block-mount/files/fstab.init @@ -8,6 +8,31 @@ START=20 +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" config_mount_by_section "$cfg" @@ -41,13 +66,11 @@ start() { config_load fstab mkdir -p /var/lock - lock -w /var/lock/fstab.lck && { - lock /var/lock/fstab.lck - [ -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 + lock /var/lock/fstab.lck + [ -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_swapon swap config_foreach do_mount mount config_foreach do_swapon swap # do swap a second time so that swap on filesystems is enabled