From: Harald Hoyer Date: Wed, 13 Mar 2013 16:45:37 +0000 (+0100) Subject: shutdown/shutdown.sh: mount --move all basic mounts out of /oldroot X-Git-Tag: 027~49 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fc4e10a8594e8c2d68dba233fa5ecc7d5babb5e1;p=thirdparty%2Fdracut.git shutdown/shutdown.sh: mount --move all basic mounts out of /oldroot After mount moving /dev away, apps like plymouth can do reexec with fd passing of devices, which they want to keep open until the very end. --- diff --git a/modules.d/99shutdown/shutdown.sh b/modules.d/99shutdown/shutdown.sh index 202ecb1c1..6457cb0b6 100755 --- a/modules.d/99shutdown/shutdown.sh +++ b/modules.d/99shutdown/shutdown.sh @@ -14,6 +14,12 @@ export TERM=linux export PATH=/usr/sbin:/usr/bin:/sbin:/bin . /lib/dracut-lib.sh +mkdir /oldsys +for i in sys proc run dev; do + mkdir /oldsys/$i + mount --move /oldroot/$i /oldsys/$i +done + # if "kexec" was installed after creating the initramfs, we try to copy it from the real root # libz normally is pulled in via kmod/modprobe and udevadm if [ "$ACTION" = "kexec" ] && ! command -v kexec >/dev/null 2>&1; then @@ -28,10 +34,6 @@ getarg 'rd.break=pre-shutdown' && emergency_shell --shutdown pre-shutdown "Break source_hook pre-shutdown -if ! ( [ -x /bin/plymouth ] && /bin/plymouth --quit ); then - [ -x /oldroot/bin/plymouth ] && /oldroot/bin/plymouth --quit -fi - warn "Killing all remaining processes" killall_proc_mountpoint /oldroot