#
-. /lib/functions/block.sh
-. /lib/functions/fsck.sh
+pi_include /lib/functions/block.sh
+pi_include /lib/functions/fsck.sh
config_mount_by_section() {
local cfg="$1"
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 [ "$find_rootfs" != "1" ] || ( [ "$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" = "1" ]; then
+ if [ "$is_rootfs" -eq 1 ]; then
target=/overlay
- }
+ elif [ "$target" = "/" ]; then
+ target=/rom
+ fi
+ else
+ if [ "$is_rootfs" -eq 1 ] || [ "$target" = "/overlay" ]; then
+ target=/tmp/overlay-disabled
+ elif [ "$target" = "/" ] || [ "$target" = "/rom" ]; then
+ target="/tmp/whole_root-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" = "1" ] && {
+ [ "$target" = "/overlay" ] && {
+ rootfs_found=1
+ }
+ [ "$target" = "/rom" ] && {
rootfs_found=1
+ }
}
return 0
}