- start)
- case "$LOGLEVEL" in
- [1-8])
- boot_mesg "Setting the console log level to ${LOGLEVEL}..."
- dmesg -n $LOGLEVEL
- evaluate_retval
- ;;
- *)
- boot_mesg "Console log level '${LOGLEVEL}' is invalid" ${FAILURE}
- echo_failure
- ;;
- esac
- ;;
- status)
- # Read the current value if possible
- if [ -r /proc/sys/kernel/printk ]; then
- read level line < /proc/sys/kernel/printk
- else
- boot_mesg "Can't read the current console log level" ${FAILURE}
- echo_failure
- fi
+ start)
+ # Make sure /run/var is available before logging any messages
+ if ! mountpoint /run >/dev/null; then
+ mount -n /run || failed=1
+ fi
+
+ mkdir -p /run/var /run/lock /run/shm
+ chmod 1777 /run/shm
+
+ log_info_msg "Mounting virtual file systems: ${INFO}/run"
+
+ if ! mountpoint /proc >/dev/null; then
+ log_info_msg2 " ${INFO}/proc"
+ mount -n -o nosuid,noexec,nodev /proc || failed=1
+ fi
+
+ if ! mountpoint /sys >/dev/null; then
+ log_info_msg2 " ${INFO}/sys"
+ mount -n -o nosuid,noexec,nodev /sys || failed=1
+ fi
+
+ if ! mountpoint /dev >/dev/null; then
+ log_info_msg2 " ${INFO}/dev"
+ mount -n -o mode=0755,nosuid /dev || failed=1
+ fi
+
+ # Copy devices that Udev >= 155 doesn't handle to /dev
+ cp -a /lib/udev/devices/* /dev