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/etc/initrd.scripts (-4 / +46 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
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
		else
338
			persist_dev=/mnt/persist
339
			mkdir "${persist_dev}"
340
			findmediamount "persist" "${overlayfs_persist}" \
341
				"PERSIST" "${persist_dev}" ${DEVICES}
342
		fi
343
	fi
344
329
	if [ "${VERIFY}" = '1' ]
345
	if [ "${VERIFY}" = '1' ]
330
	then
346
	then
331
		cd "${CDROOT_PATH}"
347
		cd "${CDROOT_PATH}"
Lines 408-413 Link Here
408
				run rm -rf ${NEW_ROOT}/mnt/image.* 2>/dev/null
424
				run rm -rf ${NEW_ROOT}/mnt/image.* 2>/dev/null
409
				run rm -rf ${NEW_ROOT}/mnt/zisofs 2>/dev/null
425
				run rm -rf ${NEW_ROOT}/mnt/zisofs 2>/dev/null
410
			fi
426
			fi
427
			if [ -n "${overlayfs_persist}" ] && [ -n "$persist_dev" ]; then
428
				good_msg "Copying persist file for caching ..."
429
				# Verify that the needed directory exists
430
				run mkdir -p "$(dirname ${NEW_ROOT}/mnt/${overlayfs_persist})"
431
				run cp -a ${persist_dev}/${overlayfs_persist} ${NEW_ROOT}/mnt/${overlayfs_persist}
432
				if [ $? -ne 0 ]
433
				then
434
					warn_msg "Failed to cache the persist file! Lack of RAM?" 0
435
					run rm -rf ${NEW_ROOT}/mnt/${overlayfs_persist} 2>/dev/null
436
				else
437
					persist_dev=/mnt
438
				fi
439
			fi
411
		fi
440
		fi
412
	fi
441
	fi
413
}
442
}
Lines 818-823 Link Here
818
	local overlay=/mnt/overlay
847
	local overlay=/mnt/overlay
819
	local upperdir="${overlay}/.upper"
848
	local upperdir="${overlay}/.upper"
820
	local workdir="${overlay}/.work"
849
	local workdir="${overlay}/.work"
850
	local persist="${overlay}/.persist"
821
	local static=/mnt/livecd
851
	local static=/mnt/livecd
822
852
823
	run_debug_shell overlayfs
853
	run_debug_shell overlayfs
Lines 832-848 Link Here
832
862
833
	mount -t squashfs -o loop,ro "${CDROOT_PATH}/${LOOPEXT}${LOOP}" "${static}"
863
	mount -t squashfs -o loop,ro "${CDROOT_PATH}/${LOOPEXT}${LOOP}" "${static}"
834
	mount -t tmpfs none "${overlay}"
864
	mount -t tmpfs none "${overlay}"
835
	mkdir "${upperdir}" "${workdir}"
865
	mkdir "${upperdir}" "${workdir}" "${persist}"
866
867
	if [ -n "${overlayfs_persist}" ]; then
868
		if ([ -n "${overlayfs_persist_dev}" ] || [ -n "${persist_dev}" ]) && [ -f "${persist_dev}/${overlayfs_persist}" ]; then
869
			persist_path="${persist_dev}/${overlayfs_persist}"
870
		elif [ -n "${ISOBOOT}" ] && [ -f "/mnt/iso/${overlayfs_persist}" ]; then
871
			persist_path="/mnt/iso/${overlayfs_persist}"
872
		fi
873
874
		if [ -n "${persist_path}" ]; then
875
			mount -t squashfs -o loop,ro "${persist_path}" "${persist}"
876
		fi
877
	fi
836
878
837
	is_union_modules overlayfs
879
	is_union_modules overlayfs
838
	run mount -t overlay overlay -o lowerdir="${static}${mod_path}",upperdir="${upperdir}",workdir="${workdir}" "${NEW_ROOT}"
880
	run mount -t overlay overlay -o lowerdir="${persist}:${static}${mod_path}",upperdir="${upperdir}",workdir="${workdir}" "${NEW_ROOT}"
839
881
840
	[ ! -d "${NEW_ROOT}${overlay}" ] && mkdir -p "${NEW_ROOT}${overlay}"
882
	[ ! -d "${NEW_ROOT}${overlay}" ] && mkdir -p "${NEW_ROOT}${overlay}"
841
	[ ! -d "${NEW_ROOT}${static}" ] && mkdir -p "${NEW_ROOT}${static}"
883
	[ ! -d "${NEW_ROOT}${static}" ] && mkdir -p "${NEW_ROOT}${static}"
842
884
843
	echo "overlay / overlay defaults 0 0" > "${NEW_ROOT}"/etc/fstab
885
	[ ! -f ${persist}/etc/fstab ] && echo "overlay / overlay defaults 0 0" > "${NEW_ROOT}"/etc/fstab
844
886
845
	for i in "${overlay}" "${static}"
887
	for i in "${overlay}" "${static}" "${persist}"
846
	do
888
	do
847
		run mount --bind "${i}" "${NEW_ROOT}${i}"
889
		run mount --bind "${i}" "${NEW_ROOT}${i}"
848
	done
890
	done
(-)old/init (+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