#!/bin/sh dev_root="$1" f="$2" if [ -z "$dev_root" -o -z "$f" ]; then echo "usage: $0 <dev root> /etc/udev/devices.d/<name>.nodes" exit 1 fi if [ ! -d "$dev_root" ]; then echo "$dev_root is not a directory" exit 1 fi if [ ! -r "$f" ]; then echo "unreadable file $f" exit 1 fi grep '^[^#]' $f | \ while read type name arg1; do [ "$type" -a "$name" -a ! -e "$dev_root/$name" -a ! -L "$dev_root/$name" ] ||continue case "$type" in L) ln -snf $arg1 $dev_root/$name ;; D) mkdir -p $dev_root/$name ;; M) mknod --mode=600 $dev_root/$name $arg1 ;; *) echo "$f: unparseable line ($type $name $arg1)" ;; esac done