Lines 326-331
Link Here
|
326 |
findmediamount "cdrom" "${SUBDIR}/${CDROOT_MARKER}" \ |
326 |
findmediamount "cdrom" "${SUBDIR}/${CDROOT_MARKER}" \ |
327 |
"REAL_ROOT" "${CDROOT_PATH}" ${DEVICES} |
327 |
"REAL_ROOT" "${CDROOT_PATH}" ${DEVICES} |
328 |
|
328 |
|
|
|
329 |
if [ -n "${overlayfs_persist}" ] && [ -n "${overlayfs_persist_dev}" ]; then |
330 |
persist_dev=/mnt/persist_dev |
331 |
mkdir "${persist_dev}" |
332 |
findmediamount "persist" "${overlayfs_persist}" \ |
333 |
"PERSIST" "${persist_dev}" ${overlayfs_persist_dev} |
334 |
elif [ -n "${overlayfs_persist}" ]; then |
335 |
if [ -f "${CDROOT_PATH}/${overlayfs_persist}" ]; then |
336 |
persist_dev=${CDROOT_PATH} |
337 |
elif [ -n "${ISOBOOT}" ] && [ -f "/mnt/iso/${overlayfs_persist}" ]; then |
338 |
persist_dev=/mnt/iso |
339 |
else |
340 |
persist_dev=/mnt/persist_dev |
341 |
mkdir "${persist_dev}" |
342 |
findmediamount "persist" "${overlayfs_persist}" \ |
343 |
"PERSIST" "${persist_dev}" ${DEVICES} |
344 |
fi |
345 |
fi |
346 |
|
329 |
if [ "${VERIFY}" = '1' ] |
347 |
if [ "${VERIFY}" = '1' ] |
330 |
then |
348 |
then |
331 |
cd "${CDROOT_PATH}" |
349 |
cd "${CDROOT_PATH}" |
Lines 407-412
Link Here
|
407 |
run rm -rf ${NEW_ROOT}/mnt/livecd.* 2>/dev/null |
425 |
run rm -rf ${NEW_ROOT}/mnt/livecd.* 2>/dev/null |
408 |
run rm -rf ${NEW_ROOT}/mnt/image.* 2>/dev/null |
426 |
run rm -rf ${NEW_ROOT}/mnt/image.* 2>/dev/null |
409 |
run rm -rf ${NEW_ROOT}/mnt/zisofs 2>/dev/null |
427 |
run rm -rf ${NEW_ROOT}/mnt/zisofs 2>/dev/null |
|
|
428 |
elif [ -n "${overlayfs_persist}" ] && [ -n "${persist_dev}" ]; then |
429 |
good_msg "Copying persist file for caching ..." |
430 |
# Verify that the needed directory exists |
431 |
run mkdir -p "$(dirname ${NEW_ROOT}/mnt/${overlayfs_persist})" |
432 |
run cp -a ${persist_dev}/${overlayfs_persist} ${NEW_ROOT}/mnt/${overlayfs_persist} |
433 |
if [ $? -ne 0 ] |
434 |
then |
435 |
warn_msg "Failed to cache the persist file! Lack of RAM?" 0 |
436 |
run rm -rf ${NEW_ROOT}/mnt/${overlayfs_persist} 2>/dev/null |
437 |
else |
438 |
persist_dev=${NEW_ROOT}/mnt |
439 |
fi |
410 |
fi |
440 |
fi |
411 |
fi |
441 |
fi |
412 |
fi |
442 |
fi |
Lines 818-823
Link Here
|
818 |
local overlay=/mnt/overlay |
848 |
local overlay=/mnt/overlay |
819 |
local upperdir="${overlay}/.upper" |
849 |
local upperdir="${overlay}/.upper" |
820 |
local workdir="${overlay}/.work" |
850 |
local workdir="${overlay}/.work" |
|
|
851 |
local persist="${overlay}/.persist" |
821 |
local static=/mnt/livecd |
852 |
local static=/mnt/livecd |
822 |
|
853 |
|
823 |
run_debug_shell overlayfs |
854 |
run_debug_shell overlayfs |
Lines 830-852
Link Here
|
830 |
run modprobe overlay >/dev/null 2>&1 |
861 |
run modprobe overlay >/dev/null 2>&1 |
831 |
checkfs overlay |
862 |
checkfs overlay |
832 |
|
863 |
|
833 |
mount -t squashfs -o loop,ro "${CDROOT_PATH}/${LOOPEXT}${LOOP}" "${static}" |
864 |
if [ -f "${NEW_ROOT}/mnt/${LOOP}" ]; then |
|
|
865 |
run mount -t squashfs -o loop,ro "${NEW_ROOT}/mnt/${LOOP}" "${static}" |
866 |
else |
867 |
run mount -t squashfs -o loop,ro "${CDROOT_PATH}/${LOOPEXT}${LOOP}" "${static}" |
868 |
fi |
834 |
mount -t tmpfs none "${overlay}" |
869 |
mount -t tmpfs none "${overlay}" |
835 |
mkdir "${upperdir}" "${workdir}" |
870 |
mkdir "${upperdir}" "${workdir}" "${persist}" |
|
|
871 |
|
872 |
if [ -n "${overlayfs_persist}" ] && [ -n "${persist_dev}" ] && [ -f "${persist_dev}/${overlayfs_persist}" ]; then |
873 |
run mount -t squashfs -o loop,ro "${persist_dev}/${overlayfs_persist}" "${persist}" |
874 |
fi |
836 |
|
875 |
|
837 |
is_union_modules overlayfs |
876 |
is_union_modules overlayfs |
838 |
run mount -t overlay overlay -o lowerdir="${static}${mod_path}",upperdir="${upperdir}",workdir="${workdir}" "${NEW_ROOT}" |
877 |
run mount -t overlay overlay -o lowerdir="${persist}:${static}${mod_path}",upperdir="${upperdir}",workdir="${workdir}" "${NEW_ROOT}" |
839 |
|
878 |
|
840 |
[ ! -d "${NEW_ROOT}${overlay}" ] && mkdir -p "${NEW_ROOT}${overlay}" |
879 |
[ ! -d "${NEW_ROOT}${overlay}" ] && mkdir -p "${NEW_ROOT}${overlay}" |
841 |
[ ! -d "${NEW_ROOT}${static}" ] && mkdir -p "${NEW_ROOT}${static}" |
880 |
[ ! -d "${NEW_ROOT}${static}" ] && mkdir -p "${NEW_ROOT}${static}" |
842 |
|
881 |
|
843 |
echo "overlay / overlay defaults 0 0" > "${NEW_ROOT}"/etc/fstab |
882 |
[ ! -f ${persist}/etc/fstab ] && echo "overlay / overlay defaults 0 0" > "${NEW_ROOT}"/etc/fstab |
844 |
|
883 |
|
845 |
for i in "${overlay}" "${static}" |
884 |
for i in "${overlay}" "${static}" "${persist}" |
846 |
do |
885 |
do |
847 |
run mount --bind "${i}" "${NEW_ROOT}${i}" |
886 |
run mount --bind "${i}" "${NEW_ROOT}${i}" |
848 |
done |
887 |
done |
849 |
|
888 |
|
|
|
889 |
for i in "/mnt/iso" "${CDROOT_PATH}" "/mnt/persist_dev" |
890 |
do |
891 |
if [ -d "${i}" ] && mountpoint -q "${i}"; then |
892 |
if (grep -q $(mountpoint -n "${i}" | sed -e 's/ .*$//' | head -n 1) ${NEW_ROOT}/etc/fstab); then |
893 |
local mountpoint_iso="$(grep $(mountpoint -n "${i}" | sed -e 's/ .*$//' | head -n 1) ${NEW_ROOT}/etc/fstab)" |
894 |
run mount --move "${i}" "${NEW_ROOT}$(echo ${mountpoint_iso} | cut -d ' ' -f2)" |
895 |
run mount -o "remount,$(echo ${mountpoint_iso} | cut -d ' ' -f4)" "${NEW_ROOT}$(echo ${mountpoint_iso} | cut -d ' ' -f2)" |
896 |
else |
897 |
mkdir -p "${NEW_ROOT}${i}" |
898 |
run mount --move "${i}" "${NEW_ROOT}${i}" |
899 |
fi |
900 |
fi |
901 |
done |
902 |
|
850 |
# Did we populate the overlayfs modules path locations variable? |
903 |
# Did we populate the overlayfs modules path locations variable? |
851 |
if [ -n "${mods}" ] |
904 |
if [ -n "${mods}" ] |
852 |
then |
905 |
then |