-#! /bin/bash
+#! /bin/sh
#
# start_udev
#
# script to initialize /dev by using udev.
#
+# Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
+#
+# Released under the GPL v2 only.
+#
# This needs to be run at the earliest possible point in the boot
# process.
#
# Based on the udev init.d script
#
+# Thanks go out to the Gentoo developers for proving
+# that this is possible to do.
+#
+# Yes, it's very verbose, feel free to turn off all of the echo calls,
+# they were there to make me feel better that everything was working
+# properly during development...
+#
. /etc/udev/udev.conf
udevd=/sbin/udevd
run_udev () {
+ export ACTION=add
+
# handle block devices and their partitions
for i in ${sysfs_dir}/block/*; do
# add each drive
echo "mounting... ramfs at $udev_root"
mount -n -t ramfs none $udev_root
-# We want to start udevd ourselves if it isn't already running. This
-# lets udevd run at a sane nice level...
-echo "starting udevd"
-$udevd &
-
# propogate /udev from /sys
-export ACTION=add
-export UDEV_NO_SLEEP=1
echo "Creating initial udev device nodes:"
-run_udev
+
+# You can use the shell scripts above by calling run_udev or execute udevstart
+# which does the same thing, but much faster by not using shell.
+# only comment out one of the following lines.
+#run_udev
+/sbin/udevstart
echo "making extra nodes"
make_extra_nodes