- modprobe -q -b ${UNIONTYPE}
- ;;
- esac
-
- # 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
- # some other apps.
+ if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$"
+ then
+ panic "${UNIONTYPE} not available."
+ fi
- case "${UNIONTYPE}" in
- unionmount)
- mpoint="${rootmnt}"
- rootfslist="${rootmnt} ${rootfslist}"
- ;;
-
- *)
- mpoint="${croot}/${imagename}"
- rootfslist="${mpoint} ${rootfslist}"
- ;;
- esac
+ mpoint=$(trim_path "${croot}/${imagename}")
+ rootfslist="${mpoint} ${rootfslist}"
mkdir -p "${mpoint}"
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
mkdir -p "${mpoint}"
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
- if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
- then
- mount -t tmpfs -o rw,noatime,mode=755 tmpfs "/live/overlay"
- root_backing="/live/persistence/$(basename ${cowdevice})-root"
- mkdir -p ${root_backing}
- else
- root_backing="/live/overlay"
- fi
+ mount -t tmpfs -o rw,noatime,mode=755,size=${OVERLAY_SIZE:-50%} tmpfs "/run/live/overlay"
+ root_backing="/run/live/persistence/$(basename ${cowdevice})-root"
+ mkdir -p ${root_backing}
+ else
+ root_backing="/run/live/overlay"
+ fi
- if [ "${cow_fstype}" = "nfs" ]
- then
- log_begin_msg \
- "Trying nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing}"
- nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing} || \
- panic "Can not mount ${cowdevice} (n: ${cow_fstype}) on ${root_backing}"
- else
- mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} ${root_backing} || \
- panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on ${root_backing}"
- fi
+ if [ "${cow_fstype}" = "nfs" ]
+ then
+ log_begin_msg \
+ "Trying nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing}"
+ nfsmount ${nfs_cow_opts} ${cowdevice} ${root_backing} || \
+ panic "Can not mount ${cowdevice} (n: ${cow_fstype}) on ${root_backing}"
+ else
+ mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} ${root_backing} || \
+ panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on ${root_backing}"
- # FIXME: handle PERSISTENCE_READONLY
- unionmountopts="-t ${cow_fstype} -o noatime,union,${cow_mountopt} ${cowdevice}"
- # unionmount only works with util-linux mount
- mount.util-linux $unionmountopts "${unionmountpoint}"
+ do_union ${unionmountpoint} ${cow_dir} ${root_backing} ${rootfs_dir}
- cow_dir="/live/overlay${dir}"
- rootfs_dir="${rootfs}${dir}"
- mkdir -p ${cow_dir}
- if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
- then
- do_union ${unionmountpoint} ${cow_dir} ${root_backing} ${rootfs_dir}
- else
- do_union ${unionmountpoint} ${cow_dir} ${rootfs_dir}
- fi
+ do_union ${unionmountpoint} ${cow_dir} ${rootfs_dir}
- live_rootfs_list=""
- for d in ${rootfslist}
- do
- live_rootfs="/live/rootfs/${d##*/}"
- live_rootfs_list="${live_rootfs_list} ${live_rootfs}"
- mkdir -p "${live_rootfs}"
- case "${d}" in
- *.dir)
- # do nothing # mount -o bind "${d}" "${live_rootfs}"
- ;;
- *)
- mount -o move "${d}" "${live_rootfs}"
- ;;
- esac
- done
-
# Gather information about custom mounts from devies detected as overlays
get_custom_mounts ${custom_mounts} ${overlay_devices}
# Gather information about custom mounts from devies detected as overlays
get_custom_mounts ${custom_mounts} ${overlay_devices}