- # make /root/live writable for moving filesystems
- mkdir -p "${rootmnt}/live"
- mount -t tmpfs tmpfs "${rootmnt}/live"
-
- # move all mountpoints to root filesystem
- for _DIRECTORY in rofs persistence
- do
- if [ -d "/live/${_DIRECTORY}" ]
- then
- mkdir -p "${rootmnt}/live/${_DIRECTORY}"
-
- for _MOUNT in $(ls /live/${_DIRECTORY})
- do
- mkdir -p "${rootmnt}/live/${_DIRECTORY}/${_MOUNT}"
- mount -o move "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/live/${_DIRECTORY}/${_MOUNT}" > /dev/null 2>&1 || \
- mount -o bind "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/live/${_DIRECTORY}/${_MOUNT}" || \
- log_warning_msg "W: failed to mount /live/${_DIRECTORY}/${_MOUNT} to ${rootmnt}/live/${_DIRECTORY}/${_MOUNT}"
- done
- fi
- done
-
- mkdir -p "${rootmnt}/live/overlay"
- mount -o move /live/overlay "${rootmnt}/live/overlay" > /dev/null 2>&1 || \
- mount -o bind /overlay "${rootmnt}/live/overlay" || \
- log_warning_msg "W: failed to mount /overlay to ${rootmnt}/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 > /dev/null 2>&1 || true