diff --git a/sh/init.sh.Linux.in b/sh/init.sh.Linux.in index d3a4715b..f4f69737 100644 --- a/sh/init.sh.Linux.in +++ b/sh/init.sh.Linux.in @@ -70,4 +70,14 @@ if $mountproc; then eend $? fi +# 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. +if grep -Eq "[[:space:]]+xenfs$" /proc/filesystems; then + ebegin "Mounting xenfs" + if ! fstabinfo --mount /proc/xen; then + mount -n -t xenfs xenfs /proc/xen -o nosuid,nodev,noexec + fi + eend $? +fi + . "$RC_LIBEXECDIR"/sh/init-common-post.sh