From a5509d681997321e966e776b6a0e4630aa827595 Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Wed, 15 Feb 2012 09:00:23 -0600 Subject: [PATCH] Enable binfmt_misc for openvz containers Reported-by: Daniel Robbins X-Gentoo-Bug: 401875 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=401875 --- init.d/procfs.in | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/init.d/procfs.in b/init.d/procfs.in index 6afc81f7..baa33adb 100644 --- a/init.d/procfs.in +++ b/init.d/procfs.in @@ -8,7 +8,7 @@ depend() { use modules devfs need localmount - keyword -openvz -prefix -vserver -lxc + keyword -prefix -vserver -lxc } start() @@ -20,23 +20,6 @@ start() [ -e /proc/filesystems ] || return 0 - # Check what USB fs the kernel support. Currently - # 2.5+ kernels, and later 2.4 kernels have 'usbfs', - # while older kernels have 'usbdevfs'. - if [ -d /proc/bus/usb -a ! -e /proc/bus/usb/devices ]; then - local usbfs=$(grep -Fow usbfs /proc/filesystems || - grep -Fow usbdevfs /proc/filesystems) - if [ -n "$usbfs" ]; then - ebegin "Mounting USB device filesystem [$usbfs]" - local usbgid="$(getent group usb | \ - sed -e 's/.*:.*:\(.*\):.*/\1/')" - mount -t $usbfs \ - -o ${usbgid:+devmode=0664,devgid=$usbgid,}noexec,nosuid \ - usbfs /proc/bus/usb - eend $? - fi - fi - # Setup Kernel Support for miscellaneous Binary Formats if [ -d /proc/sys/fs/binfmt_misc -a ! -e /proc/sys/fs/binfmt_misc/register ]; then if grep -qs binfmt_misc /proc/filesystems; then @@ -58,6 +41,25 @@ start() fi fi + [ "$RC_SYS" == "OPENVZ" ] && return 0 + + # Check what USB fs the kernel support. Currently + # 2.5+ kernels, and later 2.4 kernels have 'usbfs', + # while older kernels have 'usbdevfs'. + if [ -d /proc/bus/usb -a ! -e /proc/bus/usb/devices ]; then + local usbfs=$(grep -Fow usbfs /proc/filesystems || + grep -Fow usbdevfs /proc/filesystems) + if [ -n "$usbfs" ]; then + ebegin "Mounting USB device filesystem [$usbfs]" + local usbgid="$(getent group usb | \ + sed -e 's/.*:.*:\(.*\):.*/\1/')" + mount -t $usbfs \ + -o ${usbgid:+devmode=0664,devgid=$usbgid,}noexec,nosuid \ + usbfs /proc/bus/usb + eend $? + fi + fi + # Setup Kernel Support for SELinux if [ -d /selinux ] && ! mountinfo -q /selinux; then if grep -qs selinuxfs /proc/filesystems; then