X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=inline;f=etc%2Finit.d%2Fudev;h=69c1bab74eb7a0feade3d21859393bb2e49fb611;hb=1a3b802ff219a82b4a39cd3d7cb7bb037b396216;hp=c540057d21ae82b925ed0d56286bc8f354150304;hpb=5779dd31f49b41d52d1f08c2eb4239926fa58864;p=elogind.git diff --git a/etc/init.d/udev b/etc/init.d/udev index c540057d2..69c1bab74 100644 --- a/etc/init.d/udev +++ b/etc/init.d/udev @@ -7,24 +7,14 @@ . /etc/rc.d/init.d/functions -udev_dir=/udev +. /etc/udev/udev.conf + +prog=udev sysfs_dir=/sys bin=/sbin/udev -case "$1" in - start) - if [ ! -d $udev_dir ]; then - mkdir $udev_dir - fi - if [ ! -d $sysfs_dir ]; then - exit 1 - fi - # propogate /udev from /sys - we only need this while we do not - # have initramfs and an early user-space with which to do early - # device bring up - action "Creating initial udev device nodes: " /bin/true - export ACTION=add - # add block devices and their partitions +run_udev () { + # handle block devices and their partitions for i in ${sysfs_dir}/block/*; do # add each drive export DEVPATH=${i#${sysfs_dir}} @@ -49,21 +39,49 @@ case "$1" in fi done done + return 0 +} + +case "$1" in + start) + if [ ! -d $sysfs_dir ]; then + exit 1 + fi + if [ ! -d $udev_root ]; then + mkdir $udev_root + fi + + # remove the database if it is there as we always want to start fresh + if [ -f $udev_root/.udev.tdb ]; then + rm -f $udev_root/.udev.tdb + fi + + # propogate /udev from /sys - we only need this while we do not + # have initramfs and an early user-space with which to do early + # device bring up + export ACTION=add + echo -n $"Creating initial udev device nodes:" + run_udev + success /bin/true + echo + touch /var/lock/subsys/udev ;; stop) # be careful - action "Removing udev device nodes: " /bin/true - if [ $udev_dir -a "$udev_dir" != "/" ]; then - # clear out /udev - rm -rf ${udev_dir}/* - fi + echo -n $"Removing udev device nodes: " + export ACTION=remove + run_udev + success /bin/true + echo + rm -f /var/lock/subsys/udev ;; status) - if [ -d $udev_dir ]; then - echo "the udev device node directory exists" - else - echo "the udev device node directory does not exist" + if [ -f /var/lock/subsys/udev ]; then + echo $"$prog has run" + exit 0 fi + echo $"$prog is stopped" + exit 3 ;; restart) $0 stop