diff options
author | William Hubbs <williamh@gentoo.org> | 2012-02-15 09:00:23 -0600 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2012-02-16 14:05:04 -0600 |
commit | a5509d681997321e966e776b6a0e4630aa827595 (patch) | |
tree | 79dd08c388f7306680ffbdea57528d51b53900d2 /init.d/procfs.in | |
parent | 0c866e1a313f20679f6b7d3288636170f3057b59 (diff) |
Enable binfmt_misc for openvz containers
Reported-by: Daniel Robbins <drobbins@funtoo.org>
X-Gentoo-Bug: 401875
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=401875
Diffstat (limited to 'init.d/procfs.in')
-rw-r--r-- | init.d/procfs.in | 38 |
1 files 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 |