rootmnt="${2}"
addimage_directory="${3}"
- case ${UNIONTYPE} in
- aufs|overlay)
- if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$"
- then
- panic "${UNIONTYPE} not available."
- fi
+ modprobe -q -b ${UNIONTYPE}
- modprobe -q -b ${UNIONTYPE}
- ;;
- esac
+ if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$"
+ then
+ panic "${UNIONTYPE} not available."
+ fi
# 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,
;;
esac
- mpoint="${croot}/${imagename}"
+ 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
+ else
+ log_warning_msg "Could not find image '${image}'. Most likely it is listed in a .module file, perhaps by mistake."
fi
done
else
then
cowdevice="tmpfs"
cow_fstype="tmpfs"
- cow_mountopt="rw,noatime,mode=755"
+ cow_mountopt="rw,noatime,mode=755,size=${OVERLAY_SIZE:-50%}"
fi
if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
then
- mount -t tmpfs -o rw,noatime,mode=755 tmpfs "/live/overlay"
+ mount -t tmpfs -o rw,noatime,mode=755,size=${OVERLAY_SIZE:-50%} tmpfs "/live/overlay"
root_backing="/live/persistence/$(basename ${cowdevice})-root"
mkdir -p ${root_backing}
else
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}" ]
fi
for dir in ${cow_dirs}; do
- unionmountpoint="${rootmnt}${dir}"
+ unionmountpoint=$(trim_path "${rootmnt}${dir}")
mkdir -p ${unionmountpoint}
- cow_dir="/live/overlay${dir}"
+ cow_dir=$(trim_path "/live/overlay${dir}")
rootfs_dir="${rootfs}${dir}"
mkdir -p ${cow_dir}
if [ -n "${PERSISTENCE_READONLY}" ] && [ "${cowdevice}" != "tmpfs" ]
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}"
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
}