From 7e1b28e8faad308523a22a78930c47e5cf9cb6cf Mon Sep 17 00:00:00 2001 From: "greg@kroah.com" Date: Mon, 24 Nov 2003 06:19:44 -0800 Subject: [PATCH] [PATCH] fix udev init.d script to handle all class devices in sysfs. --- etc/init.d/udev | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) 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 -- 2.30.2