This commit was manufactured by cvs2svn to create tag 'FreeBSD-release/1.1'.
[unix-history] / etc / etc.i386 / MAKEDEV
index 2816e72..7793197 100644 (file)
 #      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)
 #      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*     "NEW type scsi disks"
-#      cd*     "NEW type cdrom disks"
+#      sd*     "scsi disks"
+#      cd*     "scsi cdrom disks"
+#      mcd*    "mitsumi cdrom disks"
 #
 # Console ports:
 #
 # Console ports:
-#      pc*     devices for stock pccons (cleans up co devices) 
-#      co*     devices for codrv (cleans up pc devices)
-#      vty*    virtual console devices for codrv (cleans up pc devices)
+#      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
-#      tty*    alias for PC COM ports, this is what the system really wants
-#      sio*    fast interrupt 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 codrv console
+#      vty*    virtual terminals using syscons/pcvt/codrv console
 #
 # Printers:
 #      lpt*    stock lp
 #
 # Printers:
 #      lpt*    stock lp
 #      dcf*    dcf clock
 #      speaker pc speaker
 #      tw*     xten power controller
 #      dcf*    dcf clock
 #      speaker pc speaker
 #      tw*     xten power controller
+#      snd*    various sound cards
 #
 #
-# PATCHES MAGIC                LEVEL   PATCH THAT GOT US HERE
-# --------------------         -----   ----------------------
-# CURRENT PATCH LEVEL:         4       00170
-# --------------------         -----   ----------------------
-#
-# 16 Feb 93    Julian Elischer         ADDED for SCSI system
-# 16 Feb 93    Julian Elischer         media changer device
-# 10 Mar 93    Rodney W. Grimes        general clean up of above patches
-#                                      typo in rm of kmem (was kmdem)
-#                                      major number for /dev/fd/* and /dev/std*
-#                                      added lpt, lpa, bpf, vga, vgaco, kbdco
-# 08 Apr 93    Rodney W. Grimes        Cleanup chgrp, chown and chmod stuff
-#                                      Added duplicate name tty=com,
-#                                      added speaker, dcf
-# 22 Apr 93    Holger Veit             device create for co,pc,vty
-# 26 May 93    Rodney W. Grimes        Redid all to be in bdev/cdev order.
-# 26 May 93    Gene Stark              Added tw xten power controller
-#              Rodney W. Grimes        Added sio serial port (fast interrupt)
-# 09 Jun 93    Jordan K. Hubbard       Make all makes both pc0 and co0, this
-#                                      can be very bad.  Rod: I removed co0
-#                                      from the all.
-# 20 Jun 93    Holger Viet             Fixed co*) entry to be correct minor
-#                                      and to do the proper clean ups.
+#      $Id: MAKEDEV,v 1.28 1994/02/19 15:45:13 ache Exp $
 #
 
 PATH=/sbin:/bin/:/usr/bin:/usr/sbin:
 #
 
 PATH=/sbin:/bin/:/usr/bin:/usr/sbin:
@@ -97,20 +86,22 @@ case $i in
 
 all)
        sh MAKEDEV std                                          # standard
 
 all)
        sh MAKEDEV std                                          # standard
-       sh MAKEDEV wd0 wd1 fd0 fd1 wt0 sd0 sd1 as0 as1 st0 cd0  # bdev
-       sh MAKEDEV pty0 tty0 tty1 tty2 tty3 pc0 lpt0 lpt1 lpt2  # cdev
-       sh MAKEDEV ch0 tw0 bpf0 dcf0 lpa0 lpa1 lpa2     # cdev
-       sh MAKEDEV speaker mse0 sio0 sio1 sio2 sio3             # cdev
-       # NOTE: co0 and vty04 is not done by a sh MAKEDEV all, rgrimes
-       #       these are for codrv and interfear with other stuff!
+       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 kmem null tty klog stdin stdout 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 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 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
@@ -126,19 +117,139 @@ std)
        chmod 666 fd/*
        ;;
 
        chmod 666 fd/*
        ;;
 
+
+# Create device files for new Archive/Wangtek QIC-02 tape driver (vak)
 wt*)
 wt*)
-       umask 2;
-       rm -f wt0 rwt0
-       mknod wt0       b 3 0;  chown root.operator wt0
-       mknod rwt0      c 10 0; chown root.operator rwt0
-       umask 77;
+       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
        ;;
 
        ;;
 
-as*|fd*|sd*|wd*)
+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
+       ;;
+
+
+sd*|wd*)
        umask 2 ; unit=`expr $i : '..\(.*\)'`
        case $i in
        umask 2 ; unit=`expr $i : '..\(.*\)'`
        case $i in
-       as*) name=as; blk=4; chr=13;;
-       fd*) name=fd; blk=2; chr=9;;
        sd*) name=sd; blk=4; chr=13;;
        wd*) name=wd; blk=0; chr=3;;
        esac
        sd*) name=sd; blk=4; chr=13;;
        wd*) name=wd; blk=0; chr=3;;
        esac
@@ -171,12 +282,17 @@ as*|fd*|sd*|wd*)
        umask 77
        ;;
 
        umask 77
        ;;
 
-com*|tty*)
+uk*)
+       unit=`expr $i : 'uk\(.*\)'`
+       rm -f uk$unit
+       mknod uk$unit c 27 $unit
+       ;;
+
+com*)
        unit=`expr $i : '...\(.*\)'`
        unit=`expr $i : '...\(.*\)'`
-       rm -f com0$unit tty0$unit
-       mknod com0$unit c 8 $unit
+       rm -f tty0$unit
        mknod tty0$unit c 8 $unit
        mknod tty0$unit c 8 $unit
-       chown uucp.wheel com0$unit tty0$unit
+       chown uucp.wheel tty0$unit
        ;;
 
 pty*)
        ;;
 
 pty*)
@@ -199,44 +315,47 @@ pty*)
                                        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
                                        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
-               if [ $class = 1 ]; then
-                       mv ttyqf ttyv0; mv ptyqf ptyv0
-               fi
                ;;
        esac
        ;;
 
 st*)
        umask 2 ; unit=`expr $i : '..\(.*\)'`
                ;;
        esac
        ;;
 
 st*)
        umask 2 ; unit=`expr $i : '..\(.*\)'`
-       case $i in
-       st*) name=st;  chr=14; blk=5;;
-       esac
-       rm -f $name$unit n$name$unit e$name$unit en$name$unit \
-               r$name$unit nr$name$unit er$name$unit enr$name$unit 
+       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)
        case $unit in
        0|1|2|3|4|5|6)
-               mknod ${name}${unit}    b $blk `expr $unit '*' 16 + 0`
-               mknod n${name}${unit}   b $blk `expr $unit '*' 16 + 1`
-               mknod e${name}${unit}   b $blk `expr $unit '*' 16 + 2`
-               mknod en${name}${unit}  b $blk `expr $unit '*' 16 + 3`
-               mknod r${name}${unit}   c $chr `expr $unit '*' 16 + 0`
-               mknod nr${name}${unit}  c $chr `expr $unit '*' 16 + 1`
-               mknod er${name}${unit}  c $chr `expr $unit '*' 16 + 2`
-               mknod enr${name}${unit} c $chr `expr $unit '*' 16 + 3`
-               chgrp operator ${name}${unit} n${name}${unit} \
-                       e$name$unit en$name$unit \
-                       r${name}${unit} nr${name}${unit} \
-                       er${name}${unit} enr${name}${unit} 
-               chmod 640 ${name}${unit} n${name}${unit} \
-                       e$name$unit en$name$unit \
-                       r${name}${unit} nr${name}${unit} \
-                       er${name}${unit} enr${name}${unit} 
+               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
                ;;
        *)
                echo bad unit for tape in: $i
-               ;;
-       esac
-       umask 77
+               ;;
+       esac
+       umask 77
        ;;
 
 ch*)
        ;;
 
 ch*)
@@ -258,10 +377,11 @@ ch*)
        umask 77
        ;;
 
        umask 77
        ;;
 
-cd*)
-       umask 2 ; unit=`expr $i : '..\(.*\)'`
+cd*|mcd*)
+       umask 2 ;
        case $i in
        case $i in
-       cd*) name=cd; blk=6; chr=15;;
+       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
        esac
        rm -f $name$unit? r$name$unit?
        case $unit in
@@ -294,39 +414,20 @@ tw*)
        chown root.wheel tw$unit
        ;;
 
        chown root.wheel tw$unit
        ;;
 
-# hv 22-apr-93 use this to create the necessary devices for codrv
-# this will cleanup /dev/vga left from pccons
-co*)
-       chr=21
-       name=vga
-       rm -rf ${name}
-       mknod ${name} c ${chr} 128
-       ln ${name} ${name}co
-       chmod 644 ${name}
-       chown root.wheel ${name}
-
-       chr=21
-       name=kbd
-       rm -rf ${name}
-       mknod ${name} c ${chr} 0
-       ln ${name} ${name}co
-       chmod 644 ${name}
-       chown root.wheel ${name}
-       ;;
-
 # hv 22-apr-93 use this to create the necessary video device for
 # pccons driver
 pc*)
        chr=12
        minor=0
 # hv 22-apr-93 use this to create the necessary video device for
 # pccons driver
 pc*)
        chr=12
        minor=0
-       name=vga
-       rm -f ${name} kbd kbdco vgaco ttyv[0-9][0-9]
+       name=ttyv0
+       rm -f ${name} vga kbd kbdco vgaco ttyv[0-9][0-9]
        mknod ${name} c ${chr} ${minor}
        chown root.wheel $name
        mknod ${name} c ${chr} ${minor}
        chown root.wheel $name
+       ln -s ${name} vga
        ;;
 
        ;;
 
-# hv 22-apr-93 use this to create virtual consoles for codrv
-# /dev/ttyv00-12
+# 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
 # use as MAKEDEV vtyNN to create NN entries
 vty*)
        chr=12
@@ -368,11 +469,88 @@ speaker)
        chown root.wheel speaker
        ;;
 
        chown root.wheel speaker
        ;;
 
-sio*)
-       unit=`expr $i : '...\(.*\)'`
-       rm -f sio0$unit
-       mknod sio0$unit c 28 $unit
-       chown uucp.wheel sio0$unit
+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)
        ;;
 
 local)