#!/bin/sh

# a cheeky way of dynamically creating a /dev tree
devdir="/dev"
[ "$1" ] && devdir=$1

cd $devdir

for i in $(find /sys/block -name dev); do
	# get the second-to-last field
	name=$(echo $i | rev | cut -d/ -f2 | rev)
	maj=$(cat $i | cut -d: -f1)
	min=$(cat $i | cut -d: -f2)
	[ ! -e $name ] && mknod $name b $maj $min
done

for i in $(find /sys/class -name dev); do
	# get the second-to-last field
	name=$(echo $i | rev | cut -d/ -f2 | rev)
	# skip all the tty?? nodes
	#[ "${name%%??}" = "tty" ] && continue
	#[ "${name%%??}" = "pty" ] && continue
	maj=$(cat $i | cut -d: -f1)
	min=$(cat $i | cut -d: -f2)
	[ ! -e $name ] && mknod $name c $maj $min
done
