From: "Richard Farina" <zerochaos@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/genkernel:aufs commit in: defaults/
Date: Wed, 29 Apr 2015 19:04:07 +0000 (UTC) [thread overview]
Message-ID: <1430328705.5a62af115cf85e15fbac4f35d98af2a5bf34d004.zerochaos@gentoo> (raw)
commit: 5a62af115cf85e15fbac4f35d98af2a5bf34d004
Author: Fernando Reyes (likewhoa) <design <AT> missionaccomplish <DOT> com>
AuthorDate: Fri May 30 00:51:08 2014 +0000
Commit: Richard Farina <zerochaos <AT> gentoo <DOT> org>
CommitDate: Wed Apr 29 17:31:45 2015 +0000
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=5a62af11
Enhanced the shutdown process and changed from using ${UNION} to ${CHROOT} to
better understand the logic behind things as CHROOT is set to ${UNION} anyways.
RC_NO_UMOUNTS is more dynamic now and should scale up.
defaults/initrd.defaults | 1 +
defaults/linuxrc | 45 +++++++++++++++++++++++++++++++--------------
2 files changed, 32 insertions(+), 14 deletions(-)
diff --git a/defaults/initrd.defaults b/defaults/initrd.defaults
index aa9f85c..9937e00 100755
--- a/defaults/initrd.defaults
+++ b/defaults/initrd.defaults
@@ -58,6 +58,7 @@ KSUFF='.ko'
REAL_ROOT=''
CONSOLE='/dev/console'
NEW_ROOT='/newroot'
+RC_NO_UMOUNTS="/newroot|/newroot/mnt/changesdev|/mnt/overlay|/mnt/livecd|/mnt/cdrom|/.unions/memory|/.unions/memory/xino"
CDROOT='0'
CDROOT_DEV=''
CDROOT_TYPE='auto'
diff --git a/defaults/linuxrc b/defaults/linuxrc
index 0a91c58..5d4d2a1 100644
--- a/defaults/linuxrc
+++ b/defaults/linuxrc
@@ -805,24 +805,38 @@ then
if [ "${USE_AUFS_NORMAL}" -eq '1' ]
then
- union_insert_dir ${UNION} ${NEW_ROOT}/${FS_LOCATION}
+ union_insert_dir ${CHROOT} ${NEW_ROOT}/${FS_LOCATION}
# Make sure fstab notes livecd is mounted ro. Makes system skip remount which fails on aufs dirs.
# TODO: remounting all tmpfs as RO seems weird, can we be more specific?
- sed -e 's|\(.*\s/\s*tmpfs\s*\)defaults\(.*\)|\1defaults,ro\2|' /${UNION}/etc/fstab > /${UNION}/etc/fstab.new
- mv /${UNION}/etc/fstab.new /${UNION}/etc/fstab
+ #sed -e 's|\(.*\s/\s*tmpfs\s*\)defaults\(.*\)|\1defaults,ro\2|' /${UNION}/etc/fstab > /${UNION}/etc/fstab.new
+ #mv /${UNION}/etc/fstab.new /${UNION}/etc/fstab
# RC_NO_UMOUNTS variable for a clean shutdown/reboot
- test ! $(grep 'RC_NO_UMOUNTS="/newroot|/newroot/mnt/aufs|\
-/newroot/mnt/changesdev|/mnt/livecd|/mnt/cdrom|/.unions/\
-memory|/.unions/memory/xino"' "${UNION}"/etc/rc.conf) &&
- echo "RC_NO_UMOUNTS=\"/newroot|/newroot/mnt/aufs|"\
-"/newroot/mnt/changesdev|/mnt/livecd|/mnt/cdrom|"\
-"/.unions/memory|/.unions/memory/xino\"">> "${UNION}"/etc/rc.conf
+ RC_MOUNTS=$(grep 'RC_NO_UMOUNTS' "${CHROOT}"/etc/rc.conf)
+ RESULTS=false
+
+ # Iterate through ${RC_MOUNTS} to find our duplicate(s) and or remove obsolete lines when ever
+ # our RC_NO_UMOUNTS variable changes.
+ printf '%s\n' ${RC_MOUNTS} | while read -r mount; do
+ if [[ "${mount}" = "RC_NO_UMOUNTS=\"${RC_NO_UMOUNTS}\"" ]]; then
+ RESULTS=true
+ else
+ # Escape characters in ${mounts} for use in sed
+ mount_re=$(echo ${mount} | sed -e 's/\//\\\//g' -e 's/\&/\\\&/g')
+
+ # Remove non matching pattern
+ sed -i "/${mount_re}/d" "${CHROOT}"/etc/rc.conf
+ fi
+ done
+
+ if ! ${RESULTS}; then
+ echo 'RC_NO_UMOUNTS="/newroot|/newroot/mnt/changesdev|/mnt/overlay|/mnt/livecd|/mnt/cdrom|/.unions/memory|/.unions/memory/xino"'>> "${CHROOT}"/etc/rc.conf
+ fi
# Fstab change for aufs
- test ! $(grep aufs "${UNION}"/etc/fstab) &&
- echo "aufs / aufs defaults 0 0" > "${UNION}"/etc/fstab
+ test ! $(grep -o ^aufs "${CHROOT}"/etc/fstab) &&
+ echo "aufs / aufs defaults 0 0" > "${CHROOT}"/etc/fstab
warn_msg "Adding all modules in $MODULESD/modules/"
if [ -z "${MODULESD}" ]
@@ -834,9 +848,12 @@ memory|/.unions/memory/xino"' "${UNION}"/etc/rc.conf) &&
union_insert_modules ${NEW_ROOT}/mnt/modulesd
fi
- mkdir -p "${UNION}"/newroot/mnt/aufs
- test ${AUFS_CHANGES} && test ! -d "${UNION}"/newroot/mnt/changesdev &&
- mkdir "${UNION}"/newroot/mnt/changesdev
+ # Create the directories for our new union mounts
+ test ! -d "${CHROOT}${NEW_ROOT}" && mkdir -p "${CHROOT}${NEW_ROOT}"
+
+ if ${AUFS_CHANGES} && [ ! -d "${CHROOT}${NEW_ROOT}/mnt/changesdev" ]; then
+ mkdir -p "${CHROOT}${NEW_ROOT}/mnt/changesdev"
+ fi
fi
# Unpacking additional packages from NFS mount
next reply other threads:[~2015-04-29 19:04 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-29 19:04 Richard Farina [this message]
-- strict thread matches above, loose matches on Subject: below --
2015-04-29 19:04 [gentoo-commits] proj/genkernel:aufs commit in: defaults/ Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2015-04-29 19:04 Richard Farina
2014-09-23 0:21 Richard Farina
2014-09-23 0:21 Richard Farina
2014-09-05 16:11 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-09-05 16:09 Richard Farina
2014-05-24 21:35 Richard Farina
2014-05-24 21:35 Richard Farina
2014-05-24 21:35 Richard Farina
2014-05-22 20:28 Richard Farina
2014-05-22 20:28 Richard Farina
2014-05-22 20:28 Richard Farina
2014-05-22 20:28 Richard Farina
2014-03-17 19:38 Robin H. Johnson
2014-03-17 19:32 Robin H. Johnson
2014-03-17 19:20 Robin H. Johnson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1430328705.5a62af115cf85e15fbac4f35d98af2a5bf34d004.zerochaos@gentoo \
--to=zerochaos@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox