|
@@ -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
|
|
|
}
|