X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Fboot%2F9990-overlay.sh;h=c6de171a3b60f73c2b840921ba933f726501495b;hb=659360c19ad0a28a430545149fc2c4f834d11007;hp=4739042a0da8a7f6a8c8b42a82412bd61d8ead43;hpb=66eca236cac88042f33cf50984fec5dde417894d;p=live-boot-grml.git diff --git a/scripts/boot/9990-overlay.sh b/scripts/boot/9990-overlay.sh index 4739042..c6de171 100755 --- a/scripts/boot/9990-overlay.sh +++ b/scripts/boot/9990-overlay.sh @@ -323,7 +323,8 @@ setup_unionfs () then # FIXME: handle PERSISTENCE_READONLY unionmountopts="-t ${cow_fstype} -o noatime,union,${cow_mountopt} ${cowdevice}" - mount_full $unionmountopts "${unionmountpoint}" + # unionmount only works with util-linux mount + mount.util-linux $unionmountopts "${unionmountpoint}" else cow_dir="/live/overlay${dir}" rootfs_dir="${rootfs}${dir}" @@ -370,29 +371,6 @@ setup_unionfs () esac done - # move all /live mountpoints that the custom persistence - # system depends on into /lib/live on the root filesystem - for _DIRECTORY in rootfs - do - if [ -d "/live/${_DIRECTORY}" ] - then - mkdir -p "${rootmnt}/lib/live/mount/${_DIRECTORY}" - - for _MOUNT in $(ls /live/${_DIRECTORY}) - do - mkdir -p "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" - mount -o move "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" > /dev/null 2>&1 || \ - mount -o bind "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" || \ - log_warning_msg "W: failed to mount /live/${_DIRECTORY}/${_MOUNT} to ${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" - done - fi - done - - mkdir -p "${rootmnt}/lib/live/mount/overlay" - mount -o move /live/overlay "${rootmnt}/lib/live/mount/overlay" > /dev/null 2>&1 || \ - mount -o bind /live/overlay "${rootmnt}/lib/live/mount/overlay" || \ - log_warning_msg "W: failed to mount /live/overlay to ${rootmnt}/lib/live/mount/overlay" - # Adding custom persistence if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ] then @@ -414,7 +392,7 @@ setup_unionfs () # Close unused overlays (e.g. due to missing $persistence_list) for overlay in ${overlay_devices} do - if echo ${used_overlays} | grep -qve "^\(.* \)\?${device}\( .*\)\?$" + if echo ${used_overlays} | grep -qve "^\(.* \)\?${overlay}\( .*\)\?$" then close_persistence_media ${overlay} fi @@ -424,5 +402,5 @@ setup_unionfs () # ensure that a potentially stray tmpfs gets removed # otherways, initramfs-tools is unable to remove /live # and fails to boot - umount /live/overlay || true + umount /live/overlay > /dev/null 2>&1 || true }