summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/block-mount/files/mount.sh17
1 files changed, 13 insertions, 4 deletions
diff --git a/package/block-mount/files/mount.sh b/package/block-mount/files/mount.sh
index 583e1a5cab..ade39ad87f 100644
--- a/package/block-mount/files/mount.sh
+++ b/package/block-mount/files/mount.sh
@@ -31,16 +31,23 @@ config_mount_by_section() {
found_device="$(libmount_find_device_by_id "$uuid" "$label" "$device" "$cfgdevice")"
if [ -n "$found_device" ]; then
- if [ -z "$find_rootfs" ] || [ "$find_rootfs" -eq 0 ] || [ "$is_rootfs" -eq 1 ]; then
+ if [ -z "$find_rootfs" ] || [ "$find_rootfs" -eq 0 ] || ( [ "$is_rootfs" -eq 1 ] || [ "$target" = "/" ] || [ "$target" = "/overlay" ] ); then
[ "$enabled_fsck" -eq 1 ] && {
grep -q "$found_device" /proc/swaps || grep -q "$found_device" /proc/mounts || {
libmount_fsck "$found_device" "$fstype" "$enabled_fsck"
}
}
- [ "$is_rootfs" -eq 1 ] && [ "$find_rootfs" -eq 1 ] && {
+ if [ "$find_rootfs" -eq 1 ]; then
+ if [ "$is_rootfs" -eq 1 ]; then
target=/overlay
- }
+ fi
+ else
+ if [ "$is_rootfs" -eq 1 ] || [ "$target" = "/overlay" ]; then
+ target=/tmp/overlay-disabled
+ fi
+ fi
+
config_create_mount_fstab_entry "$found_device" "$target" "$fstype" "$options" "$enabled"
grep -q "$found_device" /proc/swaps || grep -q "$found_device" /proc/mounts || {
[ "$enabled" -eq 1 ] && mkdir -p "$target" && mount "$target" 2>&1 | tee /proc/self/fd/2 | logger -t 'fstab'
@@ -48,8 +55,10 @@ config_mount_by_section() {
fi
fi
- [ "$is_rootfs" -eq 1 ] && [ "$find_rootfs" -eq 1 ] && {
+ [ "$find_rootfs" -eq 1 ] && {
+ [ "$target" = "/overlay" ] && {
rootfs_found=1
+ }
}
return 0
}