#! /bin/sh # # Check for missing binaries (stale symlinks should not happen) UDEV_BIN=../wait_for_sysfs test -x $UDEV_BIN || exit 5 # Directory where sysfs is mounted SYSFS_DIR=/sys run_udev () { # handle block devices and their partitions for i in ${SYSFS_DIR}/block/*; do # add each drive export DEVPATH=${i#${SYSFS_DIR}} $UDEV_BIN block & # add each partition, on each device for j in $i/*; do if [ -f $j/dev ]; then export DEVPATH=${j#${SYSFS_DIR}} $UDEV_BIN block fi done done # 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-` $UDEV_BIN $CLASS # fi done done } export ACTION=add run_udev