date and time created 83/05/31 00:19:54 by sam
[unix-history] / usr / src / etc / etc.vax / MAKEDEV
CommitLineData
ed001f41 1#! /bin/sh
bf6af0cc 2# @(#)MAKEDEV 4.13 %G%
cb946633
SL
3#
4# Device "make" file. Valid arguments:
5# std standard devices (for 730 must be followed by tu0 & tu1)
6# local configuration specific devices
7# Tapes:
8# ht* massbus tm03 & tu??
9# tm* unibus tm11 & te10 emulations (e.g. Emulex tc-11)
10# ts* unibus ts11
11# mt* massbus tu78
12# ut* unibus tu45 emulations (e.g.si 9700)
13# tu* 730 tu58 console cassettes (tu0 in front, tu1 on side)
bf6af0cc 14# uu* tu58 cassettes on dl11 controller
cb946633
SL
15# Disks:
16# hp* massbus rm??
17# hk* unibus rk06 and rk07
18# up* other unibus devices (e.g. on Emulex sc-21v controller)
19# ra* unibus uda50 w/ ra??
20# rb* 730 idc w/ rb80 and/or rb02
a81354c2 21# rx* unibus rx211 floppy disk
cb946633
SL
22# Terminal multiplexors:
23# dz* unibus dz11 and dz32
24# dh* unibus dh11 and emulations (e.g. Able dmax, Emulex cs-11)
25# dmf* unibus dmf32
26# Pseudo terminals:
27# pty* set of 16 master and slave pseudo terminals
cebb3f9a 28# Printers:
cb946633 29# lp* unibus lp11 parallel interface
cebb3f9a
SL
30# va* unibus varian parallel interface
31# vp* unibus versatec parallel interface
cb946633
SL
32# Call units:
33# dn* unibus dn11 and emulations (e.g. Able Quadracall)
34umask 77
35for i
36do
37case $i in
38
39std)
40 /etc/mknod console c 0 0
41 /etc/mknod drum c 7 0 ; chmod 644 drum
42 /etc/mknod floppy c 8 0
43 /etc/mknod kUmem c 3 3 ;: no one has ever tried using this
44 /etc/mknod kmem c 3 1 ; chmod 644 kmem
45 /etc/mknod mem c 3 0 ; chmod 644 mem
46 /etc/mknod null c 3 2 ; chmod 666 null
47 /etc/mknod tty c 2 0 ; chmod 666 tty
48 ;;
49
50ht*|tm*|ts*|mt*|ut*)
51 umask 0 ; unit=`expr $i : '..\(.*\)'`
52 case $i in
53 ht*) blk=1; chr=5 ;;
54 tm*) blk=5; chr=14;;
55 ts*) blk=6; chr=16;;
56 mt*) blk=7; chr=19;;
57 ut*) blk=10; chr=17;;
58 esac
59 case $unit in
60 0|1|2|3|4|5|6|7)
61 four=`expr $unit + 4` ; eight=`expr $unit + 8`
62 twelve=`expr $unit + 12`; twenty=`expr $unit + 20`
63 /etc/mknod mt$unit b $blk $unit
64 /etc/mknod mt$four b $blk $four
65 /etc/mknod mt$eight b $blk $eight
66 /etc/mknod mt$twelve b $blk $twelve
67 /etc/mknod nmt$unit b $blk $four ;: sanity w/pdp11 v7
68 /etc/mknod nmt$eight b $blk $twelve ;: ditto
69 /etc/mknod nrmt$unit c $chr $four ;: sanity w/pdp11 v7
70 /etc/mknod nrmt$eight c $chr $twelve ;: ditto
71 /etc/mknod rmt$unit c $chr $unit
72 /etc/mknod rmt$four c $chr $four
73 /etc/mknod rmt$eight c $chr $eight
74 /etc/mknod rmt$twelve c $chr $twelve
ed001f41 75 if [ $i = ut ]
cb946633 76 then
4c90b0b7 77 /etc/mknod mt$twenty b $blk $twenty
cb946633
SL
78 /etc/mknod rmt$twenty c $chr $twenty
79 fi
80 umask 77
81 ;;
82 *)
b8e63eb3 83 echo bad unit for tape in: $1
cb946633
SL
84 ;;
85 esac
86 ;;
87
88hp*|hk*|up*|ra*|rb*)
89 unit=`expr $i : '..\(.*\)'`
90 case $i in
91 hp*) name=hp; blk=0; chr=4;;
92 hk*) name=hk; blk=3; chr=11;;
93 up*) name=up; blk=2; chr=13;;
94 ra*) name=ra; blk=9; chr=9;;
b8e63eb3 95 rb*) name=rb; blk=11; chr=23;;
cb946633
SL
96 esac
97 case $unit in
98 0|1|2|3|4|5|6|7)
99 /etc/mknod ${name}${unit}a b $blk `expr $unit '*' 8 + 0`
100 /etc/mknod ${name}${unit}b b $blk `expr $unit '*' 8 + 1`
101 /etc/mknod ${name}${unit}c b $blk `expr $unit '*' 8 + 2`
102 /etc/mknod ${name}${unit}g b $blk `expr $unit '*' 8 + 6`
103 /etc/mknod r${name}${unit}a c $chr `expr $unit '*' 8 + 0`
104 /etc/mknod r${name}${unit}b c $chr `expr $unit '*' 8 + 1`
105 /etc/mknod r${name}${unit}c c $chr `expr $unit '*' 8 + 2`
106 /etc/mknod r${name}${unit}g c $chr `expr $unit '*' 8 + 6`
107 if [ $name != hk ]
108 then
109 /etc/mknod ${name}${unit}d b $blk `expr $unit '*' 8 + 3`
110 /etc/mknod ${name}${unit}e b $blk `expr $unit '*' 8 + 4`
111 /etc/mknod ${name}${unit}f b $blk `expr $unit '*' 8 + 5`
112 /etc/mknod ${name}${unit}h b $blk `expr $unit '*' 8 + 7`
113 /etc/mknod r${name}${unit}d c $chr `expr $unit '*' 8 + 3`
114 /etc/mknod r${name}${unit}e c $chr `expr $unit '*' 8 + 4`
115 /etc/mknod r${name}${unit}f c $chr `expr $unit '*' 8 + 5`
116 /etc/mknod r${name}${unit}h c $chr `expr $unit '*' 8 + 7`
117 fi
118 ;;
119 *)
120 echo bad unit for disk in: $i
121 ;;
122 esac
123 ;;
124
c0fc5511
SL
125rx*)
126 unit=`expr $i : '..\(.*\)'`
a81354c2 127 name=rx; chr=30; blk=12;
c0fc5511
SL
128 case $unit in
129 0|1|2|3|4|5|6|7)
a02664e1 130 /etc/mknod ${name}${unit} b $blk `expr $unit '*' 8 + 0`
a81354c2
HS
131 /etc/mknod r${name}${unit}a c $chr `expr $unit '*' 8 + 0`
132 /etc/mknod r${name}${unit}b c $chr `expr $unit '*' 8 + 1`
133 /etc/mknod r${name}${unit}c c $chr `expr $unit '*' 8 + 2`
134 /etc/mknod r${name}${unit}d c $chr `expr $unit '*' 8 + 3`
c0fc5511
SL
135 ;;
136 *)
137 echo bad unit for floppy disk in: $i
138 ;;
139 esac
140 ;;
bf6af0cc
HS
141
142uu*)
143 unit=`expr $i : '..\(.*\)'`
144 name=uu; blk=13;
145 case $unit in
146 0|1|2|3)
147 /etc/mknod ${name}${unit} b $blk `expr $unit '*' 2 + 0`
148 /etc/mknod ${name}${unit}a b $blk `expr $unit '*' 2 + 1`
149 ;;
150 *)
151 echo bad unit for uu cassette in: $i
152 ;;
153 esac
154 ;;
155
cb946633
SL
156dz*)
157 unit=`expr $i : 'dz\(.*\)'`
158 case $unit in
159 0|1|2|3|4|5|6|7)
160 eval `echo $unit | awk ' { u = $1 } END {
161 for (i = 0; i < 8; i++)
162 printf("/etc/mknod tty%02d c 1 %d; ",u*8+i,u*8+i); }'`
163 ;;
164 *)
165 echo bad unit for dz in: $i
166 ;;
167 esac
168 ;;
169
170dh*|dmf*)
171 case $i in
172 dh*) name=dh; major=12;;
173 dmf*) name=dmf; major=22;;
174 esac
175 unit=`expr $i : "$name\(.*\)"`
176 case $unit in
177 0) ch=h ;; 1) ch=i ;; 2) ch=j ;; 3) ch=k ;;
178 4) ch=l ;; 5) ch=m ;; 6) ch=n ;; 7) ch=o ;;
179 *) echo bad unit for $name in: $i ;;
180 esac
181 case $ch in
182 h|i|j|k|l|m|n|o)
183 eval `echo $ch $unit $major |
184 awk ' { ch = $1; u = 16 * $2; m = $3 } END {
185 for (i = 0; i < 16; i++)
186 printf("/etc/mknod tty%s%x c %d %d; ",ch,i,m,u+i); }'`
187 ;;
188 esac
189 ;;
190
cebb3f9a
SL
191lp*|va*|vp*)
192 case $i in
193 lp*) name=lp; major=15;;
194 va*) name=va; major=10;;
195 vp*) name=vp; major=6;;
196 esac
197 unit=`expr $i : "$name\(.*\)"`
cb946633
SL
198 case $unit in
199 0|1|2|3|4|5|6|7)
cebb3f9a 200 /etc/mknod $i c $major $unit;
cb946633
SL
201 chmod 666 $i
202 ;;
203 *)
cebb3f9a 204 echo bad unit for $name in: $i
cb946633
SL
205 ;;
206 esac
207 ;;
208
209pty*)
210 class=`expr $i : 'pty\(.*\)'`
211 case $class in
212 0) offset=0 name=p;;
213 1) offset=16 name=q;;
214 2) offset=32 name=r;;
215 *) echo bad unit for pty in: $i;;
216 esac
217 case $class in
218 0|1|2)
219 umask 0
118b143d 220 eval `echo $offset $name | awk ' { b=$1; n=$2 } END {
cb946633
SL
221 for (i = 0; i < 16; i++)
222 printf("/etc/mknod tty%s%x c 20 %d; \
223 /etc/mknod pty%s%x c 21 %d; ", \
224 n, i, b+i, n, i, b+i); }'`
225 umask 77
226 ;;
227 esac
228 ;;
229
230dn*)
231 unit=`expr $i : 'dn\(.*\)'`
ec6dea8c 232 case $unit in
cb946633
SL
233 0|1|2|3|4|5|6|7)
234 umask 0
235 /etc/mknod cu${unit} c 24 ${unit}
236 umask 77
237 ;;
238 *)
239 echo bad unit for dn in: $i
240 ;;
241 esac
242 ;;
243
244local)
18993499 245 sh MAKEDEV.local
cb946633
SL
246 ;;
247esac
248done