+st*)
+ umask 2 ; unit=`expr $i : '..\(.*\)'`
+ chr=14;
+
+ #remove old stype names
+ rm -f [hml]rst[0123456] [hml][en]rst[0123456] [hml]enrst[0123456]
+ #remove new style names
+ rm -f rst${unit} [en]rst${unit} enrst${unit}
+ rm -f rst${unit}.[0123] nrst${unit}.[0123]\
+ erst${unit}.[0123] st${unit}ctl.[0123]
+
+ case $unit in
+ 0|1|2|3|4|5|6)
+ for mode in 0 1 2 3
+ do
+ mknod rst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 0`
+ mknod nrst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 1`
+ mknod erst${unit}.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 2`
+ mknod st${unit}ctl.${mode} c $chr `expr $unit '*' 16 + $mode '*' 4 + 3`
+ chgrp operator rst${unit}.${mode}\
+ nrst${unit}.${mode} \
+ erst${unit}.${mode} \
+ st${unit}ctl.${mode}
+ chmod 644 rst${unit}.${mode}\
+ nrst${unit}.${mode} \
+ erst${unit}.${mode}
+ chmod 660 st${unit}ctl.${mode}
+ done
+ ln rst${unit}.0 rst${unit}
+ ln nrst${unit}.0 nrst${unit}
+ ln erst${unit}.0 erst${unit}
+ ;;
+ *)
+ echo bad unit for tape in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+ch*)
+ umask 2 ; unit=`expr $i : '..\(.*\)'`
+ case $i in
+ ch*) name=ch; chr=17;;
+ esac
+ rm -f $name$unit
+ case $unit in
+ 0|1|2|3|4|5|6)
+ mknod ${name}${unit} c $chr `expr $unit '*' 16 + 0`
+ chgrp operator ${name}${unit}
+ chmod 640 ${name}${unit}
+ ;;
+ *)
+ echo bad unit for media changer in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+cd*|mcd*)
+ umask 2 ;
+ case $i in
+ cd*) unit=`expr $i : '..\(.*\)'`; name=cd; blk=6; chr=15;;
+ mcd*) unit=`expr $i : '...\(.*\)'`; name=mcd; blk=7; chr=29;;
+ esac
+ rm -f $name$unit? r$name$unit?
+ case $unit in
+ 0|1|2|3|4|5|6)
+ mknod ${name}${unit}a b $blk `expr $unit '*' 8 + 0`
+ mknod ${name}${unit}d b $blk `expr $unit '*' 8 + 3`
+ mknod r${name}${unit}a c $chr `expr $unit '*' 8 + 0`
+ mknod r${name}${unit}d c $chr `expr $unit '*' 8 + 3`
+ chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
+ chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h]
+ ;;
+ *)
+ echo bad unit for disk in: $i
+ ;;
+ esac
+ umask 77
+ ;;
+
+lpt*)
+ unit=`expr $i : 'lpt\(.*\)'`
+ rm -f lpt$unit
+ mknod lpt$unit c 16 $unit
+ chown root.wheel lpt$unit
+ ;;
+
+tw*)
+ unit=`expr $i : 'tw\(.*\)'`
+ rm -f tw$unit
+ mknod tw$unit c 19 $unit
+ chown root.wheel tw$unit
+ ;;
+
+# hv 22-apr-93 use this to create the necessary video device for
+# pccons driver
+pc*)
+ chr=12
+ minor=0
+ name=ttyv0
+ rm -f ${name} vga kbd kbdco vgaco ttyv[0-9][0-9]
+ mknod ${name} c ${chr} ${minor}
+ chown root.wheel $name
+ ln -s ${name} vga
+ ;;
+
+# Use this to create virtual consoles for syscons, pcvt or codrv
+# /dev/ttyv0-b
+# use as MAKEDEV vtyNN to create NN entries
+vty*)
+ chr=12
+ units=`expr $i : 'vty\(.*\)'`
+ umask 0
+ eval `echo ${chr} ${units} | awk ' { c=$1; n=$2 } END {
+ for (i = 0; i < n; i++)
+ printf("rm -f ttyv%01x; mknod ttyv%01x c %d %d;", \
+ i, i, c, i); }'`
+ umask 77
+ ;;
+
+bpf*)
+ unit=`expr $i : 'bpf\(.*\)'`
+ rm -f bpf$unit
+ mknod bpf$unit c 23 $unit
+ chown root.wheel bpf$unit
+ ;;
+
+dcf*)
+ unit=`expr $i : 'dcf\(.*\)'`
+ rm -f dcf$unit
+ mknod dcf$unit c 24 $unit
+ chown root.wheel dcf$unit
+ ;;
+
+lpa*)
+ unit=`expr $i : 'lpa\(.*\)'`
+ chr=25
+ rm -f lpa$unit lpa${unit}p
+ mknod lpa${unit} c $chr `expr $unit + 0`
+ mknod lpa${unit}p c $chr `expr $unit + 32`
+ chown root.wheel lpa${unit} lpa${unit}p
+ ;;
+
+speaker)
+ rm -f speaker
+ mknod speaker c 26 0
+ chown root.wheel speaker
+ ;;
+
+cua*|ttyd*)
+ unit=`expr $i : '...d*\(.\)'`
+ rm -f tty0$unit cua0$unit ttyd$unit
+ mknod ttyd$unit c 28 $unit
+ mknod cua0$unit c 28 `expr $unit + 128`
+ chown uucp.wheel ttyd$unit cua0$unit
+ ;;
+
+tty*)
+ unit=`expr $i : 'tty\(.\)'`
+ rm -f tty0$unit cua0$unit ttyd$unit
+ umask 0
+ mknod tty0$unit c 28 $unit
+ umask 77
+ ;;
+
+mse*)
+ unit=`expr $i : 'mse\(.*\)'`
+ chr=27
+ rm -f mse$unit
+ mknod mse$unit c $chr `expr $unit '*' 2 + 1` # non-blocking for X11
+ chown root.wheel mse$unit
+ ;;
+
+psm*)
+ unit=`expr $i : 'psm\(.*\)'`
+ chr=21
+ rm -f psm$unit
+ mknod psm$unit c $chr `expr $unit '*' 2 + 1` # non-blocking for X11
+ chown root.wheel psm$unit
+ ;;
+
+mouse*)
+ name=`expr $i : 'mouse-\(.*\)'`
+ if [ ! -c $name ]; then
+ $0 $name # make the appropriate device
+ fi
+ rm -f mouse
+ ln -s $name mouse
+ ;;
+
+
+snd*)
+ chr=30
+ rm -f /dev/mixer # Mixer [ Control ]
+ mknod /dev/mixer c $chr 0
+ chmod 666 /dev/mixer
+
+ rm -f /dev/sequencer # Sequencer [ FM Synth and MIDI output ]
+ mknod /dev/sequencer c $chr 1
+ chmod 666 /dev/sequencer
+
+ rm -f /dev/midi # Midi input [ Not implemented ]
+ mknod /dev/midi c $chr 2
+
+ rm -f /dev/dsp # DSP [ Digitized voice ]
+ mknod /dev/dsp c $chr 3
+ chmod 666 /dev/dsp
+
+ rm -f /dev/audio # SPARC audio [ Not fully implemented ]
+ mknod /dev/audio c $chr 4
+ chmod 666 /dev/audio
+
+ rm -f /dev/dsp16 # DSP16 [ Same as /dev/dsp, except 16 bits ]
+ mknod /dev/dsp16 c $chr 5
+ chmod 666 /dev/dsp16
+
+ rm -f /dev/sndstat # Status Device [ Debugging interface ]
+ mknod /dev/sndstat c $chr 6
+ chmod 666 /dev/sndstat
+
+ rm -f /dev/pro_midi # PRO_MIDI [PAS midi input and output]
+ mknod /dev/pro_midi c $chr 15
+ chmod 666 /dev/pro_midi
+
+ rm -f /dev/dsp1 # DSP 1 [ SB emulation of PAS16 or 2nd audio ]
+ mknod /dev/dsp1 c $chr 19
+ chmod 666 /dev/dsp1
+
+ rm -f /dev/audio1 # Sparc Audio 1 [ SB emulation of PAS16 or 2nd audio ]
+ mknod /dev/audio1 c $chr 20
+ chmod 666 /dev/audio1
+ ;;
+