This commit was manufactured by cvs2svn to create tag 'FreeBSD-release/1.1'.
[unix-history] / etc / etc.i386 / MAKEDEV
index 00fc162..7793197 100644 (file)
 #      @(#)MAKEDEV     5.2 (Berkeley) 6/22/90
 #
 # Device "make" file.  Valid arguments:
 #      @(#)MAKEDEV     5.2 (Berkeley) 6/22/90
 #
 # Device "make" file.  Valid arguments:
+#      all     makes all known devices, standard number of units (or close)
 #      std     standard devices
 #      local   configuration specific devices
 #
 # Tapes:
 #      wt*     QIC-interfaced (e.g. not SCSI) 3M cartridge tape
 #      std     standard devices
 #      local   configuration specific devices
 #
 # Tapes:
 #      wt*     QIC-interfaced (e.g. not SCSI) 3M cartridge tape
+#      st*     "NEW type scsi tapes" (old driver uses the
+#              block devices of the disks to get access)
+#      ft*     QIC-40/QIC-80 3M cartridge tape (interfaced
+#              via the floppy disk controller)
 #
 # Disks:
 #      wd*     "winchester" disk drives (ST506,IDE,ESDI,RLL,...)
 #      fd*     "floppy" disk drives (3 1/2", 5 1/4")
 #
 # Disks:
 #      wd*     "winchester" disk drives (ST506,IDE,ESDI,RLL,...)
 #      fd*     "floppy" disk drives (3 1/2", 5 1/4")
-#      as*     "SCSI" disk/tape/CDROM drives
+#      sd*     "scsi disks"
+#      cd*     "scsi cdrom disks"
+#      mcd*    "mitsumi cdrom disks"
+#
+# Console ports:
+#      pc*     devices for stock pccons
+#      vty*    virtual console devices for syscons/pcvt/codrv
+# 
+# Pointing devices:
+#      mse*    Logitech and ATI Inport bus mouse
+#      psm*    PS/2 mouse
 #
 # Terminal ports:
 #
 # Terminal ports:
-#      com*    standard PC COM ports
+#       ttyd*   dialin ports
+#       cua*    dialout ports
+#       tty*    hardwired terminals
+#      com*    standard PC COM ports (really makes tty* entries for com)
+#              Note that the `com' driver is not configured in the 
+#              supplied kernels and is usually not what you want.  In
+#              a future release it may be completely desupported.  Fair
+#              warning.
 #
 # Pseudo terminals:
 #      pty*    set of 16 master and slave pseudo terminals
 #
 # Pseudo terminals:
 #      pty*    set of 16 master and slave pseudo terminals
+#      vty*    virtual terminals using syscons/pcvt/codrv console
 #
 # Printers:
 #
 # Printers:
+#      lpt*    stock lp
+#      lpa*    interruptless lp
 #
 # Call units:
 #
 # Special purpose devices:
 #
 # Call units:
 #
 # Special purpose devices:
-#      flog*   kernel logging device
+#      bpf*    packet filter
+#      dcf*    dcf clock
+#      speaker pc speaker
+#      tw*     xten power controller
+#      snd*    various sound cards
+#
+#      $Id: MAKEDEV,v 1.28 1994/02/19 15:45:13 ache Exp $
 #
 
 #
 
-PATH=/sbin:/bin/:/usr/bin
+PATH=/sbin:/bin/:/usr/bin:/usr/sbin:
 umask 77
 for i
 do
 case $i in
 
 umask 77
 for i
 do
 case $i in
 
+all)
+       sh MAKEDEV std                                          # standard
+       sh MAKEDEV wd0 wd1 fd0 fd1 ft0 wt0 sd0 sd1 st0 cd0 mcd0 # bdev
+       sh MAKEDEV pty0 tty0 tty1 pc0 lpt0 lpt1 lpt2            # cdev
+       sh MAKEDEV ch0 tw0 bpf0 dcf0 lpa0 lpa1 lpa2             # cdev
+       sh MAKEDEV speaker mse0 ttyd2 ttyd3                     # cdev
+       # NOTE: co0 and vty04 are not done by a "sh MAKEDEV all"
+       # these are for codrv and interfere with other devices! - rgrimes
+       ;;
 std)
 std)
-       rm -f console drum mem kmdem null tty klog stdin stdout stderr
-       mknod console           c 0 0
-       mknod drum              c 4 0   ; chmod 640 drum ; chgrp kmem drum
-       mknod kmem              c 2 1   ; chmod 640 kmem ; chgrp kmem kmem
-       mknod mem               c 2 0   ; chmod 640 mem ; chgrp kmem mem
-       mknod null              c 2 2   ; chmod 666 null
-       mknod tty               c 1 0   ; chmod 666 tty
-       mknod klog              c 7 0   ; chmod 600 klog
-       mknod stdin             c 53 0  ; chmod 666 stdin
-       mknod stdout            c 53 1  ; chmod 666 stdout
-       mknod stderr            c 53 2  ; chmod 666 stderr
+       rm -f console drum mem kmem null zero io tty klog stdin stdout stderr
+       mknod console   c 0 0;  chmod 600 console;      chown root.wheel console
+       mknod drum      c 4 0;  chmod 640 drum;         chown root.kmem drum
+       mknod kmem      c 2 1;  chmod 640 kmem;         chown root.kmem kmem
+       mknod mem       c 2 0;  chmod 640 mem;          chown root.kmem mem
+       mknod null      c 2 2;  chmod 666 null;         chown root.wheel null
+       mknod zero      c 2 12; chmod 666 zero;         chown root.wheel zero
+       mknod io        c 2 14; chmod 640 io;           chown root.kmem io
+       mknod tty       c 1 0;  chmod 666 tty;          chown root.wheel tty
+       mknod klog      c 7 0;  chmod 600 klog;         chown root.wheel klog
+       mknod stdin     c 22 0; chmod 666 stdin;        chown root.wheel stdin
+       mknod stdout    c 22 1; chmod 666 stdout;       chown root.wheel stdout
+       mknod stderr    c 22 2; chmod 666 stderr;       chown root.wheel stderr
        rm -f fd/*
        mkdir fd > /dev/null 2>&1
        (cd fd && eval `echo "" | awk ' BEGIN { \
                for (i = 0; i < 64; i++) \
        rm -f fd/*
        mkdir fd > /dev/null 2>&1
        (cd fd && eval `echo "" | awk ' BEGIN { \
                for (i = 0; i < 64; i++) \
-                       printf("mknod %d c 53 %d;", i, i)}'`)
+                       printf("mknod %d c 22 %d;", i, i)}'`)
        chown -R bin.bin fd
        chmod 555 fd
        chmod 666 fd/*
        ;;
 
        chown -R bin.bin fd
        chmod 555 fd
        chmod 666 fd/*
        ;;
 
+
+# Create device files for new Archive/Wangtek QIC-02 tape driver (vak)
 wt*)
 wt*)
-       umask 2
-       mknod wt0 b 3 0
-       mknod rwt0 c 10 0
+       umask 2 ; u=`expr $i : '..\(.*\)'`
+       if [ x$u = x ]; then u=0; fi
+       rm -f r[Ww]t$u nr[Ww]t$u r[Ww]t$u[a-f] nr[Ww]t$u[a-f]
+       mknod rwt${u}   c 10 `expr  0 + $u`     # default density, 512b blocks
+       mknod nrwt${u}  c 10 `expr  4 + $u`
+#      mknod rWt${u}   c 10 `expr 64 + $u`     # default density, 1024b blocks
+#      mknod nrWt${u}  c 10 `expr 68 + $u`
+       mknod rwt${u}b  c 10 `expr 16 + $u`     # 60 megabytes
+       mknod nrwt${u}b c 10 `expr 20 + $u`
+       mknod rwt${u}c  c 10 `expr 24 + $u`     # 120 megabytes
+       mknod nrwt${u}c c 10 `expr 28 + $u`
+       mknod rwt${u}d  c 10 `expr 32 + $u`     # 150 megabytes
+       mknod nrwt${u}d c 10 `expr 36 + $u`
+#      mknod rwt${u}e  c 10 `expr 40 + $u`     # 300 megabytes?
+#      mknod nrwt${u}e c 10 `expr 44 + $u`
+#      mknod rwt${u}f  c 10 `expr 48 + $u`     # 600 megabytes?
+#      mknod nrwt${u}f c 10 `expr 52 + $u`
+       chown root.operator r[Ww]t$u nr[Ww]t$u r[Ww]t$u[a-f] nr[Ww]t$u[a-f]
+       umask 77
+       ;;
+
+fd*)
+       umask 2 ; unit=`expr $i : '..\(.*\)'`
+       name=fd; blk=2; chr=9;
+       rm -f $name$unit* r$name$unit*
+       case $unit in
+       0|1|2|3)
+               mknod ${name}${unit}   b $blk `expr $unit '*' 64`
+               mknod r${name}${unit}  c $chr `expr $unit '*' 64`
+               # Fake BSD partitions
+               for i in a b c d e f g h
+               do
+                       ln ${name}${unit} ${name}${unit}$i
+                       ln r${name}${unit} r${name}${unit}$i
+               done
+               # User-readable and programmer-readable name sets
+
+               mknod ${name}${unit}.1720  b $blk `expr $unit '*' 64 + 1`
+               mknod r${name}${unit}.1720 c $chr `expr $unit '*' 64 + 1`
+               # ln ${name}${unit}.1720 ${name}${unit}135hs21
+               # ln r${name}${unit}.1720 r${name}${unit}135hs21
+
+               mknod ${name}${unit}.1480  b $blk `expr $unit '*' 64 + 2`
+               mknod r${name}${unit}.1480 c $chr `expr $unit '*' 64 + 2`
+               # ln ${name}${unit}.1480 ${name}${unit}135hs18
+               # ln r${name}${unit}.1480 r${name}${unit}135hs18
+               # ln ${name}${unit}.1480 ${name}${unit}96hs18
+               # ln r${name}${unit}.1480 r${name}${unit}96hs18
+
+               mknod ${name}${unit}.1440  b $blk `expr $unit '*' 64 + 3`
+               mknod r${name}${unit}.1440 c $chr `expr $unit '*' 64 + 3`
+               # ln ${name}${unit}.1440 ${name}${unit}135
+               # ln r${name}${unit}.1440 r${name}${unit}135
+               # ln ${name}${unit}.1440 ${name}${unit}135ds18
+               # ln r${name}${unit}.1440 r${name}${unit}135ds18
+               # ln ${name}${unit}.1440 ${name}${unit}96ds18
+               # ln r${name}${unit}.1440 r${name}${unit}96ds18
+
+               mknod ${name}${unit}.1200  b $blk `expr $unit '*' 64 + 4`
+               mknod r${name}${unit}.1200 c $chr `expr $unit '*' 64 + 4`
+               # ln ${name}${unit}.1200 ${name}${unit}96
+               # ln r${name}${unit}.1200 r${name}${unit}96
+               # ln ${name}${unit}.1200 ${name}${unit}96ds15
+               # ln r${name}${unit}.1200 r${name}${unit}96ds15
+               # ln ${name}${unit}.1200 ${name}${unit}135ds15
+               # ln r${name}${unit}.1200 r${name}${unit}135ds15
+
+               mknod ${name}${unit}.820  b $blk `expr $unit '*' 64 + 5`
+               mknod r${name}${unit}.820 c $chr `expr $unit '*' 64 + 5`
+               # ln ${name}${unit}.820 ${name}${unit}96hs10
+               # ln r${name}${unit}.820 r${name}${unit}96hs10
+               # ln ${name}${unit}.820 ${name}${unit}135hs10
+               # ln r${name}${unit}.820 r${name}${unit}135hs10
+
+               mknod ${name}${unit}.800  b $blk `expr $unit '*' 64 + 6`
+               mknod r${name}${unit}.800 c $chr `expr $unit '*' 64 + 6`
+               # ln ${name}${unit}.800 ${name}${unit}96ds10
+               # ln r${name}${unit}.800 r${name}${unit}96ds10
+               # ln ${name}${unit}.800 ${name}${unit}135ds10
+               # ln r${name}${unit}.800 r${name}${unit}135ds10
+
+               mknod ${name}${unit}.720  b $blk `expr $unit '*' 64 + 7`
+               mknod r${name}${unit}.720 c $chr `expr $unit '*' 64 + 7`
+               # ln ${name}${unit}.720 ${name}${unit}96ds9
+               # ln r${name}${unit}.720 r${name}${unit}96ds9
+               # ln ${name}${unit}.720 ${name}${unit}135ds9
+               # ln r${name}${unit}.720 r${name}${unit}135ds9
+
+               mknod ${name}${unit}.360  b $blk `expr $unit '*' 64 + 8`
+               mknod r${name}${unit}.360 c $chr `expr $unit '*' 64 + 8`
+               # ln ${name}${unit}.360 ${name}${unit}48
+               # ln r${name}${unit}.360 r${name}${unit}48
+               # ln ${name}${unit}.360 ${name}${unit}48ds9
+               # ln r${name}${unit}.360 r${name}${unit}48ds9
+
+               chgrp operator ${name}${unit}* r${name}${unit}*
+               chmod 640 ${name}${unit}* r${name}${unit}*
+               ;;
+       *)
+               echo bad unit for disk in: $i
+               ;;
+       esac
+       umask 77
+       ;;
+
+
+ft*)
+       umask 2 ; unit=`expr $i : '..\(.*\)'`
+       name=ft; blk=2; chr=9;
+       rm -f $name$unit* r$name$unit*
+       case $unit in
+       0|1|2|3)
+               mknod ${name}${unit}   b $blk `expr $unit '*' 64 + 32`
+               mknod r${name}${unit}  c $chr `expr $unit '*' 64 + 32`
+               ln ${name}${unit} ${name}${unit}a
+               ln r${name}${unit} r${name}${unit}a
+               chgrp operator ${name}${unit}* r${name}${unit}*
+               chmod 640 ${name}${unit}* r${name}${unit}*
+               ;;
+       *)
+               echo bad unit for tape in: $i
+               ;;
+       esac
        umask 77
        ;;
 
        umask 77
        ;;
 
-fd*|wd*|as*)
+
+sd*|wd*)
        umask 2 ; unit=`expr $i : '..\(.*\)'`
        case $i in
        umask 2 ; unit=`expr $i : '..\(.*\)'`
        case $i in
-       fd*) name=fd; blk=2; chr=9;;
+       sd*) name=sd; blk=4; chr=13;;
        wd*) name=wd; blk=0; chr=3;;
        wd*) name=wd; blk=0; chr=3;;
-       as*) name=as; blk=4; chr=13;;
        esac
        rm -f $name$unit? r$name$unit?
        case $unit in
        esac
        rm -f $name$unit? r$name$unit?
        case $unit in
-       0|1)
+       0|1|2|3|4|5|6)
                mknod ${name}${unit}a   b $blk `expr $unit '*' 8 + 0`
                mknod ${name}${unit}b   b $blk `expr $unit '*' 8 + 1`
                mknod ${name}${unit}c   b $blk `expr $unit '*' 8 + 2`
                mknod ${name}${unit}a   b $blk `expr $unit '*' 8 + 0`
                mknod ${name}${unit}b   b $blk `expr $unit '*' 8 + 1`
                mknod ${name}${unit}c   b $blk `expr $unit '*' 8 + 2`
@@ -118,10 +282,17 @@ fd*|wd*|as*)
        umask 77
        ;;
 
        umask 77
        ;;
 
+uk*)
+       unit=`expr $i : 'uk\(.*\)'`
+       rm -f uk$unit
+       mknod uk$unit c 27 $unit
+       ;;
+
 com*)
 com*)
-       unit=`expr $i : 'com\(.*\)'`
-       rm -f com$unit
-       mknod com$unit c 8 $unit
+       unit=`expr $i : '...\(.*\)'`
+       rm -f tty0$unit
+       mknod tty0$unit c 8 $unit
+       chown uucp.wheel tty0$unit
        ;;
 
 pty*)
        ;;
 
 pty*)
@@ -140,17 +311,248 @@ pty*)
                umask 0
                eval `echo $offset $name | awk ' { b=$1; n=$2 } END {
                        for (i = 0; i < 16; i++)
                umask 0
                eval `echo $offset $name | awk ' { b=$1; n=$2 } END {
                        for (i = 0; i < 16; i++)
-                               printf("mknod tty%s%x c 5 %d; \
-                                       mknod pty%s%x c 6 %d; ", \
-                                       n, i, b+i, n, i, b+i); }'`
+                               printf("rm -f tty%s%x; mknod tty%s%x c 5 %d; \
+                                       rm -f pty%s%x; mknod pty%s%x c 6 %d; ", \
+                                       n, i, n, i, b+i, n, i, n, i, b+i); }'`
                umask 77
                umask 77
-               if [ $class = 1 ]; then
-                       mv ttyqf ttyv0; mv ptyqf ptyv0
-               fi
                ;;
        esac
        ;;
 
                ;;
        esac
        ;;
 
+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
+       ;;
+
 local)
        umask 0
        sh MAKEDEV.local
 local)
        umask 0
        sh MAKEDEV.local