X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage1%2Fbootscripts%2Fudev;h=12527a5f6a5a33efa8986cd020ad62b53d42e004;hb=085c7444d60ccd8512e49df7dfa6410934b86510;hp=c29fbd05a6c7118d12fbbb9a87610daca96d5aad;hpb=6d3d50c17b24ef41f917f5776696eca810198092;p=hvlinux.git diff --git a/stage1/bootscripts/udev b/stage1/bootscripts/udev index c29fbd0..12527a5 100644 --- a/stage1/bootscripts/udev +++ b/stage1/bootscripts/udev @@ -1,8 +1,12 @@ -#!/bin/sh +#!/bin/bash # udev # Udev cold-plugging script +DAEMON=/sbin/udevd +DAEMON_DESC=UDEV +DAEMON_OPTS="--daemon" + # Source functions library source /etc/rc.d/init.d/functions @@ -11,10 +15,11 @@ log_script_name "$0 $*" udev_coldplug() { # Unlikely, but we may be faster than the first event - mkdir -p /dev/.udev/queue && + mkdir -p /dev/udev/queue && # Configure all devices - /sbin/udevadm trigger && + /sbin/udevadm trigger --action=add --type=subsystems && + /sbin/udevadm trigger --action=add --type=devices && # Now wait for udevd to process the uevents we triggered /sbin/udevadm settle @@ -22,10 +27,12 @@ udev_coldplug() udev_start() { + # Udev handles uevents itself, so we don't need to have + # the kernel call out to any binary in response to them echo "" > /sys/kernel/uevent_helper && # Start the udev daemon to continually watch for, and act on uevents - /sbin/udevd --daemon + ${DAEMON} ${DAEMON_OPTS} } # See how we were called @@ -35,21 +42,14 @@ case "$1" in boot_failure "FAILURE: Unable to create devices without a SysFS filesystem." fi - # Mount a temporary file system over /dev, so that any devices - # made or removed during this boot don't affect the next one. - # The reason we don't write to mtab is because we don't ever - # want /dev to be unavailable (such as by `umount -a'). - cmd_run_log_box "Mounting /dev in tmpfs" mount -n -t tmpfs -o mode=0755 udev /dev - cmd_run_log_box "Copying static /dev entries" cp --preserve=all --recursive --remove-destination /lib/udev/devices/* /dev - cmd_run_log_box "Setting permissons on /dev/shm" chmod 1777 /dev/shm - cmd_run_log_box_warn "Starting udevd" udev_start + cmd_run_log_box_warn "${DAEMON_DESC} start" udev_start cmd_run_log_box "Performing Coldplugging" udev_coldplug ;; - + *) echo "Usage: $0 {start}" exit ${EXIT_CODE_FAILURE}