summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--init.d/udev36
-rw-r--r--init.d/udev-mount81
2 files changed, 27 insertions, 90 deletions
diff --git a/init.d/udev b/init.d/udev
index 41a6e64..72b2be2 100644
--- a/init.d/udev
+++ b/init.d/udev
@@ -13,10 +13,8 @@ udevmonitor_pid=/run/udevmonitor.pid
depend()
{
- # we depend on udev-mount explicitly, not dev-mount generic as we don't
- # want mdev as a dev-mount provider to come in.
provide dev
- need sysfs udev-mount
+ need sysfs dev-mount
before checkfs fsck
# udev does not work inside vservers
@@ -25,8 +23,24 @@ depend()
start_pre()
{
- if [ -e /proc/sys/kernel/hotplug ]; then
- echo "" >/proc/sys/kernel/hotplug
+ # make sure devtmpfs is in the kernel
+ if ! grep -qs devtmpfs /proc/filesystems; then
+ eerror "CONFIG_DEVTMPFS=y is required in your kernel configuration"
+ eerror "for this version of udev to run successfully."
+ eerror "This requires immediate attention."
+ if ! mountinfo -q /dev; then
+ mount -n -t tmpfs dev /dev
+ busybox mdev -s
+ mkdir /dev/pts
+ fi
+ return 1
+ fi
+
+ # make sure /dev is a mounted devtmpfs
+ if ! mountinfo -q -f devtmpfs /dev; then
+ eerror "Udev requires /dev to be a mounted devtmpfs."
+ eerror "Please reconfigure your system."
+ return 1
fi
# load unix domain sockets if built as module, Bug #221253
@@ -38,10 +52,6 @@ start_pre()
fi
fi
- if yesno "${udev_debug:-NO}"; then
- command_args="${command_args} --debug 2> /run/udevdebug.log"
- fi
-
bins="/sbin/udevd /lib/systemd/systemd-udevd /usr/lib/systemd/systemd-udevd"
for f in ${bins}; do
if [ -x "$f" -a ! -L "$f" ]; then
@@ -53,6 +63,14 @@ start_pre()
return 1
fi
+ if [ -e /proc/sys/kernel/hotplug ]; then
+ echo "" >/proc/sys/kernel/hotplug
+ fi
+
+ if yesno "${udev_debug:-NO}"; then
+ command_args="${command_args} --debug 2> /run/udevdebug.log"
+ fi
+
return 0
}
diff --git a/init.d/udev-mount b/init.d/udev-mount
deleted file mode 100644
index a868340..0000000
--- a/init.d/udev-mount
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-description="mount devtmpfs on /dev"
-
-depend()
-{
- provide dev-mount
- keyword -vserver -lxc
-}
-
-mount_dev_directory()
-{
- local mounted=false fstab=false action=--mount msg=Mounting rc=0
-
- if ! grep -qs devtmpfs /proc/filesystems; then
- eerror "CONFIG_DEVTMPFS=y is required in your kernel configuration"
- eerror "for this version of udev to run successfully."
- eerror "This requires immediate attention."
- if ! mountinfo -q /dev; then
- mount -n -t tmpfs dev /dev
- busybox mdev -s
- mkdir /dev/pts
- fi
- return 1
- fi
-
- # Is /dev already a mounted devtmpfs?
- mountinfo -q -f devtmpfs /dev && mounted=true
-
- # If an entry for /dev exists in fstab it must be a devtmpfs.
- fstabinfo -q -t devtmpfs /dev && fstab=true
-
- # No options are processed here as they should all be in /etc/fstab
- if $fstab; then
- $mounted && action=--remount && msg=Remounting
- ebegin "$msg /dev according to /etc/fstab"
- fstabinfo $action /dev
- rc=$?
- elif ! $mounted; then
- ebegin "Mounting /dev"
- # Some devices require exec, Bug #92921
- mount -n -t devtmpfs -o "exec,nosuid,mode=0755,size=10M" udev /dev
- rc=$?
- else
- ebegin "Using /dev mounted from kernel"
- fi
-
- eend $rc
-}
-
-seed_dev()
-{
- # Seed /dev with some things that we know we need
-
- # creating /dev/console, /dev/tty and /dev/tty1 to be able to write
- # to $CONSOLE with/without bootsplash before udevd creates it
- [ -c /dev/console ] || mknod -m 600 /dev/console c 5 1
- [ -c /dev/tty1 ] || mknod -m 620 /dev/tty1 c 4 1
- [ -c /dev/tty ] || mknod -m 666 /dev/tty c 5 0
-
- # udevd will dup its stdin/stdout/stderr to /dev/null
- # and we do not want a file which gets buffered in ram
- [ -c /dev/null ] || mknod -m 666 /dev/null c 1 3
-
- # so udev can add its start-message to dmesg
- [ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11
-
- # Create problematic directories
- mkdir -p /dev/pts /dev/shm
- return 0
-}
-
-start()
-{
- mount_dev_directory || return 1
-
- seed_dev
- return 0
-}