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 / +44 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_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-848 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
		mount -t squashfs -o loop,ro "${NEW_ROOT}/mnt/${LOOP}" "${static}"
866
	else
867
		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
		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
(-)old/defaults/linuxrc (+7 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#*=}

Return to bug 866959