-#!/bin/sh
-export ACTION=add
-#export ACTION=remove
-export DEVPATH=/devices/pci0/00:09.0/usb1/1-1/1-1.1/ttyUSB7
-export DEVPATH=/class/tty/ttyUSB0
-export DEVPATH=/block/hda
+#! /bin/sh
+#
+# test.block - run udev(8) on each block device in /sys/block
+if [ $# = "0" ] ; then
+ echo
+ echo "usage: $0 <action>"
+ echo "where <action> is \"add\" or \"remove\""
+ echo
+ exit 1
+fi
-./udev block
-#./udev tty
+SYSFSDIR=/sys # change this for a nonstand sysfs mount point
+BIN=./udev # location of your udev binary
+export ACTION=$1 # 'add' or 'remove'
+
+for i in ${SYSFSDIR}/block/*; do
+ # add each drive
+ export DEVPATH="/"`echo $i | cut --delimiter='/' --fields=3-`
+ $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-`
+ $BIN block
+ fi
+ done
+done