Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 802801 Details for
Bug 866959
live media: work-in-progress saved/persistent boot implementation
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
updated genkernel method patch
initrd.genkernel.000009.patch (text/plain), 4.97 KB, created by
hairu
on 2022-09-02 23:08:21 UTC
(
hide
)
Description:
updated genkernel method patch
Filename:
MIME Type:
Creator:
hairu
Created:
2022-09-02 23:08:21 UTC
Size:
4.97 KB
patch
obsolete
>diff -urN old/defaults/initrd.scripts new/defaults/initrd.scripts >--- old/defaults/initrd.scripts 2022-09-02 16:18:14.019410585 -0400 >+++ new/defaults/initrd.scripts 2022-09-02 16:26:02.879402191 -0400 >@@ -326,6 +326,24 @@ > findmediamount "cdrom" "${SUBDIR}/${CDROOT_MARKER}" \ > "REAL_ROOT" "${CDROOT_PATH}" ${DEVICES} > >+ if [ -n "${overlayfs_persist}" ] && [ -n "${overlayfs_persist_dev}" ]; then >+ persist_dev=/mnt/persist_dev >+ mkdir "${persist_dev}" >+ findmediamount "persist" "${overlayfs_persist}" \ >+ "PERSIST" "${persist_dev}" ${overlayfs_persist_dev} >+ elif [ -n "${overlayfs_persist}" ]; then >+ if [ -f "${CDROOT_PATH}/${overlayfs_persist}" ]; then >+ persist_dev=${CDROOT_PATH} >+ elif [ -n "${ISOBOOT}" ] && [ -f "/mnt/iso/${overlayfs_persist}" ]; then >+ persist_dev=/mnt/iso >+ else >+ persist_dev=/mnt/persist_dev >+ mkdir "${persist_dev}" >+ findmediamount "persist" "${overlayfs_persist}" \ >+ "PERSIST" "${persist_dev}" ${DEVICES} >+ fi >+ fi >+ > if [ "${VERIFY}" = '1' ] > then > cd "${CDROOT_PATH}" >@@ -407,6 +425,18 @@ > run rm -rf ${NEW_ROOT}/mnt/livecd.* 2>/dev/null > run rm -rf ${NEW_ROOT}/mnt/image.* 2>/dev/null > run rm -rf ${NEW_ROOT}/mnt/zisofs 2>/dev/null >+ elif [ -n "${overlayfs_persist}" ] && [ -n "${persist_dev}" ]; then >+ good_msg "Copying persist file for caching ..." >+ # Verify that the needed directory exists >+ run mkdir -p "$(dirname ${NEW_ROOT}/mnt/${overlayfs_persist})" >+ run cp -a ${persist_dev}/${overlayfs_persist} ${NEW_ROOT}/mnt/${overlayfs_persist} >+ if [ $? -ne 0 ] >+ then >+ warn_msg "Failed to cache the persist file! Lack of RAM?" 0 >+ run rm -rf ${NEW_ROOT}/mnt/${overlayfs_persist} 2>/dev/null >+ else >+ persist_dev=${NEW_ROOT}/mnt >+ fi > fi > fi > fi >@@ -818,6 +848,7 @@ > local overlay=/mnt/overlay > local upperdir="${overlay}/.upper" > local workdir="${overlay}/.work" >+ local persist="${overlay}/.persist" > local static=/mnt/livecd > > run_debug_shell overlayfs >@@ -830,23 +861,45 @@ > run modprobe overlay >/dev/null 2>&1 > checkfs overlay > >- mount -t squashfs -o loop,ro "${CDROOT_PATH}/${LOOPEXT}${LOOP}" "${static}" >+ if [ -f "${NEW_ROOT}/mnt/${LOOP}" ]; then >+ run mount -t squashfs -o loop,ro "${NEW_ROOT}/mnt/${LOOP}" "${static}" >+ else >+ run mount -t squashfs -o loop,ro "${CDROOT_PATH}/${LOOPEXT}${LOOP}" "${static}" >+ fi > mount -t tmpfs none "${overlay}" >- mkdir "${upperdir}" "${workdir}" >+ mkdir "${upperdir}" "${workdir}" "${persist}" >+ >+ if [ -n "${overlayfs_persist}" ] && [ -n "${persist_dev}" ] && [ -f "${persist_dev}/${overlayfs_persist}" ]; then >+ run mount -t squashfs -o loop,ro "${persist_dev}/${overlayfs_persist}" "${persist}" >+ fi > > is_union_modules overlayfs >- run mount -t overlay overlay -o lowerdir="${static}${mod_path}",upperdir="${upperdir}",workdir="${workdir}" "${NEW_ROOT}" >+ run mount -t overlay overlay -o lowerdir="${persist}:${static}${mod_path}",upperdir="${upperdir}",workdir="${workdir}" "${NEW_ROOT}" > > [ ! -d "${NEW_ROOT}${overlay}" ] && mkdir -p "${NEW_ROOT}${overlay}" > [ ! -d "${NEW_ROOT}${static}" ] && mkdir -p "${NEW_ROOT}${static}" > >- echo "overlay / overlay defaults 0 0" > "${NEW_ROOT}"/etc/fstab >+ [ ! -f ${persist}/etc/fstab ] && echo "overlay / overlay defaults 0 0" > "${NEW_ROOT}"/etc/fstab > >- for i in "${overlay}" "${static}" >+ for i in "${overlay}" "${static}" "${persist}" > do > run mount --bind "${i}" "${NEW_ROOT}${i}" > done > >+ for i in "/mnt/iso" "${CDROOT_PATH}" "/mnt/persist_dev" >+ do >+ if [ -d "${i}" ] && mountpoint -q "${i}"; then >+ if (grep -q $(mountpoint -n "${i}" | sed -e 's/ .*$//' | head -n 1) ${NEW_ROOT}/etc/fstab); then >+ local mountpoint_iso="$(grep $(mountpoint -n "${i}" | sed -e 's/ .*$//' | head -n 1) ${NEW_ROOT}/etc/fstab)" >+ run mount --move "${i}" "${NEW_ROOT}$(echo ${mountpoint_iso} | cut -d ' ' -f2)" >+ run mount -o "remount,$(echo ${mountpoint_iso} | cut -d ' ' -f4)" "${NEW_ROOT}$(echo ${mountpoint_iso} | cut -d ' ' -f2)" >+ else >+ mkdir -p "${NEW_ROOT}${i}" >+ run mount --move "${i}" "${NEW_ROOT}${i}" >+ fi >+ fi >+ done >+ > # Did we populate the overlayfs modules path locations variable? > if [ -n "${mods}" ] > then >diff -urN old/defaults/linuxrc new/defaults/linuxrc >--- old/defaults/linuxrc 2022-09-02 16:18:14.056077251 -0400 >+++ new/defaults/linuxrc 2022-09-02 16:18:37.809410149 -0400 >@@ -429,6 +429,13 @@ > overlayfs_dev=${x#*=} > fi > ;; >+ # Allow user to specify persistent image on top of image.squashfs >+ overlayfs_persist\=*) >+ overlayfs_persist=${x#*=} >+ ;; >+ overlayfs_persist_dev\=*) >+ overlayfs_persist_dev=${x#*=} >+ ;; > # Allow user to specify the modules location > overlayfs.modules\=*) > overlayfs_modules_dir=${x#*=} >@@ -1262,7 +1269,8 @@ > then > [ ! -d "${CHROOT}${CDROOT_PATH}" ] && mkdir "${CHROOT}${CDROOT_PATH}" > run mount --move "${CDROOT_PATH}" "${CHROOT}${CDROOT_PATH}" >- else >+ elif run mountpoint -q "${CDROOT_PATH}" >+ then > [ ! -d "${NEW_ROOT}${CDROOT_PATH}" ] && mkdir -p "${NEW_ROOT}${CDROOT_PATH}" > run mount --move "${CDROOT_PATH}" "${NEW_ROOT}${CDROOT_PATH}" > fi
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 866959
:
801478
|
801481
|
801484
|
801724
|
801727
|
801730
|
801733
|
802303
|
802798
| 802801 |
803362
|
803641