done
fi
- case "${PERSISTENCE_MEDIA}" in
- removable)
- whitelistdev="$(removable_dev)"
- ;;
-
- removable-usb)
- whitelistdev="$(removable_usb_dev)"
- ;;
+ local whitelistdev
+ whitelistdev=""
+ if [ -n "${PERSISTENCE_MEDIA}" ]
+ then
+ case "${PERSISTENCE_MEDIA}" in
+ removable)
+ whitelistdev="$(removable_dev)"
+ ;;
- *)
- whitelistdev=""
- ;;
- esac
+ removable-usb)
+ whitelistdev="$(removable_usb_dev)"
+ ;;
+ esac
+ if [ -z "${whitelistdev}" ]
+ then
+ whitelistdev="ignore_all_devices"
+ fi
+ fi
if is_in_comma_sep_list overlay ${PERSISTENCE_METHOD}
then
overlays="${custom_overlay_label}"
fi
- local overlay_devices=""
- for media in $(find_persistence_media "${overlays}" "${whitelistdev}")
- do
- media="$(echo ${media} | tr ":" " ")"
+ local overlay_devices
+ overlay_devices=""
+ if [ "${whitelistdev}" != "ignore_all_devices" ]
+ then
+ for media in $(find_persistence_media "${overlays}" "${whitelistdev}")
+ do
+ media="$(echo ${media} | tr ":" " ")"
- case ${media} in
- ${custom_overlay_label}=*)
- device="${media#*=}"
- overlay_devices="${overlay_devices} ${device}"
- ;;
- esac
- done
+ case ${media} in
+ ${custom_overlay_label}=*)
+ device="${media#*=}"
+ overlay_devices="${overlay_devices} ${device}"
+ ;;
+ esac
+ done
+ fi
elif [ -n "${NFS_COW}" ] && [ -z "${NOPERSISTENCE}" ]
then
# check if there are any nfs options
then
# FIXME: handle PERSISTENCE_READONLY
unionmountopts="-t ${cow_fstype} -o noatime,union,${cow_mountopt} ${cowdevice}"
- mount_full $unionmountopts "${unionmountpoint}"
+ # unionmount only works with util-linux mount
+ mount.util-linux $unionmountopts "${unionmountpoint}"
else
cow_dir="/live/overlay${dir}"
rootfs_dir="${rootfs}${dir}"
# Adding custom persistence
if [ -n "${PERSISTENCE}" ] && [ -z "${NOPERSISTENCE}" ]
then
- local custom_mounts="/tmp/custom_mounts.list"
+ local custom_mounts
+ custom_mounts="/tmp/custom_mounts.list"
rm -rf ${custom_mounts} 2> /dev/null
# Gather information about custom mounts from devies detected as overlays
get_custom_mounts ${custom_mounts} ${overlay_devices}
- [ -n "${DEBUG}" ] && cp ${custom_mounts} "/live/persistence"
+ [ -n "${DEBUG}" ] && cp ${custom_mounts} "/lib/live/mount/persistence"
# Now we do the actual mounting (and symlinking)
- local used_overlays=""
+ local used_overlays
+ used_overlays=""
used_overlays=$(activate_custom_mounts ${custom_mounts})
rm ${custom_mounts}
done
fi
- # move all mountpoints to root filesystem
- for _DIRECTORY in rootfs persistence
- do
- if [ -d "/live/${_DIRECTORY}" ]
- then
- mkdir -p "${rootmnt}/lib/live/mount/${_DIRECTORY}"
-
- for _MOUNT in $(ls /live/${_DIRECTORY})
- do
- mkdir -p "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}"
- mount -o move "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" > /dev/null 2>&1 || \
- mount -o bind "/live/${_DIRECTORY}/${_MOUNT}" "${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}" || \
- log_warning_msg "W: failed to mount /live/${_DIRECTORY}/${_MOUNT} to ${rootmnt}/lib/live/mount/${_DIRECTORY}/${_MOUNT}"
- done
- fi
- done
-
- mkdir -p "${rootmnt}/lib/live/mount/overlay"
- mount -o move /live/overlay "${rootmnt}/lib/live/mount/overlay" > /dev/null 2>&1 || \
- mount -o bind /live/overlay "${rootmnt}/lib/live/mount/overlay" || \
- log_warning_msg "W: failed to mount /live/overlay to ${rootmnt}/lib/live/mount/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
+ umount /live/overlay > /dev/null 2>&1 || true
}