# this is a way of checking if the nodes are permanent or not
# e.g. if you have /dev with some static nodes, and you have
# devfs on top, you will see the underlaying static nodes

FAKEROOT=/tmp/UDEV_NODE_ROOT
DEVPREFIX=${FAKEROOT}/dev
STATICDIR=/lib/udev/devices

create_node()
{

  local PERMS=$1
  local NODE=$2
  local TYPE=$3
  local MAJOR=$4
  local MINOR=$5
  local SYMLINK=$6

  echo -ne "\tTesting for ${STATICDIR}/${NODE}: "

  if [ -e ${STATICDIR}/${NODE} ]; then
     echo "node already present."
  else
     mknod -m $PERMS ${STATICDIR}/${NODE} ${TYPE} ${MAJOR} ${MINOR} || { echo "cannot create node in $STATICDIR."; exit 1; }
     echo "static node created in $STATICDIR"
  fi

  return 0
}

create_node 0600 console c 5 1     &&
create_node 0666 null    c 1 3     &&
create_node 0600 ram0    b 1 0 ram &&
create_node 0600 ram1    b 1 1     &&
create_node 0660 loop0   b 7 0     &&
create_node 0666 zero    c 1 5     &&
create_node 0660 kmsg    c 1 11    &&

# Find and auto-configure network and block devices
for netdev in `ls -d /sys/class/net/eth[0-9]*`
do echo add > $netdev/uevent
done
for devblock in `ls /sys/block | grep -v loop`
do udevadm test /sys/block/$devblock
done
