Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 866959 | Differences between
and this patch

Collapse All | Expand All

(-)old/defaults/initrd.scripts (-5 / +58 lines)
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
(-)old/defaults/linuxrc (-1 / +9 lines)
Lines 429-434 Link Here
429
				overlayfs_dev=${x#*=}
429
				overlayfs_dev=${x#*=}
430
			fi
430
			fi
431
		;;
431
		;;
432
		# Allow user to specify persistent image on top of image.squashfs
433
		overlayfs_persist\=*)
434
			overlayfs_persist=${x#*=}
435
		;;
436
		overlayfs_persist_dev\=*)
437
			overlayfs_persist_dev=${x#*=}
438
		;;
432
		# Allow user to specify the modules location
439
		# Allow user to specify the modules location
433
		overlayfs.modules\=*)
440
		overlayfs.modules\=*)
434
			overlayfs_modules_dir=${x#*=}
441
			overlayfs_modules_dir=${x#*=}
Lines 1262-1268 Link Here
1262
	then
1269
	then
1263
		[ ! -d "${CHROOT}${CDROOT_PATH}" ] && mkdir "${CHROOT}${CDROOT_PATH}"
1270
		[ ! -d "${CHROOT}${CDROOT_PATH}" ] && mkdir "${CHROOT}${CDROOT_PATH}"
1264
		run mount --move "${CDROOT_PATH}" "${CHROOT}${CDROOT_PATH}"
1271
		run mount --move "${CDROOT_PATH}" "${CHROOT}${CDROOT_PATH}"
1265
	else
1272
	elif run mountpoint -q "${CDROOT_PATH}"
1273
	then
1266
		[ ! -d "${NEW_ROOT}${CDROOT_PATH}" ] && mkdir -p "${NEW_ROOT}${CDROOT_PATH}"
1274
		[ ! -d "${NEW_ROOT}${CDROOT_PATH}" ] && mkdir -p "${NEW_ROOT}${CDROOT_PATH}"
1267
		run mount --move "${CDROOT_PATH}" "${NEW_ROOT}${CDROOT_PATH}"
1275
		run mount --move "${CDROOT_PATH}" "${NEW_ROOT}${CDROOT_PATH}"
1268
	fi
1276
	fi

Return to bug 866959