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'
fi
fi
- [ "$is_rootfs" -eq 1 ] && [ "$find_rootfs" -eq 1 ] && {
+ [ "$find_rootfs" -eq 1 ] && {
+ [ "$target" = "/overlay" ] && {
rootfs_found=1
+ }
}
return 0
}