summaryrefslogtreecommitdiff
path: root/init.d/localmount
diff options
context:
space:
mode:
Diffstat (limited to 'init.d/localmount')
-rwxr-xr-xinit.d/localmount148
1 files changed, 6 insertions, 142 deletions
diff --git a/init.d/localmount b/init.d/localmount
index 3f8ce42..9823820 100755
--- a/init.d/localmount
+++ b/init.d/localmount
@@ -25,8 +25,6 @@
# SUCH DAMAGE.
description="Mounts disks and swap according to /etc/fstab."
-[ -e /proc/filessystems ] && description="${description} Also mounts various filesystems in /proc."
-[ -x /sbin/dumpon ] && description="${description} Also configures saving kernel dumps to swap."
depend() {
need checkfs
@@ -35,7 +33,7 @@ depend() {
start() {
# Mount local filesystems in /etc/fstab.
local types="noproc" x=
- for x in ${RC_NET_FS_LIST} ; do
+ for x in ${net_fs_list}; do
types="${types},${x}"
done
@@ -43,122 +41,6 @@ start() {
mount -at "${types}"
eend $? "Some local filesystem failed to mount"
- if [ -x /sbin/savecore ] ; then
- local dumpdir=${KERNEL_DUMP_DIR:-/var/crash}
- if ! [ -d "${dumpdir}" ]; then
- mkdir -p "${dumpdir}"
- chmod 700 "${dumpdir}"
- fi
-
- if [ "${RC_UNAME}" = "FreeBSD" ] ; then
- # Don't quote ${KERNEL_DUMP_DEVICE}, so that if it's unset,
- # savecore will check on the partitions listed in fstab
- # without errors in the output
- savecore -C "${dumpdir}" ${KERNEL_DUMP_DEVICE} >/dev/null
- else
- ls "${dumpdir}"/bsd* > /dev/null 2>&1
- fi
- if [ $? = 0 ] ; then
- local sopts="${dumpdir} ${KERNEL_DUMP_DEVICE}"
- [ "${KERNEL_DUMP_COMPRESS}" = "yes" ] && sopts="-z ${sopts}"
- ebegin "Saving kernel core dump in" "${dumpdir}"
- savecore ${savecoreopts} >/dev/null
- eend $?
- fi
- fi
-
- # Sync bootlog now as /var should be mounted
- if type bootlog >/dev/null 2>/dev/null ; then
- bootlog sync 2>/dev/null
- fi
-
- # Make sure we insert usbcore if its a module
- if [ -f /proc/modules -a ! -d /proc/bus/usb ] ; then
- modprobe -q usbcore
- fi
-
- if [ -e /proc/filesystems ] ; then
- # 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 the NFS daemon status
- if [ -d /proc/fs/nfsd ] && ! mountinfo -q /proc/fs/nfsd ; then
- if grep -qs nfsd /proc/filesystems ; then
- ebegin "Mounting nfsd filesystem"
- mount -t nfsd -o nodev,noexec,nosuid \
- nfsd /proc/fs/nfsd
- eend $?
- fi
- fi
-
- # Setup Kernel Support for miscellaneous Binary Formats
- if [ -d /proc/sys/fs/binfmt_misc ] && ! mountinfo -q /proc/sys/fs/binfmt_misc ; 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
- eend $?
- fi
- fi
-
- # Setup Kernel Support for securityfs
- if [ -d /sys/kernel/security ] && ! mountinfo -q /sys/kernel/security ; then
- if grep -qs securityfs /proc/filesystems ; then
- ebegin "Mounting security filesystem"
- mount -t securityfs securityfs /sys/kernel/security \
- -o nodev,noexec,nosuid
- eend $?
- fi
- fi
-
- # Setup Kernel Support for debugfs
- if [ -d /sys/kernel/debug ] && ! mountinfo -q /sys/kernel/debug ; then
- if grep -qs debugfs /proc/filesystems ; then
- ebegin "Mounting debug filesystem"
- mount -t debugfs debugfs /sys/kernel/debug \
- -o nodev,noexec,nosuid
- eend $?
- fi
- fi
-
- # Setup Kernel Support for SELinux
- if [ -d /selinux ] && ! mountinfo -q /selinux ; then
- if grep -qs selinuxfs /proc/filesystems ; then
- ebegin "Mounting SELinux filesystem"
- mount -t selinuxfs selinuxfs /selinux
- eend $?
- fi
- fi
- fi
-
- # We do our swapping here instead of rc so we can get urandom started
- # before us for people that like an encrypted swap.
- ebegin "Activating (possible) swap"
- swapon -a >/dev/null
- eend 0 # If swapon has nothing todo it errors, so always return 0
-
- # Setup any user requested dump device
- if [ -x /sbin/dumpon -a -n "${KERNEL_DUMP_DEVICE}" ] ; then
- ebegin "Activating kernel core dump device" "(${KERNEL_DUMP_DEVICE})"
- dumpon "${KERNEL_DUMP_DEVICE}"
- eend $?
- fi
-
# Always return 0 - some local mounts may not be critical for boot
return 0
}
@@ -170,12 +52,10 @@ stop() {
# We never unmount / or /dev or $RC_SVCDIR
local x= no_umounts="/|/dev|/dev/.*|${RC_SVCDIR}"
- # NO_UMOUNTS is taken from /etc/conf.d/localmount
- # RC_NO_UMOUNTS is taken from /etc/conf.d/rc and can also be
- # set by plugins
+ # RC_NO_UMOUNTS is an env var that can be set by plugins
OIFS=${IFS} SIFS=${IFS-y}
IFS=$IFS:
- for x in ${NO_UMOUNTS} ${RC_NO_UMOUNTS} ; do
+ for x in ${no_umounts} ${RC_NO_UMOUNTS}; do
no_umounts="${no_umounts}|${x}"
done
if [ "${SIFS}" = "y" ] ; then
@@ -184,13 +64,13 @@ stop() {
unset IFS
fi
- if [ "${RC_UNAME}" = "Linux" ] ; then
+ if [ "${RC_UNAME}" = "Linux" ]; then
no_umounts="${no_umounts}|/proc|/proc/.*|/sys|/sys/.*"
fi
no_umounts="^(${no_umounts})$"
# Flush all pending disk writes now
- sync ; sync
+ sync; sync
# Try to unmount all tmpfs filesystems not in use, else a deadlock may
# occure, bug #13599.
@@ -198,22 +78,6 @@ stop() {
cd "${RC_SVCDIR}"
umount -a -t tmpfs 2>/dev/null
- # As we're turning off swap below, we need to disable kernel dumps
- [ -x /sbin/dumpon ] && dumpon off
-
- local swap_list=
- # Turn off swap
- if [ -r /proc/swaps ] ;then
- swap_list=$(sed -e '1d' /proc/swaps)
- else
- swap_list=$(swapctl -l 2>/dev/null | sed -e '1d')
- fi
- if [ -n "${swap_list}" ] ; then
- ebegin "Deactivating swap"
- swapoff -a >/dev/null
- eend $?
- fi
-
. "${RC_LIBDIR}"/sh/rc-mount.sh
# Umount loopback devices
@@ -228,7 +92,7 @@ stop() {
einfo "Unmounting filesystems"
eindent
local fs=
- for x in ${RC_NET_FS_LIST} ; do
+ for x in ${net_fs_list}; do
fs="${fs}${fs:+|}${x}"
done
[ -n "${fs}" ] && fs="^(${fs})$"