Mount /run as early as possible

This commit moves the code that mounts /run to the earliest possible
position in openrc.
This commit is contained in:
William Hubbs 2011-09-06 21:00:08 -05:00
parent 9be1a2a67b
commit 5ed4d084d9
2 changed files with 24 additions and 24 deletions

View File

@ -5,6 +5,30 @@
: ${CONSOLE:=/dev/console} : ${CONSOLE:=/dev/console}
: ${RC_LIBEXECDIR:=@LIBEXECDIR@} : ${RC_LIBEXECDIR:=@LIBEXECDIR@}
# Mount tmpfs on /run when directory exists.
# /run is a new directory for storing volatile runtime data.
# Read more about /run at https://lwn.net/Articles/436012
if [ -d /run ]; then
if mountinfo -q /run; then
einfo "/run is already mounted, skipping"
else
ebegin "Mounting /run"
if ! fstabinfo --mount /run; then
mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /run
fi
eend $?
fi
if [ ! -d /run/lock ]; then
mkdir /run/lock
fi
if [ -d /run/lock ]; then
chown root:uucp /run/lock
chmod 0775 /run/lock
fi
elif [ -e /run ]; then
einfo "Unable to mount /run since it is not a directory"
fi
if [ -e "$RC_LIBEXECDIR"/console/unicode ]; then if [ -e "$RC_LIBEXECDIR"/console/unicode ]; then
termencoding="%G" termencoding="%G"
kmode="-u" kmode="-u"

View File

@ -91,30 +91,6 @@ if $mountproc; then
eend $? eend $?
fi fi
# Mount tmpfs on /run when directory exists.
# /run is a new directory for storing volatile runtime data.
# Read more about /run at https://lwn.net/Articles/436012
if [ -d /run ]; then
if mountinfo -q /run; then
einfo "/run is already mounted, skipping"
else
ebegin "Mounting /run"
if ! fstabinfo --mount /run; then
mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /run
fi
eend $?
fi
if [ ! -d /run/lock ]; then
mkdir /run/lock
fi
if [ -d /run/lock ]; then
chown root:uucp /run/lock
chmod 0775 /run/lock
fi
elif [ -e /run ]; then
einfo "Unable to mount /run since it is not a directory"
fi
# Try to mount xenfs as early as possible, otherwise rc_sys() will always # Try to mount xenfs as early as possible, otherwise rc_sys() will always
# return RC_SYS_XENU and will think that we are in a domU while it's not. # return RC_SYS_XENU and will think that we are in a domU while it's not.
if grep -Eq "[[:space:]]+xenfs$" /proc/filesystems; then if grep -Eq "[[:space:]]+xenfs$" /proc/filesystems; then