8d307a6fad
The check for OpenVZ is not necessary since the procfs service already will not run on OpenVZ due to the keywords setting.
63 lines
1.7 KiB
Plaintext
63 lines
1.7 KiB
Plaintext
#!@SBINDIR@/openrc-run
|
|
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
|
|
# Released under the 2-clause BSD license.
|
|
|
|
description="Mounts misc filesystems in /proc."
|
|
|
|
depend()
|
|
{
|
|
use modules devfs
|
|
need localmount
|
|
keyword -openvz -prefix -vserver -lxc
|
|
}
|
|
|
|
start()
|
|
{
|
|
# Make sure we insert usbcore if it's a module
|
|
if [ -f /proc/modules -a ! -d /sys/module/usbcore -a ! -d /proc/bus/usb ]; then
|
|
modprobe -q usbcore
|
|
fi
|
|
|
|
[ -e /proc/filesystems ] || return 0
|
|
|
|
# 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
|
|
ebegin "Mounting misc binary format filesystem"
|
|
mount -t binfmt_misc -o nodev,noexec,nosuid \
|
|
binfmt_misc /proc/sys/fs/binfmt_misc
|
|
if eend $? ; then
|
|
local fmts
|
|
ebegin "Loading custom binary format handlers"
|
|
fmts=$(grep -hsv -e '^[#;]' -e '^[[:space:]]*$' \
|
|
/run/binfmt.d/*.conf \
|
|
/etc/binfmt.d/*.conf \
|
|
""/usr/lib/binfmt.d/*.conf)
|
|
if [ -n "${fmts}" ]; then
|
|
echo "${fmts}" > /proc/sys/fs/binfmt_misc/register
|
|
fi
|
|
eend $?
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
# 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
|
|
|
|
return 0
|
|
}
|