summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/makedev-gentoo/files/MAKEDEV')
-rwxr-xr-xsys-apps/makedev-gentoo/files/MAKEDEV2123
1 files changed, 2123 insertions, 0 deletions
diff --git a/sys-apps/makedev-gentoo/files/MAKEDEV b/sys-apps/makedev-gentoo/files/MAKEDEV
new file mode 100755
index 0000000..c87b58d
--- /dev/null
+++ b/sys-apps/makedev-gentoo/files/MAKEDEV
@@ -0,0 +1,2123 @@
+#! /bin/sh -
+# $Id: MAKEDEV 1577 2005-10-19 00:07:16Z vapier $
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+# Customisation:
+# The devices fall into various classes. This section contains the mapping
+# from a class name into a group name and permission.
+# You will almost certainly need to edit the group name to match your
+# system, and you may change the permissions to suit your preference. These
+# lines _must_ be of the format "user group perm".
+
+ public=" root root 0666"
+private=" root root 0600"
+ system=" root root 0660"
+ kmem=" root kmem 0640"
+ tty=" root tty 0666"
+ cons=" root tty 0600"
+dialout=" root dialout 0660"
+ dip=" root dip 0660"
+ mouse=" root root 0660"
+printer=" root lp 0660"
+ floppy=" root floppy 0660"
+ disk=" root disk 0660"
+ scsi=" root root 0600"
+ cdrom=" root cdrom 0660"
+ tape=" root tape 0660"
+ audio=" root audio 0660"
+ video=" root video 0660"
+ ibcs2=" root root 0666"
+scanner=" root root 0666"
+ coda=" root root 0600"
+ ipsec=" root root 0200"
+readable=" root root 0444"
+
+MAXVT=63
+
+# defaults for $major_*
+major_ide0=3
+major_ide1=22
+major_sd=8
+major_lp=6
+
+# Remark: OSS/Linux becomes major_OSSLinux
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+# try to do the right things if udev is running
+if [ "$WRITE_ON_UDEV" ]; then
+ :
+elif [ -d /dev/.static/dev/ ] && [ "`pwd`" = /dev ] && [ -e /proc/mounts ] \
+ && grep -qE '^[^ ]+ /dev/\.static/dev' /proc/mounts; then
+ cd /dev/.static/dev/
+elif [ -d /.dev/ ] && [ "`pwd`" = /dev ] && [ -e /proc/mounts ] \
+ && grep -qE '^[^ ]+ /\.dev' /proc/mounts; then
+ cd /.dev/
+elif [ -d .udevdb/ ] && [ "`pwd`" = /dev ]; then
+ echo ".udevdb presence implies active udev. Aborting MAKEDEV invocation."
+ # use exit 0, not 1, so postinst scripts don't fail on this
+ exit 0
+fi
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+# don't stomp on devfs users
+if [ -c .devfsd ]
+then
+ echo ".devfsd presence implies active DevFS. Aborting MAKEDEV invocation."
+ # use exit 0, not 1, so postinst scripts don't fail on this
+ exit 0
+fi
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+# don't stomp on non-Linux users
+if [ "$(uname -s)" != "Linux" ]
+then
+ echo "Results undefined on non-Linux systems, aborting MAKEDEV invocation."
+ # use exit 0, not 1, so postinst scripts don't fail on this
+ exit 0
+fi
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+procfs=/proc
+
+opt_v=
+opt_d=
+opt_n=
+
+while [ $# -ge 1 ]
+do
+ case $1 in
+ --) shift; break ;;
+ -v) shift; opt_v=1 ;;
+ -d) shift; opt_d=1 ;;
+ -n) shift; opt_n=1; opt_v=1 ;;
+ -V) shift; opt_V=1 ;;
+ -*) echo "$0: unknown flag \"$1\"" >&2; exit 1 ;;
+ *) break ;;
+ esac
+done
+
+if [ "$opt_V" ]
+then
+ echo "This is MAKEDEV based on Debian's makedev_2.3.1-78."
+ echo "See the MAKEDEV(8) manpage for more information."
+ exit 0
+fi
+
+opts="${opt_n:+-n} ${opt_v:+-v} ${opt_d:+-d}"
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+devicename () { # translate device names to something safe
+ echo "$*" | sed -e 's/[^A-Za-z0-9_]/_/g'
+}
+
+makedev () { # usage: makedev name [bcu] major minor owner group mode
+ if [ "$opt_v" ]
+ then if [ "$opt_d" ]
+ then echo "delete $1"
+ else echo "create $1 $2 $3 $4 $5:$6 $7"
+ fi
+ fi
+ # missing parameters are a bug - bail - should we do an exit 1 here?
+ case :$1:$2:$3:$4:$5:$6:$7: in
+ *::*) echo "Warning: MAKEDEV $@ is missing parameter(s)." >&2;;
+ esac
+ if [ ! "$opt_n" ]
+ then
+ if [ "$opt_d" ]
+ then
+ rm -f $1
+ else
+ rm -f $1-
+ if mknod $1- $2 $3 $4 &&
+ chown $5:$6 $1- &&
+ chmod $7 $1- &&
+ mv $1- $1
+ then
+ : # it worked
+ else
+ # Didn't work, clean up any mess...
+ echo "makedev $@: failed"
+ rm -f $1-
+ fi
+ fi
+ fi
+}
+symlink () { # usage: symlink name target
+ if [ "$opt_v" ]
+ then if [ "$opt_d" ]
+ then echo "delete $1"
+ else echo "create $1 -> $2"
+ fi
+ fi
+ [ ! "$opt_n" ] && rm -f $1 &&
+ [ ! "$opt_d" ] && ln -s $2 $1
+}
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+# Debian allows us to assume /bin/sh is a POSIX compliant shell, so go for it!
+
+math () {
+ eval echo "\$(($*))"
+}
+index () { # index string c
+ eval "I=\${1%$2*}"
+ eval echo "\${#I}"
+}
+suffix () {
+ eval echo "\${1#$2}"
+}
+strip () {
+ eval echo "\${1% $2 *} \${1#* $2 }"
+}
+first () {
+ echo "${1%%?}"
+}
+second () {
+ echo "${1##?}"
+}
+substr () {
+ echo $1 | dd bs=1 count=1 skip=$(( $2 - 1 )) 2> /dev/null
+}
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+devices=
+if [ ! -f $procfs/devices ]
+then
+ echo "$0: warning: can't read $procfs/devices" >&2
+else
+ exec 3<$procfs/devices
+ while read major device extra <&3
+ do
+ device=`echo $device | sed 's#/.*##'`
+ case "$major" in
+ Character|Block|'')
+ ;;
+ *)
+ safedevname=`devicename $device`
+ eval "major_$safedevname=$major"
+ devices="$devices $device"
+ ;;
+ esac
+ done
+ exec 3<&-
+fi
+
+Major () {
+ device=$2
+ devname=`devicename $1`
+ if [ "$opt_d" ]
+ then
+ echo -1 # don't care
+ else
+ eval echo \${major_$devname:-\${device:?\"unknown major number for $1\"}}
+ fi
+}
+
+cvt () {
+ while [ $# -ne 0 ]
+ do
+ case "$1" in
+ mem|tty|ttyp|cua|cub|cui) ;;
+ hd) (for d in a b c d e f g h ; do
+ echo -n hd$d " "
+ done) ; echo
+ ;;
+ ide0) echo hda hdb ;;
+ ide1) echo hdc hdd ;;
+ ide2) echo hde hdf ;;
+ ide3) echo hdg hdh ;;
+ ide4) echo hdi hdj ;;
+ ide5) echo hdk hdl ;;
+ ide6) echo hdm hdn ;;
+ ide7) echo hdo hdp ;;
+ ide8) echo hdq hdr ;;
+ ide9) echo hds hdt ;;
+ sd) echo sda sdb sdc sdd ;;
+ dasd) (for d in a b c d e f g h i j k l m \
+ n o p q r s t u v w x y z ; do
+ echo -n dasd$d " "
+ done) ; echo
+ ;;
+ raw) echo raw ;;
+ sg) echo sg ;;
+ sr) echo scd ;;
+ st) echo st0 ;;
+ xd) echo xda xdb ;;
+ ad) echo ada adb ;;
+ fd) echo fd0 fd1 ;;
+ lp) echo lp ;;
+ mt) echo ftape ;;
+ qft) echo ftape ;;
+ loop) echo loop ;;
+ md) echo md ;;
+ ibcs2) echo ibcs2 ;;
+ tpqic02) echo qic ;;
+ sound) echo audio ;;
+ logiscan) echo logiscan ;;
+ ac4096) echo ac4096 ;;
+ hw) echo helloworld ;;
+ sbpcd | sbpcd[123]) echo $1 ;;
+ joystick) echo js ;;
+ input) echo input ;;
+ apm_bios) echo apm ;;
+ dcf) echo dcf ;;
+ aztcd) echo aztcd ;;
+ cm206cd) echo cm206cd ;;
+ gscd) echo gscd ;;
+ pcmcia) ;; # taken care of by its own driver
+ ttyC) echo cyclades ;;
+ isdn) echo isdnmodem isdnbri dcbri ;;
+ vcs) ;;
+ pty) echo pty ;;
+ misc) echo misc ;;
+ 3dfx) echo 3dfx ;;
+ agpgart) echo agpgart ;;
+ microcode) echo microcode ;;
+ ipmi|ipmikcs) echo ipmi ;;
+ fb) echo fb ;;
+ nb|drbd) echo nb0 nb1 nb2 nb3 nb4 nb5 nb6 nb7;;
+ netlink) echo netlink ;;
+ tap) echo netlink ;;
+ hamradio) echo hamradio ;;
+ snd) ;;
+ ptm) ;;
+ pts) ;;
+ ttyB) (for l in 0 1 2 3 4 5 6 7 ; do
+ echo -n ttyB$l " "
+ done) ; echo
+ ;;
+ ttyS) echo ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ;;
+ ttyI) echo ttyI0 ttyI1 ttyI2 ttyI3 ;;
+ ircomm|irlpt) irda ;;
+ ppp) echo ppp ;;
+ usb) echo usb ;;
+ dpt_i2o) echo dpti ;;
+ bluetooth) echo bluetooth ;;
+ lvm) ;; # taken care of by LVM userspace tools
+ ramdisk) echo ram ;;
+ *) echo "$0: don't know what \"$1\" is" >&2 ;;
+ esac
+ shift
+ done
+}
+
+get_arch() {
+ case `uname -m` in
+ arm*) echo arm;;
+ i?86) echo i386;;
+ ppc*) echo powerpc;;
+ s390*) echo s390;;
+ sh*) echo sh;;
+ x86_64) echo i386;;
+ # alpha|hppa|ia64|m68k|mips|sparc
+ *) echo $a;;
+ esac
+}
+
+for arg in $*
+do
+# case `cvt $arg` in
+ case $arg in
+ generic)
+ $0 $opts generic-`get_arch`
+ ;;
+ generic-alpha)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb hdc hdd
+ $0 $opts xda xdb
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts busmice
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts audio
+ $0 $opts fb
+ $0 $opts dac960
+ ;;
+ generic-arm)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb hdc hdd
+ $0 $opts xda xdb
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts busmice
+ makedev sunmouse c 10 6 $mouse
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts audio
+ $0 $opts fb
+ ;;
+ generic-hppa)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb hdc hdd
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts ttyB0 ttyB1 ttyB2 ttyB3 ttyB4 ttyB5 ttyB6 ttyB7
+ $0 $opts busmice
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts audio
+ $0 $opts fb
+ $0 $opts rtc
+ ;;
+ generic-i386)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb hdc hdd
+ $0 $opts xda xdb
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts busmice
+ $0 $opts input
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts audio
+ $0 $opts fb
+ $0 $opts isdn-io eda edb sonycd mcd mcdx cdu535
+ $0 $opts optcd sjcd cm206cd gscd
+ $0 $opts lmscd sbpcd aztcd bpcd dac960 dpti ida ataraid cciss
+ $0 $opts i2o.hda i2o.hdb i2o.hdc i2o.hdd
+ ;;
+ generic-ia64)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb hdc hdd
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5
+ $0 $opts busmice
+ $0 $opts input
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts audio
+ $0 $opts fb
+ $0 $opts efirtc
+ ;;
+ generic-m68k)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb hdc hdd
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts sg
+ $0 $opts ada adb adc add ade adf
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5
+ $0 $opts m68k-mice
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts nvram
+ $0 $opts audio
+ $0 $opts fb
+ ;;
+ generic-mips)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts audio
+ $0 $opts fb
+ $0 $opts busmice
+ ;;
+ generic-mipsel)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts audio
+ $0 $opts fb
+ $0 $opts rtc
+ ;;
+ generic-powerpc)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb hdc hdd
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts busmice
+ $0 $opts m68k-mice
+ $0 $opts input
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts nvram
+ $0 $opts audio
+ $0 $opts adb
+ $0 $opts fb
+ $0 $opts rtc
+ $0 $opts isdn-io
+ ;;
+ generic-s390)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts dasda dasdb dasdc dasdd dasde dasdf dasdg dasdh \
+ dasdi dasdj dasdk dasdl dasdm dasdn dasdo dasdp \
+ dasdq dasdr dasds dasdt dasdu dasdv dasdw dasdx \
+ dasdy dasdz
+ $0 $opts pty
+ $0 $opts consoleonly
+ $0 $opts rtc
+ ;;
+ generic-sh)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts ttySC0 ttySC1 ttySC2 ttySC3
+ $0 $opts lp
+ $0 $opts par
+ $0 $opts audio
+ $0 $opts fb
+ $0 $opts rtc
+ ;;
+ generic-sparc)
+ $0 $opts std
+ $0 $opts fd
+ $0 $opts fd0 fd1
+ $0 $opts hda hdb hdc hdd
+ $0 $opts sda sdb sdc sdd
+ $0 $opts scd0 scd1
+ $0 $opts st0 st1
+ $0 $opts sg
+ $0 $opts pty
+ $0 $opts console
+ $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+ $0 $opts busmice
+ $0 $opts fb
+ $0 $opts rtc
+ makedev kbd c 11 0 $cons
+ makedev sunmouse c 10 6 $mouse
+ symlink mouse sunmouse
+ makedev openprom c 10 139 root root 0664
+ ;;
+ generic-*)
+ echo "$0: no support for generic on this arch" >&2
+ exit 1
+ ;;
+ local)
+ $0.local $opts
+ ;;
+ std)
+ makedev mem c 1 1 $kmem
+ makedev kmem c 1 2 $kmem
+ makedev null c 1 3 $public
+ makedev port c 1 4 $kmem
+ makedev zero c 1 5 $public
+ symlink core $procfs/kcore
+ makedev full c 1 7 $public
+ makedev random c 1 8 $public
+ makedev urandom c 1 9 $readable
+ makedev tty c 5 0 $tty
+ $0 $opts ram
+ $0 $opts loop
+ ;;
+ hamradio)
+ $0 $opts scc
+ $0 $opts bc
+ ;;
+ scc)
+ for unit in 0 1 2 3 4 5 6 7
+ do
+ makedev scc$unit c 34 $unit $system
+ done
+ ;;
+ bc)
+ for unit in 0 1 2 3
+ do
+ makedev bc$unit c 51 $unit $system
+ done
+ ;;
+ random)
+ makedev random c 1 8 $public
+ ;;
+ urandom)
+ makedev urandom c 1 9 $readable
+ ;;
+ ram)
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
+ makedev ram$i b 1 $i $disk
+ done
+ symlink ram ram1
+ ;;
+ ram[0-9]|ram1[0-6])
+ unit=`suffix $arg ram`
+ makedev ram$unit b 1 $unit $disk
+ ;;
+ initrd)
+ makedev initrd b 1 250 $disk
+ ;;
+ raw)
+ makedev rawctl c 162 0 $disk
+ mkdir -p raw
+ for i in 1 2 3 4 5 6 7 8; do
+ makedev raw/raw$i c 162 $i $disk
+ done
+ ;;
+ consoleonly)
+ makedev tty0 c 4 0 $cons
+ # new kernels need a device, old ones a symlink... sigh
+ kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
+ kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
+ if [ $kern_rev1 -gt 2 ]
+ then
+ makedev console c 5 1 $cons
+ else
+ if [ $kern_rev1 -eq 2 ] && [ $kern_rev2 -ge 1 ]
+ then
+ makedev console c 5 1 $cons
+ else
+ symlink console tty0
+ fi
+ fi
+ ;;
+ console)
+ $0 $opts consoleonly
+ major=`Major vcs 7` # not fatal
+ [ "$major" ] && makedev vcs0 c $major 0 $cons
+ symlink vcs vcs0
+ [ "$major" ] && makedev vcsa0 c $major 128 $cons
+ symlink vcsa vcsa0
+ # individual vts
+ line=1
+ while [ $line -le $MAXVT ] && [ $line -le 63 ]
+ do
+ makedev tty$line c 4 $line $cons
+ [ "$major" ] && makedev vcs$line c $major $line $cons
+ [ "$major" ] && makedev vcsa$line c $major `math $line + 128` $cons
+ line=`math $line + 1`
+ done
+ ;;
+ adb)
+ case `get_arch` in
+ powerpc)
+ # ADB bus devices (char)
+ makedev adb c 56 0 $mouse
+ makedev adbmouse c 10 10 $mouse
+ ;;
+ m68k)
+ # ACSI disk 2, whole device (block)
+ makedev adb b 28 16 $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ minor=$(( 16 + $part ))
+ makedev adb$part b 28 $minor $disk
+ done
+ ;;
+ *)
+ echo "no support for adb on this arch" >&2
+ exit 1
+ ;;
+ esac
+ ;;
+ raw1394)
+ makedev raw1394 c 171 0 $disk
+ ;;
+ video1394)
+ rm -f video1394
+ mkdir -p video1394
+ for i in `seq 0 15`
+ do
+ makedev video1394/$i c 171 `math 16 + $i` $video
+ done
+ ;;
+ nvram)
+ makedev nvram c 10 144 $mouse
+ ;;
+ tty[1-9]|tty[1-5][0-9]|tty[6][0-3])
+ line=`suffix $arg tty`
+ makedev tty$line c 4 $line $cons
+ ;;
+ ttyS[0-9]|ttyS[1-5][0-9]|ttyS[6][0-3])
+ line=`suffix $arg ttyS`
+ minor=`math 64 + $line`
+ makedev ttyS$line c 4 $minor $dialout
+ ;;
+ ttySC[0-3])
+ line=`suffix $arg ttySC`
+ minor=`math 8 + $line`
+ makedev ttySC$line c 204 $minor $dialout
+ ;;
+ ttyB[0-7])
+ minor=`suffix $arg ttyB`
+ makedev ttyB$minor c 11 $minor $dialout
+ ;;
+ pty[a-ep-z])
+ bank=`suffix $arg pty`
+ base=`index pqrstuvwxyzabcde $bank`
+ base=`math $base \* 16`
+ for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f
+ do
+ j=`index 0123456789abcdef $i`
+ makedev pty$bank$i c 2 `math $base + $j` $tty
+ makedev tty$bank$i c 3 `math $base + $j` $tty
+ done
+ ;;
+ pty)
+ ptysufs=""
+ for i in p q r s t u v w x y z a b c d e
+ do
+ ptysufs="$ptysufs pty$i"
+ done
+ $0 $opts $ptysufs ptmx
+ ;;
+ ptmx)
+ # master pty multiplexer for 2.1 kernels
+ makedev ptmx c 5 2 $tty
+ ;;
+ cyclades|ttyC)
+ major1=`Major ttyC 19` || continue
+ #major2=`Major cub 20` || continue
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
+ 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
+ do
+ makedev ttyC$i c $major1 $i $dialout
+ #makedev cub$i c $major2 $i $dialout
+ done
+ ;;
+ stallion|ttyE)
+ major1=`Major ttyE 24` || continue
+ #major2=`Major cue 25` || continue
+ majorc=28
+ minor=0
+ until [ $minor -gt 256 ]
+ do
+ makedev ttyE$minor c $major1 $minor $dialout
+ #makedev cue$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ for i in 0 1 2 3
+ do
+ makedev staliomem$i c $majorc $i $private
+ done
+ ;;
+ chase|ttyH)
+ major1=`Major ttyH 17` || continue
+ #major2=`Major cuh 18` || continue
+ minor=0
+ until [ $minor -gt 16 ] # tell me if 16 is wrong
+ do
+ makedev ttyH$minor c $major1 $minor $dialout
+ #makedev cuh$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ rocketport|ttyR)
+ major1=`Major ttyR 46` || continue
+ #major2=`Major cur 47` || continue
+ minor=0
+ until [ $minor -gt 64 ] # tell me if 64 is wrong
+ do
+ makedev ttyR$minor c $major1 $minor $dialout
+ #makedev cur$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ ttyV)
+ major1=`Major ttyV 105` || continue
+ #major2=`Major cuv 106` || continue
+ minor=0
+ until [ $minor -gt 16 ] # tell me if 16 is wrong
+ do
+ makedev ttyV$minor c $major1 $minor $dialout
+ #makedev cuv$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ digi|ttyD)
+ major1=`Major ttyD 22` || continue
+ #major2=`Major cud 23` || continue
+ minor=0
+ until [ $minor -gt 16 ] # tell me if 16 is wrong
+ do
+ makedev ttyD$minor c $major1 $minor $dialout
+ #makedev cud$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ specialix|ttyX)
+ major1=`Major ttyX 32` || continue
+ #major2=`Major cux 33` || continue
+ minor=0
+ until [ $minor -gt 16 ] # tell me if 16 is wrong
+ do
+ makedev ttyX$minor c $major1 $minor $dialout
+ #makedev cux$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ specialixIO8|ttyW)
+ major1=`Major ttyW 75` || continue
+ #major2=`Major cuw 76` || continue
+ minor=0
+ until [ $minor -gt 16 ] # tell me if 16 is wrong
+ do
+ makedev ttyW$minor c $major1 $minor $dialout
+ #makedev cuw$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ PAM|ttyM)
+ major1=`Major ttyM 79` || continue
+ #major2=`Major cum 80` || continue
+ minor=0
+ until [ $minor -gt 16 ] # tell me if 16 is wrong
+ do
+ makedev ttyM$minor c $major1 $minor $dialout
+ #makedev cum$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ riscom|ttyL)
+ major=`Major ttyL 48` || continue
+ minor=0
+ until [ $minor -gt 16 ] # tell me if 16 is wrong
+ do
+ makedev ttyL$minor c $major $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ computone|ttyF)
+ major=`Major ttyF 71` || continue
+ #major2=`Major cuf 72` || continue
+ minor=0
+ until [ $minor -gt 255 ]
+ do
+ makedev ttyF$minor c $major $minor $dialout
+ #makedev cuf$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ major=73
+ for i in 0 4 8 12
+ do
+ makedev ip2ipl$i c $major $i $private
+ makedev ip2stat$i c $major `math $i + 1` $private
+ done
+ ;;
+ ESP|ttyP)
+ major=`Major ttyP 57` || continue
+ #major2=`Major cup 58` || continue
+ minor=0
+ until [ $minor -gt 4 ] # tell me if 4 is wrong
+ do
+ makedev ttyP$minor c $major $minor $dialout
+ #makedev cup$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ COMX|comx)
+ major=`Major comx 88` || continue
+ minor=0
+ until [ $minor -gt 4 ] # tell me if 4 is wrong
+ do
+ makedev comx$minor c $major $minor $private
+ minor=`math $minor + 1`
+ done
+ ;;
+ isdnmodem|ttyI)
+ major1=`Major ttyI 43` || continue
+ #major2=`Major cui 44` || continue
+ minor=0
+ until [ $minor -gt 63 ]
+ do
+ makedev ttyI$minor c $major1 $minor $dialout
+ #makedev cui$minor c $major2 $minor $dialout
+ minor=`math $minor + 1`
+ done
+ ;;
+ isdnbri)
+ major=45
+ minor=0
+ until [ $minor -gt 63 ]
+ do
+ makedev isdn$minor c $major $minor $dialout
+ makedev isdnctrl$minor c $major `math $minor + 64` $dialout
+ makedev ippp$minor c $major `math $minor + 128` $dialout
+ minor=`math $minor + 1`
+ done
+ makedev isdninfo c $major 255 $private
+ ;;
+ dcbri)
+ major=52
+ for i in 0 1 2 3
+ do
+ makedev dcbri$i c $major $i $dialout
+ done
+ ;;
+ capi)
+ major=68
+ makedev capi20 c $major 0 $dialout
+ for i in 0 1 2 3 4 5 6 7 8 9
+ do
+ makedev capi20.0$i c $major `math $i + 1` $dialout
+ done
+ for i in 10 11 12 13 14 15 16 17 18 19
+ do
+ makedev capi20.$i c $major `math $i + 1` $dialout
+ done
+ ;;
+ ubd)
+ major=98
+ for devicenum in 0 1 2 3 4 5 6 7
+ do
+ device=ubd`substr abcdefgh $(($devicenum + 1))`
+ baseminor=`math $devicenum \* 16`
+ makedev $device b $major $baseminor $disk
+ for partition in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ minor=`math $baseminor + $partition`
+ makedev $device$partition b $major $minor $disk
+ done
+ done
+ ;;
+ fb)
+ for i in 0 1 2 3 4 5 6 7
+ do
+ makedev fb$i c 29 $i $video
+ done
+ ;;
+ fb[0-7])
+ dev=`suffix $arg fb`
+ makedev fb$dev c 29 $dev $video
+ ;;
+ netlink|tap|tap[0-9]|tap1[0-5])
+ makedev route c 36 0 $coda
+ makedev skip c 36 1 $coda
+ makedev fwmonitor c 36 3 $coda
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev tap$i c 36 `math $i + 16` $coda
+ done
+ ;;
+ tun)
+ mkdir -p net
+ makedev net/tun c 10 200 $system
+ ;;
+ lp)
+ major=`Major lp 6` || continue
+ makedev ${arg}0 c $major 0 $printer
+ makedev ${arg}1 c $major 1 $printer
+ makedev ${arg}2 c $major 2 $printer
+ ;;
+ par)
+ major=`Major lp 6` || continue
+ makedev ${arg}0 c $major 0 $printer
+ makedev ${arg}1 c $major 1 $printer
+ makedev ${arg}2 c $major 2 $printer
+ ;;
+ parport)
+ major=`Major parport 99` || continue
+ makedev ${arg}0 c $major 0 $printer
+ makedev ${arg}1 c $major 1 $printer
+ makedev ${arg}2 c $major 2 $printer
+ ;;
+ slm)
+ major=`Major slm 28` || continue
+ for i in 0 1 2 3
+ do
+ makedev slm c $major $i $printer
+ done
+ ;;
+ input)
+ major=`Major pcsp 13` || continue
+ mkdir -p input
+ for i in 0 1 2 3
+ do
+ makedev input/js$i c $major $i $mouse
+ makedev input/mouse$i c $major `math $i + 32` $mouse
+ makedev input/event$i c $major `math $i + 64` $mouse
+ done
+ makedev input/mice c $major 63 $mouse
+ ;;
+ busmice)
+ major=`Major mouse 10` || continue
+ makedev logibm c $major 0 $mouse
+ makedev psaux c $major 1 $mouse
+ makedev inportbm c $major 2 $mouse
+ makedev atibm c $major 3 $mouse
+ makedev jbm c $major 4 $mouse
+ ;;
+ m68k-mice)
+ major=`Major mouse 10` || continue
+ makedev amigamouse c $major 4 $mouse
+ makedev atarimouse c $major 5 $mouse
+ makedev amigamouse1 c $major 7 $mouse
+ makedev adbmouse c $major 10 $mouse
+ ;;
+ 3dfx)
+ major=`Major $arg 107` || continue
+ makedev $arg c $major 0 $video
+ ;;
+ agpgart)
+ major=`Major $arg 10` || continue
+ makedev $arg c $major 175 $video
+ ;;
+ hwrng)
+ major=`Major $arg 10` || continue
+ makedev $arg c $major 183 $private
+ ;;
+ cpu|microcode)
+ mkdir -p cpu
+ makedev cpu/microcode c 10 184 $private
+ for i in 0 1 2 3
+ do
+ mkdir -p cpu/$i
+ makedev cpu/$i/msr c 202 $i $private
+ makedev cpu/$i/cpuid c 203 $i $private
+ done
+ ;;
+ ipmi|ipmikcs)
+ major=`Major ipmikcs 10` || continue
+ makedev ipmikcs c $major 173 $private
+ ;;
+ irda)
+ for i in 0 1
+ do
+ makedev ircomm$i c 161 $i $dialout
+ makedev irlpt$i c 161 `math $i + 16` $printer
+ done
+ ;;
+ irnet)
+ makedev irnet c 10 187 $system
+ ;;
+ misc)
+ major=`Major mouse 10` || continue
+ makedev logibm c $major 0 $mouse
+ makedev psaux c $major 1 $mouse
+ makedev inportbm c $major 2 $mouse
+ makedev atibm c $major 3 $mouse
+ makedev jbm c $major 4 $mouse
+ makedev amigamouse c $major 4 $mouse
+ makedev atarimouse c $major 5 $mouse
+ makedev sunmouse c $major 6 $mouse
+ makedev amigamouse1 c $major 7 $mouse
+ makedev smouse c $major 8 $mouse
+ makedev pc110pad c $major 9 $mouse
+ makedev adbmouse c $major 10 $mouse
+ makedev beep c $major 128 $mouse
+ makedev modreq c $major 129 $mouse
+ makedev watchdog c $major 130 $mouse
+ makedev temperature c $major 131 $mouse
+ makedev hwtrap c $major 132 $mouse
+ makedev exttrp c $major 133 $mouse
+ makedev apm_bios c $major 134 $mouse
+ makedev rtc c $major 135 $mouse
+ makedev openprom c $major 139 root root 0664
+ makedev relay8 c $major 140 $mouse
+ makedev relay16 c $major 141 $mouse
+ makedev msr c $major 142 $mouse
+ makedev pciconf c $major 143 $mouse
+ makedev nvram c $major 144 $mouse
+ makedev hfmodem c $major 145 $mouse
+ makedev led c $major 151 $mouse
+ makedev mergemem c $major 153 $mouse
+ makedev pmu c $major 154 $mouse
+ ;;
+ pmu)
+ major=`Major mouse 10` || continue
+ makedev pmu c $major 154 $mouse
+ ;;
+ thinkpad)
+ major=`Major mouse 10` || continue
+ mkdir -p thinkpad
+ makedev thinkpad/thinkpad c $major 170 $mouse
+ ;;
+ rtc)
+ major=`Major mouse 10` || continue
+ makedev rtc c $major 135 $mouse
+ ;;
+ efirtc)
+ major=`Major mouse 10` || continue
+ makedev efirtc c $major 136 $mouse
+ ;;
+ mwave)
+ makedev mwave c 10 219 $mouse
+ ;;
+ systrace)
+ makedev systrace c 10 226 $private
+ ;;
+ uinput)
+ makedev input/uinput c 10 223 $mouse
+ ;;
+ js)
+ major=`Major Joystick 13` || continue
+ for unit in 0 1 2 3
+ do
+ makedev js$unit c $major $unit $readable
+ makedev djs$unit c $major `math $unit + 128` $readable
+ done
+ ;;
+ fd[0-7])
+ major=`Major fd 2` || continue
+ base=`suffix $arg fd`
+ if [ $base -ge 4 ]
+ then
+ base=`math $base + 124`
+ fi
+ makedev ${arg} b $major $base $floppy
+ makedev ${arg}d360 b $major `math $base + 4` $floppy
+ makedev ${arg}h1200 b $major `math $base + 8` $floppy
+ makedev ${arg}u360 b $major `math $base + 12` $floppy
+ makedev ${arg}u720 b $major `math $base + 16` $floppy
+ makedev ${arg}h360 b $major `math $base + 20` $floppy
+ makedev ${arg}h720 b $major `math $base + 24` $floppy
+ makedev ${arg}u1440 b $major `math $base + 28` $floppy
+ makedev ${arg}u2880 b $major `math $base + 32` $floppy
+ makedev ${arg}CompaQ b $major `math $base + 36` $floppy
+
+ makedev ${arg}h1440 b $major `math $base + 40` $floppy
+ makedev ${arg}u1680 b $major `math $base + 44` $floppy
+ makedev ${arg}h410 b $major `math $base + 48` $floppy
+ makedev ${arg}u820 b $major `math $base + 52` $floppy
+ makedev ${arg}h1476 b $major `math $base + 56` $floppy
+ makedev ${arg}u1722 b $major `math $base + 60` $floppy
+ makedev ${arg}h420 b $major `math $base + 64` $floppy
+ makedev ${arg}u830 b $major `math $base + 68` $floppy
+ makedev ${arg}h1494 b $major `math $base + 72` $floppy
+ makedev ${arg}u1743 b $major `math $base + 76` $floppy
+ makedev ${arg}h880 b $major `math $base + 80` $floppy
+ makedev ${arg}u1040 b $major `math $base + 84` $floppy
+ makedev ${arg}u1120 b $major `math $base + 88` $floppy
+ makedev ${arg}h1600 b $major `math $base + 92` $floppy
+ makedev ${arg}u1760 b $major `math $base + 96` $floppy
+ makedev ${arg}u1920 b $major `math $base + 100` $floppy
+ makedev ${arg}u3200 b $major `math $base + 104` $floppy
+ makedev ${arg}u3520 b $major `math $base + 108` $floppy
+ makedev ${arg}u3840 b $major `math $base + 112` $floppy
+ makedev ${arg}u1840 b $major `math $base + 116` $floppy
+ makedev ${arg}u800 b $major `math $base + 120` $floppy
+ makedev ${arg}u1600 b $major `math $base + 124` $floppy
+ ;;
+ ed[a-b])
+ major=`Major ed 36` || continue
+ unit=`suffix $arg ed`
+ base=`index ab $unit`
+ base=`math $base \* 64`
+ makedev ed$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev ed$unit$part b $major `math $base + $part` $disk
+ done
+ ;;
+ hd[a-b])
+ major=`Major ide0` || major=`Major hd 3` || continue
+ unit=`suffix $arg hd`
+ base=`index ab $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major `math $base + $part` $disk
+ done
+ ;;
+ hd[c-d])
+ major=`Major ide1 22` || continue
+ unit=`suffix $arg hd`
+ base=`index cd $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ hd[e-f])
+ major=`Major ide2 33` || continue
+ unit=`suffix $arg hd`
+ base=`index ef $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ hd[g-h])
+ major=`Major ide3 34` || continue
+ unit=`suffix $arg hd`
+ base=`index gh $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ hd[i-j])
+ major=`Major ide4 56` || continue
+ unit=`suffix $arg hd`
+ base=`index ij $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ hd[k-l])
+ major=`Major ide5 57` || continue
+ unit=`suffix $arg hd`
+ base=`index kl $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ hd[m-n])
+ major=`Major ide6 88` || continue
+ unit=`suffix $arg hd`
+ base=`index mn $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ hd[o-p])
+ major=`Major ide7 89` || continue
+ unit=`suffix $arg hd`
+ base=`index op $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ hd[q-r])
+ major=`Major ide8 90` || continue
+ unit=`suffix $arg hd`
+ base=`index qr $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ hd[s-t])
+ major=`Major ide9 91` || continue
+ unit=`suffix $arg hd`
+ base=`index st $unit`
+ base=`math $base \* 64`
+ makedev hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev hd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ ub|uba)
+ major=180
+ makedev uba b $major 0 $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev uba$part b $major $part $disk
+ done
+ ;;
+ ht0)
+ major=`Major ht0 37` || continue
+ # Only one IDE tape drive is currently supported; ht0.
+ makedev ht0 c $major 0 $tape
+ makedev nht0 c $major 128 $tape
+ ;;
+ pt)
+ major=`Major pt 96` || continue
+ for i in 0 1 2 3
+ do
+ makedev pt$i c $major $i $tape
+ makedev npt$i c $major `math $i + 128` $tape
+ done
+ ;;
+ xd[a-d])
+ major=`Major xd 13` || continue
+ unit=`suffix $arg xd`
+ base=`index abcd $unit`
+ base=`math $base \* 64`
+ makedev xd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
+ do
+ makedev xd$unit$part b $major $(( $base + $part )) $disk
+ done
+ ;;
+ sd[a-z])
+ major=`Major sd 8` || continue
+ unit=`suffix $arg sd`
+ base=`index abcdefghijklmnopqrstuvwxyz $unit`
+ base=$(( $base * 16 ))
+ if [ $base -lt 256 ]; then
+ major=8
+ else
+ major=65
+ base=$(( $base - 256 ))
+ fi
+ makedev sd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ minor=$(( $base + $part ))
+ makedev sd$unit$part b $major $minor $disk
+ done
+ ;;
+ sd[a-d][a-z])
+ unit=`suffix $arg sd`
+ unitmaj=`first $unit`
+ unitmin=`second $unit`
+ basemaj=`index Xabcd $unitmaj`
+ basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
+ basemaj=`math $basemaj \* 416`
+ basemin=`math $basemin \* 16`
+ base=`math $basemaj + $basemin`
+ basemaj=`math $base / 256`
+ base=`math $base % 256`
+ major=`math basemaj \+ 64`
+ if [ $major -gt 71 ]; then
+ echo "$0: don't know how to make device \"$arg\"" >&2
+ exit 0
+ fi
+ makedev sd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ minor=$(( $base + $part ))
+ makedev sd$unit$part b $major $minor $disk
+ done
+ ;;
+ i2o.hd[a-z])
+ [ -d i2o ] || {
+ mkdir i2o
+ chown root:root i2o
+ chmod 755 i2o
+ [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
+ }
+ unit=`suffix $arg i2o.hd`
+ base=`index abcdefghijklmnopqrstuvwxyz $unit`
+ base=$(( $base * 16 ))
+ if [ $base -lt 256 ]; then
+ major=80
+ else
+ major=81
+ base=$(( $base - 256 ))
+ fi
+ makedev i2o/hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ minor=$(( $base + $part ))
+ makedev i2o/hd$unit$part b $major $minor $disk
+ done
+ ;;
+ i2o.hd[a-d][a-z])
+ [ -d i2o ] || {
+ mkdir i2o
+ chown root:root i2o
+ chmod 755 i2o
+ [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
+ }
+ unit=`suffix $arg i2o.hd`
+ unitmaj=`first $unit`
+ unitmin=`second $unit`
+ basemaj=`index Xabcd $unitmaj`
+ basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
+ basemaj=`math $basemaj \* 416`
+ basemin=`math $basemin \* 16`
+ base=`math $basemaj + $basemin`
+ basemaj=`math $base / 256`
+ base=`math $base % 256`
+ major=`math basemaj \+ 80`
+ if [ $major -gt 87 ]; then
+ echo "$0: don't know how to make device \"$arg\"" >&2
+ exit 0
+ fi
+ makedev i2o/hd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ minor=$(( $base + $part ))
+ makedev i2o/hd$unit$part b $major $minor $disk
+ done
+ ;;
+ dasd[a-z])
+ major=`Major dasd 94` || continue
+ unit=`suffix $arg dasd`
+ base=`index abcdefghijklmnopqrstuvwxyz $unit`
+ base=$(( $base * 4 ))
+ if [ $base -lt 256 ]; then
+ major=94
+ else
+ major=65
+ base=$(( $base - 256 ))
+ fi
+ makedev dasd$unit b $major $base $disk
+ for part in 1 2 3
+ do
+ minor=$(( $base + $part ))
+ makedev dasd$unit$part b $major $minor $disk
+ done
+ ;;
+ ad[a-p])
+ major=`Major ad 28` || continue
+ unit=`suffix $arg ad`
+ base=`index abcdefghijklmnop $unit`
+ base=`math $base \* 16`
+ makedev ad$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ minor=$(( $base + $part ))
+ makedev ad$unit$part b $major $minor $disk
+ done
+ ;;
+ dac960)
+ for ctr in 0 1 2 3 4 5 6 7
+ do
+ $0 $opts dac960.$ctr
+ done
+ makedev dac960_gam c 10 252 $disk
+ ;;
+ dac960.[0-7])
+ [ -d rd ] || {
+ mkdir rd
+ chown root:root rd
+ chmod 755 rd
+ }
+ unit=`suffix $arg dac960.`
+ major=`math 48 + $unit`
+ minor=0
+ for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
+ 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
+ do
+ makedev rd/c${unit}d${ld} b $major $minor $disk
+ minor=`math $minor + 1`
+ for part in 1 2 3 4 5 6 7
+ do
+ makedev rd/c${unit}d${ld}p$part b $major $minor $disk
+ minor=`math $minor + 1`
+ done
+ done
+ ;;
+ dpti)
+ major=151
+ for ld in 1 2 3 4 5 6 7
+ do
+ minor=`math $ld -1`
+ makedev dpti${ld} c $major $minor $disk
+ done
+ ;;
+ ataraid)
+ for ctr in 0 1 2 # 3 4 5 6 7
+ do
+ $0 $opts ataraid.$ctr
+ done
+ ;;
+ ataraid.[0-7])
+ [ -d ataraid ] || {
+ mkdir ataraid
+ chown root:root ataraid
+ chmod 755 ataraid
+ }
+ unit=`suffix $arg ataraid.`
+ major=114
+ minor=`math $unit \* 16`
+ makedev ataraid/d${unit} b $major $minor $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ minor=`math $minor + 1`
+ makedev ataraid/d${unit}p$part b $major $minor $disk
+ done
+ ;;
+ ida)
+ for ctr in 0 1 2 # 3 4 5 6 7
+ do
+ $0 $opts ida.$ctr
+ done
+ ;;
+ ida.[0-7])
+ [ -d ida ] || {
+ mkdir ida
+ chown root:root ida
+ chmod 755 ida
+ }
+ unit=`suffix $arg ida.`
+ major=`math 72 + $unit`
+ minor=0
+ for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev ida/c${unit}d${ld} b $major $minor $disk
+ minor=`math $minor + 1`
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev ida/c${unit}d${ld}p$part b $major $minor $disk
+ minor=`math $minor + 1`
+ done
+ done
+ ;;
+ cciss)
+ for ctr in 0 1 2 # 3 4 5 6 7
+ do
+ $0 $opts cciss.$ctr
+ done
+ ;;
+ cciss.[0-7])
+ [ -d cciss ] || {
+ mkdir cciss
+ chown root:root cciss
+ chmod 755 cciss
+ }
+ unit=`suffix $arg cciss.`
+ major=`math 104 + $unit`
+ minor=0
+ for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev cciss/c${unit}d${ld} b $major $minor $disk
+ minor=`math $minor + 1`
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev cciss/c${unit}d${ld}p$part b $major $minor $disk
+ minor=`math $minor + 1`
+ done
+ done
+ ;;
+ rom)
+ major=`Major rom 31`
+ for i in 0 1 2 3 4 5 6 7
+ do
+ makedev rom$i b $major $i $disk
+ makedev rrom$i b $major `math $i +8` $disk
+ makedev flash$i b $major `math $i +16` $disk
+ makedev rflash$i b $major `math $i +24` $disk
+ done
+ ;;
+ nb[0-7])
+ major=`Major nbd 43` || continue
+ minor=`suffix $arg nb`
+ makedev nb$minor b $major $minor $disk
+ ;;
+ loop)
+ for part in 0 1 2 3 4 5 6 7
+ do
+ makedev loop$part b 7 $part $disk
+ done
+ ;;
+ loop[0-9]|loop[1-9][0-9]|loop1[0-9][0-9]|loop2[0-4][0-9]|loop25[0-5])
+ minor=`suffix $arg loop`
+ makedev loop$minor b 7 $minor $disk
+ ;;
+ md)
+ major=`Major md 9` || continue
+ for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev md$part b $major $part $disk
+ done
+ ;;
+ st[0-7])
+ major=`Major st 9`
+ unit=`suffix $arg st`
+ makedev st${unit} c $major $unit $tape
+ makedev nst${unit} c $major `math 128 + $unit` $tape
+
+ makedev st${unit}l c $major `math 32 + $unit` $tape
+ makedev nst${unit}l c $major `math 160 + $unit` $tape
+
+ makedev st${unit}m c $major `math 64 + $unit` $tape
+ makedev nst${unit}m c $major `math 192 + $unit` $tape
+
+ makedev st${unit}a c $major `math 96 + $unit` $tape
+ makedev nst${unit}a c $major `math 224 + $unit` $tape
+ ;;
+ qic)
+ major=`Major tpqic02 12`
+ makedev ntpqic11 c $major 2 $tape
+ makedev tpqic11 c $major 3 $tape
+ makedev ntpqic24 c $major 4 $tape
+ makedev tpqic24 c $major 5 $tape
+ makedev ntpqic120 c $major 6 $tape
+ makedev tpqic120 c $major 7 $tape
+ makedev ntpqic150 c $major 8 $tape
+ makedev tpqic150 c $major 9 $tape
+ makedev rmt8 c $major 6 $tape
+ makedev rmt16 c $major 8 $tape
+ makedev tape-d c $major 136 $tape
+ makedev tape-reset c $major 255 $tape
+ $0 $opts qft
+ ;;
+ ftape)
+ major=`Major qft 27` || continue
+ for unit in 0 1 2 3
+ do
+ makedev qft$unit c $major $unit $tape
+ makedev nqft$unit c $major `math $unit + 4` $tape
+ makedev zqft$unit c $major `math $unit + 16` $tape
+ makedev nzqft$unit c $major `math $unit + 20` $tape
+ makedev rawqft$unit c $major `math $unit + 32` $tape
+ makedev nrawqft$unit c $major `math $unit + 36` $tape
+ done
+ symlink ftape qft0
+ symlink nftape nqft0
+ ;;
+ sr|scd|scd-all)
+ major=`Major sr 11` || continue
+ for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ do
+ makedev scd$unit b $major $unit $cdrom
+ symlink sr$unit scd$unit
+ done
+ ;;
+ pktcdvd)
+ major=97
+ for unit in 0 1 2 3
+ do
+ makedev pktcdvd$unit b $major $unit $cdrom
+ done
+ ;;
+ cfs0)
+ makedev cfs0 c 67 0 $coda
+ ;;
+ scd[0-9]|scd[0-1][0-9])
+ major=`Major sr 11` || continue
+ unit=`suffix $arg scd`
+ makedev scd$unit b $major $unit $cdrom
+ symlink sr$unit scd$unit
+ ;;
+ ttyI[0-9]|ttyI[1-5][0-9]|ttyI[6][0-3])
+ major=43
+ unit=`suffix $arg ttyI`
+ makedev ttyI$unit c $major $unit $dialout
+ ;;
+ ppp)
+ major=108
+ makedev ppp c $major 0 $dip
+ ;;
+ ippp[0-9]|ippp[1-5][0-9]|ippp[6][0-3])
+ major=45
+ unit=`suffix $arg ippp`
+ minor=`math $unit + 128`
+ makedev ippp$unit c $major $minor $dialout
+ ;;
+ isdn[0-9]|isdn[1-5][0-9]|isdn[6][0-3])
+ major=45
+ unit=`suffix $arg isdn`
+ minor=`math $unit + 0`
+ makedev isdn$unit c $major $minor $dialout
+ ;;
+ isdnctrl[0-9]|isdnctrl[1-5][0-9]|isdnctrl[6][0-3])
+ major=45
+ unit=`suffix $arg isdnctrl`
+ minor=`math $unit + 64`
+ makedev isdnctrl$unit c $major $minor $dialout
+ ;;
+ isdninfo)
+ makedev isdninfo c 45 255 $private
+ ;;
+ isdn-tty)
+ major=43
+ for unit in 0 1 2 3 4 5 6 7
+ do
+ makedev ttyI$unit c $major $unit $dialout
+ done
+ ;;
+ isdn-ippp)
+ major=45
+ for unit in 0 1 2 3 4 5 6 7
+ do
+ makedev ippp$unit c $major `math $unit + 128` $dialout
+ done
+ ;;
+ isdn-io)
+ for unit in 0 1 2 3 4 5 6 7
+ do
+ makedev isdn$unit c 45 $unit $dialout
+ makedev isdnctrl$unit c 45 `math $unit + 64` $dialout
+ makedev ippp$unit c 45 `math $unit + 128` $dialout
+ done
+ makedev isdninfo c 45 255 $dialout
+ ;;
+ sonycd)
+ major=`Major sonycd 15` || continue
+ makedev $arg b $major 0 $cdrom
+ ;;
+ mcd)
+ major=`Major mcd 23` || continue
+ makedev $arg b $major 0 $cdrom
+ ;;
+ mcdx|mcdx[0-4])
+ major=`Major $arg 20` || continue
+ for unit in 0 1 2 3 4
+ do
+ makedev mcdx$unit b $major $unit $cdrom
+ done
+ test -r mcdx || symlink mcdx mcdx0
+ ;;
+ cdu535)
+ makedev $arg b 24 0 $cdrom
+ ;;
+ lmscd)
+ makedev $arg b 24 0 $cdrom
+ ;;
+ sbpcd|sbpcd[123])
+ major=`Major $arg 25` || continue
+ base=`suffix ${arg}0 sbpcd`
+ for minor in 0 1 2 3
+ do
+ # XXX
+ unit=$(substr 0123456789abcdef $(( $base * 4 + $minor + 1 )) )
+ makedev sbpcd$unit b $major $minor $cdrom
+ done
+ [ $arg = sbpcd ] && symlink $arg ${arg}0
+ ;;
+ aztcd)
+ major=`Major $arg 29` || continue
+ makedev ${arg}0 b $major 0 $cdrom
+ ;;
+ cm206cd)
+ major=`Major $arg 30` || continue
+ makedev ${arg}0 b $major 0 $cdrom
+ ;;
+ gscd)
+ major=`Major $arg 16` || continue
+ makedev ${arg}0 b $major 0 $cdrom
+ ;;
+ pcd)
+ for unit in 0 1 2 3
+ do
+ makedev pcd$unit b 46 $unit $cdrom
+ done
+ ;;
+ bpcd)
+ makedev $arg b 41 0 $cdrom
+ ;;
+ optcd)
+ makedev $arg b 17 0 $cdrom
+ ;;
+ sjcd)
+ makedev $arg b 18 0 $cdrom
+ ;;
+ cfs|coda)
+ makedev cfs0 c 67 0 $private
+ ;;
+ xfs|nnpfs|arla)
+ makedev xfs0 c 103 0 $private
+ makedev nnpfs0 c 103 0 $private
+ ;;
+ logiscan)
+ major=`Major logiscan` || continue
+ makedev $arg c $major 0 $scanner
+ ;;
+ toshiba)
+ major=`Major $arg 10` || continue
+ makedev $arg c $major 181 root root 0666
+ ;;
+ m105scan)
+ major=`Major m105` || continue
+ makedev $arg c $major 0 $scanner
+ ;;
+ ac4096)
+ major=`Major ac4096` || continue
+ makedev $arg c $major 0 $scanner
+ ;;
+ audio)
+ major=`Major sound 14`
+ makedev mixer c $major 0 $audio
+ makedev mixer1 c $major 16 $audio
+ makedev mixer2 c $major 32 $audio
+ makedev mixer3 c $major 48 $audio
+ makedev sequencer c $major 1 $audio
+ makedev midi00 c $major 2 $audio
+ makedev midi01 c $major 18 $audio
+ makedev midi02 c $major 34 $audio
+ makedev midi03 c $major 50 $audio
+ makedev dsp c $major 3 $audio
+ makedev dsp1 c $major 19 $audio
+ makedev dsp2 c $major 35 $audio
+ makedev dsp3 c $major 51 $audio
+ makedev audio c $major 4 $audio
+ makedev audio1 c $major 20 $audio
+ makedev audio2 c $major 36 $audio
+ makedev audio3 c $major 52 $audio
+ makedev sndstat c $major 6 $audio
+ makedev audioctl c $major 7 $audio
+ major=31
+ makedev mpu401data c $major 0 $audio
+ makedev mpu401stat c $major 1 $audio
+ major=35
+ for i in 0 1 2 3
+ do
+ makedev midi$i c $major $i $audio
+ makedev rmidi$i c $major `math $i + 64` $audio
+ makedev smpte$i c $major `math $i + 128` $audio
+ done
+ ;;
+ pcaudio)
+ major=`Major pcsp 13` || continue
+ makedev pcmixer c $major 0 $audio
+ makedev pcsp c $major 3 $audio
+ makedev pcaudio c $major 4 $audio
+ ;;
+ video|video4linux|v4l|radio)
+ # video4linux api includes radio, teletext, etc.
+ major=`Major video 81` || continue
+ minor=0
+ until [ $minor -gt 63 ]
+ do
+ makedev video$minor c $major $minor $video
+ makedev radio$minor c $major `math $minor + 64` $video
+ minor=`math $minor + 1`
+ done
+ symlink radio radio0
+ minor=0
+ until [ $minor -gt 31 ]
+ do
+ makedev vtx$minor c $major `math $minor + 192` $video
+ makedev vbi$minor c $major `math $minor + 224` $video
+ minor=`math $minor + 1`
+ done
+ symlink video video0
+ symlink vbi vbi0
+ major=82
+ minor=0
+ until [ $minor -gt 1 ]
+ do
+ makedev winradio$minor c $major $minor $video
+ minor=`math $minor + 1`
+ done
+ major=83
+ makedev vtx c $major 0 $video
+ makedev vttuner c $major 16 $video
+ ;;
+ i2c)
+ # making it possible to create an arbitrary number of i2c
+ # devices might be good, but 8 should suffice for now
+ major=`Major i2c 89` || continue
+ minor=0
+ until [ $minor -gt 7 ]
+ do
+ makedev i2c-$minor c $major $minor $private
+ minor=`math $minor + 1`
+ done
+ ;;
+ tlk)
+ major=102
+ minor=0
+ until [ $minor -gt 3 ] # tell me if 3 is wrong...
+ do
+ makedev tlk$minor c $major $minor $video
+ minor=`math $minor + 1`
+ done
+ ;;
+ srnd)
+ makedev srnd0 c 110 0 $video
+ makedev srnd1 c 110 1 $video
+ ;;
+ fgrab)
+ makedev mmetfgrab c 40 0 $video
+ makedev wvisfgrab c 26 0 $video
+ for i in 0 1 # more?
+ do
+ makedev iscc$i c 93 $i $video
+ makedev isccctl$i c 93 `math $i + 128` $video
+ done
+ for i in 0 1 # more?
+ do
+ makedev dcxx$i c 94 $i $video
+ done
+ ;;
+ sg|sg-all)
+ major=`Major sg 21`
+ for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ do
+ makedev sg$unit c $major $unit $scsi
+ done
+ ;;
+ pg)
+ major=`Major pg 97`
+ for unit in 0 1 2 3
+ do
+ makedev pg$unit c $major $unit $scsi
+ done
+ ;;
+ fd)
+ # not really devices, we use the /proc filesystem
+ symlink fd $procfs/self/fd
+ symlink stdin fd/0
+ symlink stdout fd/1
+ symlink stderr fd/2
+ ;;
+ ibcs2)
+ major=`Major ibcs2 30` || continue
+ makedev socksys c $major 0 $ibcs2
+ symlink nfsd socksys
+ makedev spx c $major 1 $ibcs2
+ symlink X0R null
+ ;;
+ netlink)
+ major=36
+ makedev route c $major 0 $private
+ makedev skip c $major 1 $private
+ ;;
+ enskip)
+ major=64
+ makedev enskip c $major 0 $private
+ ;;
+ ipfilt*)
+ major=95
+ makedev ipl c $major 0 $private
+ makedev ipnat c $major 1 $private
+ makedev ipstate c $major 2 $private
+ makedev ipauth c $major 3 $private
+ ;;
+ qng)
+ makedev qng c 77 0 $private
+ ;;
+ apm)
+ major=`Major mouse 10` || continue
+ makedev apm_bios c $major 134 $mouse
+ ;;
+ dcf)
+ major=`Major dcf` || continue
+ makedev $arg c $major 0 $system
+ ;;
+ helloworld)
+ major=`Major hw` || continue
+ makedev helloworld c $major 0 $public
+ ;;
+ ipsec)
+ # For the Free S/WAN (http://www.xs4all.nl/~freeswan/)
+ # implementation of IPSEC
+ makedev ipsec c 36 10 $ipsec
+ ;;
+ comedi)
+ major=98
+ for minor in 0 1 2 3
+ do
+ makedev comedi$minor c $major $minor $public
+ done
+ ;;
+ tilp)
+ for i in `seq 0 7`
+ do
+ makedev tipar$i c 115 $i $printer
+ makedev tiser$i c 115 `math 8 + $i` $dialout
+ done
+ for i in `seq 0 31`
+ do
+ makedev tiusb$i c 115 `math 16 + $i` $dialout
+ done
+ ;;
+ dvb)
+ # check if kernel-version is >= 2.6.8, if yes, create dvb-devices with
+ # major-number 212, in the other case 250
+
+ kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
+ kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
+ kern_rev3=`uname -r | sed -e 's@^[^.]*\.[^.]*\.\([^.][0-9]*\).*@\1@'`
+
+ dvb_major=250
+
+ if [ $kern_rev1 -gt 2 ] || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -gt 6 ]) \
+ || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -eq 6 ] && [ $kern_rev3 -ge 8 ])
+ then
+ dvb_major=212
+ fi
+
+ mkdir -p dvb
+ for i in 0 1 2 3
+ do
+ mkdir -p dvb/adapter$i
+ makedev dvb/adapter$i/video0 c $dvb_major `math 64 \* $i + 0` $video
+ makedev dvb/adapter$i/audio0 c $dvb_major `math 64 \* $i + 1` $video
+ makedev dvb/adapter$i/frontend0 c $dvb_major `math 64 \* $i + 3` $video
+ makedev dvb/adapter$i/demux0 c $dvb_major `math 64 \* $i + 4` $video
+ makedev dvb/adapter$i/dvr0 c $dvb_major `math 64 \* $i + 5` $video
+ makedev dvb/adapter$i/ca0 c $dvb_major `math 64 \* $i + 6` $video
+ makedev dvb/adapter$i/net0 c $dvb_major `math 64 \* $i + 7` $video
+ makedev dvb/adapter$i/osd0 c $dvb_major `math 64 \* $i + 8` $video
+ done
+ ;;
+ usb)
+ mkdir -p usb
+ major=180
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev usb/lp$i c $major $i $printer
+ makedev usb/mouse$i c $major `math $i + 16` $mouse
+ makedev usb/ez$i c $major `math $i + 32` $system
+ makedev usb/scanner$i c $major `math $i + 48` $scanner
+ makedev usb/hiddev$i c $major `math $i + 96` $system
+ makedev ttyACM$i c 166 $i $dialout
+ makedev ttyUSB$i c 188 $i $dialout
+ done
+ makedev usb/rio500 c $major 64 $audio
+ makedev usb/usblcd c $major 65 $audio
+ makedev usb/cpad0 c $major 66 $audio
+ ;;
+ bluetooth)
+ major=216
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
+ 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
+ do
+ makedev rfcomm$i c $major $i $dialout
+ done
+ makedev vhci c 10 250 $dialout
+ for i in 0 1 2 3; do
+ makedev ttyUB$i c 216 $i $dialout
+ makedev ccub$i c 217 $i $dialout
+ done
+ ;;
+ paride)
+ major=45
+ for unit in a b c d
+ do
+ base=`index abcd $unit`
+ base=`math $base \* 16`
+ makedev pd$unit b $major $base $disk
+ for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ do
+ makedev pd$unit$part b $major $(( $base + $part )) $disk
+ done
+ done
+ for i in 0 1 2 3
+ do
+ makedev pcd$i b 46 $i $cdrom
+ makedev pf$i b 47 $i $floppy
+ done
+ ;;
+ update)
+ devices=
+ if [ ! -f $procfs/devices ]
+ then
+ echo "$0: warning: can't read $procfs/devices" >&2
+ else
+ exec 3<$procfs/devices
+ while read major device extra <&3
+ do
+ device=`echo $device | sed 's#/.*##'`
+ case "$major" in
+ Character|Block|'')
+ ;;
+ *)
+ eval "major_$device=$major"
+ devices="$devices $device"
+ ;;
+ esac
+ done
+ exec 3<&-
+ fi
+
+ if [ ! "$devices" ]
+ then
+ echo "$0: don't appear to have any devices" >&2
+ continue
+ fi
+ if [ "$opt_d" ]
+ then
+ echo "$0: can't delete an update" >&2
+ continue
+ fi
+ create=
+ delete=
+ devs="$devices"
+ if [ -f DEVICES ]
+ then
+ exec 3<DEVICES
+ while read device major <&3
+ do
+ eval now=\$major_$device
+ if [ "$now" = "" ]
+ then
+ delete="$delete `cvt $device`"
+ continue
+ elif [ "$now" != $major ]
+ then
+ create="$create "`cvt $device`
+ fi
+ devs=`strip " $devs " $device`
+ done
+ exec 3<&-
+ fi
+ create="$create "`cvt $devs`
+ [ "$delete" != "" ] && $0 $opts -d $delete
+ [ "$create" != " " ] && $0 $opts $create
+ [ "$opt_n" ] && continue
+ for device in $devices
+ do
+ if [ "`cvt $device`" ]
+ then
+ eval echo $device \$major_$device
+ fi
+ done > DEVICES
+ ;;
+ *)
+ echo "$0: don't know how to make device \"$arg\"" >&2
+ exit 1
+ ;;
+ esac
+done
+
+exit 0