X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=components%2F9990-overlay.sh;h=25192c5476fba004c0008180b9351504976d7c3a;hb=9f0266a0a0e66de04153c4c9caa5e19c92b111c1;hp=92d0355da57958557ee28c0a69031a735b9968b7;hpb=73d837abfd95add4e0792ef27df8c7eea8a7388f;p=live-boot-grml.git diff --git a/components/9990-overlay.sh b/components/9990-overlay.sh index 92d0355..25192c5 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 @@ -188,7 +190,7 @@ setup_unionfs () if is_in_comma_sep_list overlay ${PERSISTENCE_METHOD} then - overlays="${custom_overlay_label}" + overlays="${old_root_overlay_label} ${old_home_overlay_label} ${custom_overlay_label} ${old_custom_overlay_label}" fi local overlay_devices @@ -200,10 +202,27 @@ setup_unionfs () media="$(echo ${media} | tr ":" " ")" case ${media} in + ${old_root_overlay_label}=*) + device="${media#*=}" + fix_backwards_compatibility ${device} / union + overlay_devices="${overlay_devices} ${device}" + ;; + + ${old_home_overlay_label}=*) + device="${media#*=}" + fix_backwards_compatibility ${device} /home bind + overlay_devices="${overlay_devices} ${device}" + ;; + ${custom_overlay_label}=*) device="${media#*=}" overlay_devices="${overlay_devices} ${device}" ;; + + ${old_custom_overlay_label}=*) + device="${media#*=}" + overlay_devices="${overlay_devices} ${device}" + ;; esac done fi @@ -355,8 +374,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 }