- # make /root/lib/live writable for moving filesystems
- mkdir -p "${rootmnt}/lib/live"
- mount -t tmpfs tmpfs "${rootmnt}/lib/live"
-
- # move all mountpoints to root filesystem
- for _DIRECTORY in rofs persistence
- do
- if [ -d "/live/${_DIRECTORY}" ]
- then
- mkdir -p "${rootmnt}/lib/live/${_DIRECTORY}"
-
- for _MOUNT in $(ls /live/${_DIRECTORY})
- do
- mkdir -p "${rootmnt}/lib/live/${_DIRECTORY}/${_MOUNT}"
- mount -o move "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/${_DIRECTORY}/${_MOUNT}" > /dev/null 2>&1 || \
- mount -o bind "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/${_DIRECTORY}/${_MOUNT}" || \
- log_warning_msg "W: failed to mount /live/${_DIRECTORY}/${_MOUNT} to ${rootmnt}/lib/live/${_DIRECTORY}/${_MOUNT}"
- done
- fi
- done
-
- mkdir -p "${rootmnt}/lib/live/overlay"
- mount -o move /live/overlay "${rootmnt}/lib/live/overlay" > /dev/null 2>&1 || \
- mount -o bind /live/overlay "${rootmnt}/lib/live/overlay" || \
- log_warning_msg "W: failed to mount /live/overlay to ${rootmnt}/lib/live/overlay"
-
+ # ensure that a potentially stray tmpfs gets removed
+ # otherways, initramfs-tools is unable to remove /live
+ # and fails to boot
+ umount /live/overlay || true