home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / etc / init.d / boot.udev < prev    next >
Text File  |  2006-11-29  |  2KB  |  88 lines

  1. #!/bin/sh
  2. #
  3. ### BEGIN INIT INFO
  4. # Provides:          boot.udev
  5. # Required-Start:
  6. # Default-Start:     B
  7. # Default-Stop:
  8. # Description:       Start udevd to manage /dev and kernel device events.
  9. ### END INIT INFO
  10.  
  11. . /etc/rc.status
  12.  
  13. PATH="/sbin:/bin"
  14. DAEMON=/sbin/udevd
  15. udevd_args="--daemon"
  16.  
  17. case "$1" in
  18.     start)
  19.     checkproc $DAEMON
  20.     if [ $? -eq 0 ]; then
  21.         echo -n "udevd already running"
  22.         rc_status -v
  23.         rc_exit
  24.     fi
  25.  
  26.     # disable uevent helper, udevd listens to netlink
  27.     echo "" > /sys/kernel/uevent_helper
  28.  
  29.     # start udevd (needs to block until we are initialized)
  30.     echo -n "Starting udevd "
  31.     rm -rf /dev/.udev
  32.     $DAEMON $udevd_args
  33.  
  34.     # cleanup stuff
  35.     rm -rf /events/*
  36.  
  37.     # run static device configurations
  38.     HWCFG_STUB=/etc/sysconfig/hardware/hwcfg
  39.     for cfg in ${HWCFG_STUB}-static*; do
  40.         if [ -f $cfg ]; then
  41.         /sbin/hwup ${cfg#$HWCFG_STUB-} ${cfg#$HWCFG_STUB-static-} -o auto > /dev/null 2>&1
  42.         fi
  43.     done
  44.  
  45.     # trigger events for all devices
  46.     /sbin/udevtrigger
  47.  
  48.     # wait for events to finish
  49.     /sbin/udevsettle --timeout=180
  50.     rc_status -v
  51.     ;;
  52.     stop)
  53.     echo -n "Stopping udevd:"
  54.     killproc $DAEMON
  55.     rc_status -v
  56.     ;;
  57.     restart)
  58.     echo -n "Restarting udevd:"
  59.     killproc $DAEMON
  60.     $DAEMON $udevd_args
  61.     rc_status -v
  62.     ;;
  63.     status)
  64.     echo -n "Checking for udevd:"
  65.     checkproc /sbin/udevd
  66.     rc_status -v
  67.     ;;
  68.     reload)
  69.     echo -n "Reloading udev rules:"
  70.     udevcontrol reload_rules
  71.     cp --preserve=all --recursive --update /lib/udev/devices/* /dev
  72.     rc_status -v
  73.     ;;
  74.     force-reload)
  75.     echo -n "Updating all available device nodes in /dev: "
  76.     udevcontrol reload_rules
  77.     rm -rf /dev/.udev /dev/disk
  78.     cp --preserve=all --recursive --update /lib/udev/devices/* /dev
  79.     /sbin/udevtrigger
  80.     rc_status -v
  81.     ;;
  82.     *)
  83.     echo "Usage: $0 {start|stop|restart|status|reload|force-reload}"
  84.     exit 1
  85.     ;;
  86. esac
  87. rc_exit
  88.