# Device "make" file. Valid arguments:
# local configuration specific devices
# ht* massbus tm03 & tu??
# tm* unibus tm11 & te10 emulations (e.g. Emulex tc-11)
# ut* unibus tu45 emulations (e.g.si 9700)
# uu* tu58 cassettes on dl11 controller
# hk* unibus rk06 and rk07
# up* other unibus devices (e.g. on Emulex sc-21v controller)
# ra* unibus uda50 w/ ra??
# rb* 730 idc w/ rb80 and/or rb02
# rx* unibus rx211 floppy disk
# dz* unibus dz11 and dz32
# dh* unibus dh11 and emulations (e.g. Able dmax, Emulex cs-11)
# pty* set of 16 master and slave pseudo terminals
# ct* unibus parallel interface to CAT typesetter
# lp* unibus lp11 parallel interface
# va* unibus varian parallel interface
# vp* unibus versatec parallel interface
# dn* unibus dn11 and emulations (e.g. Able Quadracall)
# Special purpose devices:
# ik* unibus interface to ikonas frame buffer
# ps* unibus interface to e&s picture system 2
# ad* unibus interface to data translation a/d converter
/etc
/mknod drum c
7 0 ; chmod 644 drum
/etc
/mknod kUmem c
3 3 ;: no one has ever tried using this
/etc
/mknod kmem c
3 1 ; chmod 644 kmem
/etc
/mknod mem c
3 0 ; chmod 644 mem
/etc
/mknod null c
3 2 ; chmod 666 null
/etc
/mknod tty c
2 0 ; chmod 666 tty
umask 0 ; unit
=`expr $i : '..\(.*\)'`
four
=`expr $unit + 4` ; eight
=`expr $unit + 8`
twelve
=`expr $unit + 12`; twenty
=`expr $unit + 20`
/etc
/mknod mt
$unit b
$blk $unit
/etc
/mknod mt
$four b
$blk $four
/etc
/mknod mt
$eight b
$blk $eight
/etc
/mknod mt
$twelve b
$blk $twelve
/etc
/mknod nmt
$unit b
$blk $four ;: sanity w
/pdp11 v7
/etc
/mknod nmt
$eight b
$blk $twelve ;: ditto
/etc
/mknod nrmt
$unit c
$chr $four ;: sanity w
/pdp11 v7
/etc
/mknod nrmt
$eight c
$chr $twelve ;: ditto
/etc
/mknod rmt
$unit c
$chr $unit
/etc
/mknod rmt
$four c
$chr $four
/etc
/mknod rmt
$eight c
$chr $eight
/etc
/mknod rmt
$twelve c
$chr $twelve
/etc
/mknod mt
$twenty b
$blk $twenty
/etc
/mknod rmt
$twenty c
$chr $twenty
echo bad unit
for tape
in: $1
unit
=`expr $i : '..\(.*\)'`
hp
*) name
=hp
; blk
=0; chr
=4;;
hk
*) name
=hk
; blk
=3; chr
=11;;
up
*) name
=up
; blk
=2; chr
=13;;
ra
*) name
=ra
; blk
=9; chr
=9;;
rb
*) name
=rb
; blk
=11; chr
=23;;
rl
*) name
=rl
; blk
=14; chr
=32;;
/etc
/mknod
${name}${unit}a b
$blk `expr $unit '*' 8 + 0`
/etc
/mknod
${name}${unit}b b
$blk `expr $unit '*' 8 + 1`
/etc
/mknod
${name}${unit}c b
$blk `expr $unit '*' 8 + 2`
/etc
/mknod
${name}${unit}g b
$blk `expr $unit '*' 8 + 6`
/etc
/mknod r
${name}${unit}a c
$chr `expr $unit '*' 8 + 0`
/etc
/mknod r
${name}${unit}b c
$chr `expr $unit '*' 8 + 1`
/etc
/mknod r
${name}${unit}c c
$chr `expr $unit '*' 8 + 2`
/etc
/mknod r
${name}${unit}g c
$chr `expr $unit '*' 8 + 6`
/etc
/mknod
${name}${unit}d b
$blk `expr $unit '*' 8 + 3`
/etc
/mknod
${name}${unit}e b
$blk `expr $unit '*' 8 + 4`
/etc
/mknod
${name}${unit}f b
$blk `expr $unit '*' 8 + 5`
/etc
/mknod
${name}${unit}h b
$blk `expr $unit '*' 8 + 7`
/etc
/mknod r
${name}${unit}d c
$chr `expr $unit '*' 8 + 3`
/etc
/mknod r
${name}${unit}e c
$chr `expr $unit '*' 8 + 4`
/etc
/mknod r
${name}${unit}f c
$chr `expr $unit '*' 8 + 5`
/etc
/mknod r
${name}${unit}h c
$chr `expr $unit '*' 8 + 7`
echo bad unit
for disk
in: $i
unit
=`expr $i : '..\(.*\)'`
/etc
/mknod
${name}${unit} b
$blk `expr $unit '*' 8 + 0`
/etc
/mknod r
${name}${unit}a c
$chr `expr $unit '*' 8 + 0`
/etc
/mknod r
${name}${unit}b c
$chr `expr $unit '*' 8 + 1`
/etc
/mknod r
${name}${unit}c c
$chr `expr $unit '*' 8 + 2`
/etc
/mknod r
${name}${unit}d c
$chr `expr $unit '*' 8 + 3`
echo bad unit
for floppy disk
in: $i
unit
=`expr $i : '..\(.*\)'`
/etc
/mknod
${name}${unit} b
$blk `expr $unit '*' 2 + 0`
/etc
/mknod
${name}${unit}a b
$blk `expr $unit '*' 2 + 1`
echo bad unit
for uu cassette
in: $i
unit
=`expr $i : 'dz\(.*\)'`
eval `echo $unit | awk ' { u = $1 } END {
printf("/etc/mknod tty%02d c 1 %d; ",u*8+i,u*8+i); }'`
echo bad unit
for dz
in: $i
dmf
*) name
=dmf
; major
=22;;
unit
=`expr $i : "$name\(.*\)"`
0) ch
=h
;; 1) ch
=i
;; 2) ch
=j
;; 3) ch
=k
;;
4) ch
=l
;; 5) ch
=m
;; 6) ch
=n
;; 7) ch
=o
;;
*) echo bad unit
for $name in: $i ;;
eval `echo $ch $unit $major |
awk ' { ch = $1; u = 16 * $2; m = $3 } END {
printf("/etc/mknod tty%s%x c %d %d; ",ch,i,m,u+i); }'`
unit
=`expr $i : "$name\(.*\)"`
/etc
/mknod
$i c
$major $unit;
echo bad unit
for $name in: $i
class
=`expr $i : 'pty\(.*\)'`
*) echo bad unit
for pty
in: $i;;
eval `echo $offset $name | awk ' { b=$1; n=$2 } END {
printf("/etc/mknod tty%s%x c 20 %d; \
/etc/mknod pty%s%x c 21 %d; ", \
n, i, b+i, n, i, b+i); }'`
unit
=`expr $i : '..\(.*\)'`
/etc
/mknod
${name}${unit} c ${chr} ${unit}
echo bad unit
for ${name} in: $i