X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=components%2F9990-overlay.sh;h=d1b9cef44d3479c3eb4cf1d5711c38c82c6ee7bf;hb=4574758abec5d6f661742567c14a89c240ccd0b3;hp=54b75e50d4c887f7bb403e2507f758cb48926f16;hpb=f2dcec3f21086a557db86ae928295474be79d35b;p=live-boot-grml.git diff --git a/components/9990-overlay.sh b/components/9990-overlay.sh index 54b75e5..d1b9cef 100755 --- a/components/9990-overlay.sh +++ b/components/9990-overlay.sh @@ -8,13 +8,13 @@ setup_unionfs () rootmnt="${2}" addimage_directory="${3}" + modprobe -q -b ${UNIONTYPE} + if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$" then panic "${UNIONTYPE} not available." fi - modprobe -q -b ${UNIONTYPE} - # run-init can't deal with images in a subdir, but we're going to # move all of these away before it runs anyway. No, we're not, # put them in / since move-mounting them into / breaks mono and @@ -117,6 +117,8 @@ setup_unionfs () log_begin_msg "Mounting \"${image}\" on \"${mpoint}\" via \"${backdev}\"" mount -t "${fstype}" -o ro,noatime "${backdev}" "${mpoint}" || panic "Can not mount ${backdev} (${image}) on ${mpoint}" log_end_msg + else + log_warning_msg "Could not find image '${image}'. Most likely it is listed in a .module file, perhaps by mistake." fi done else @@ -272,7 +274,7 @@ setup_unionfs () panic "only one RO file system supported with exposedroot: ${rootfslist}" fi - mount --bind ${rootfs} ${rootmnt} || \ + mount -o bind ${rootfs} ${rootmnt} || \ panic "bind mount of ${rootfs} failed" if [ -z "${SKIP_UNION_MOUNTS}" ] @@ -299,6 +301,9 @@ setup_unionfs () fi || panic "mount ${UNIONTYPE} on ${unionmountpoint} failed with option ${unionmountopts}" done + # Remove persistence depending on boot parameter + Remove_persistence + # Correct the permissions of /: chmod 0755 "${rootmnt}" @@ -352,8 +357,8 @@ setup_unionfs () done fi - # 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 + # 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 }