From: greg@kroah.com Date: Mon, 24 Nov 2003 14:19:44 +0000 (-0800) Subject: [PATCH] fix udev init.d script to handle all class devices in sysfs. X-Git-Tag: 008~45 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=7e1b28e8faad308523a22a78930c47e5cf9cb6cf [PATCH] fix udev init.d script to handle all class devices in sysfs. --- diff --git a/etc/init.d/udev b/etc/init.d/udev index 99f06c296..5c09afd20 100644 --- a/etc/init.d/udev +++ b/etc/init.d/udev @@ -24,24 +24,31 @@ case "$1" in # device bring up action "Creating initial udev device nodes: " /bin/true export ACTION=add - # add tty devices - for i in ${sysfs_dir}/class/tty/*; do - export DEVPATH="/"`echo $i | cut --delimiter='/' --fields=3-` - $bin tty - done # add block devices and their partitions for i in ${sysfs_dir}/block/*; do - export DEVPATH="/"`echo $i | cut --delimiter='/' --fields=3-` + # add each drive + export DEVPATH=${i#${sysfs_dir}} $bin block + + # add each partition, on each device for j in $i/*; do if [ -f $j/dev ]; then - export DEVPATH="/"`echo $j | \ - cut --delimiter='/' --fields=3-` + export DEVPATH=${j#${sysfs_dir}} $bin block fi done done - # TODO: add other device classes + # all other device classes + for i in ${sysfs_dir}/class/*; do + for j in $i/*; do + if [ -f $j/dev ]; then + export DEVPATH=${j#${sysfs_dir}} + CLASS=`echo ${i#${sysfs_dir}} | \ + cut --delimiter='/' --fields=3-` + $bin $CLASS + fi + done + done ;; stop) # be careful