With mount --bind, anything mounted under /run will disappear after
switch_root. This behavior is sort of surprising, since /run is supposed
to be preserved.
This patch uses --rbind so submounts of /run get put into $NEWROOT.
It also does the same thing for 98selinux/selinux-loadpolicy.sh when it
bind-mounts /dev into $NEWROOT so it can run restorecon on it.
---
modules.d/98selinux/selinux-loadpolicy.sh | 2 +-
modules.d/99base/init.sh | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/modules.d/98selinux/selinux-loadpolicy.sh
b/modules.d/98selinux/selinux-loadpolicy.sh
index 6eb1dbb..d6e24d6 100755
--- a/modules.d/98selinux/selinux-loadpolicy.sh
+++ b/modules.d/98selinux/selinux-loadpolicy.sh
@@ -43,7 +43,7 @@ rd_load_policy()
if [ $ret -eq 0 -o $ret -eq 2 ]; then
# If machine requires a relabel, force to permissive mode
[ -e "$NEWROOT"/.autorelabel ] && LANG=C /usr/sbin/setenforce 0
- mount --bind /dev "$NEWROOT/dev"
+ mount --rbind /dev "$NEWROOT/dev"
LANG=C chroot "$NEWROOT" /sbin/restorecon -R /dev
return 0
fi
diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
index 5d51c9d..05da6bb 100755
--- a/modules.d/99base/init.sh
+++ b/modules.d/99base/init.sh
@@ -314,7 +314,7 @@ fi
if [ -d "$NEWROOT"/run ]; then
NEWRUN="${NEWROOT}/run"
- mount --bind /run "$NEWRUN"
+ mount --rbind /run "$NEWRUN"
NEWINITRAMFSROOT="$NEWRUN/initramfs"
if [ "$NEWINITRAMFSROOT/lib" -ef "/lib" ]; then
@@ -325,7 +325,7 @@ if [ -d "$NEWROOT"/run ]; then
else
NEWRUN=/dev/.initramfs
mkdir -m 0755 "$NEWRUN"
- mount --bind /run/initramfs "$NEWRUN"
+ mount --rbind /run/initramfs "$NEWRUN"
fi
wait_for_loginit
--
1.7.7.6
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html