diff options
Diffstat (limited to 'package/block-mount/files/mount.sh')
-rw-r--r-- | package/block-mount/files/mount.sh | 17 |
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 } |