4.4BSD snapshot (revision 8.1); add 1993 to copyright
[unix-history] / usr / src / etc / etc.hp300 / MAKEDEV
CommitLineData
9ebf8dd1
KB
1#!/bin/sh -
2#
0ba30325
KB
3# Copyright (c) 1990 The Regents of the University of California.
4# All rights reserved.
9ebf8dd1 5#
0ba30325
KB
6# %sccs.include.redist.sh%
7#
2c73235d 8# @(#)MAKEDEV 5.6 (Berkeley) %G%
9ebf8dd1
KB
9#
10# Device "make" file. Valid arguments:
11# std standard devices
12# local configuration specific devices
13# Tapes:
14# ct* HP300 HP-IB cartridge tape
7ded5a4c 15# st* Exabyte tape
9ebf8dd1
KB
16# Disks:
17# cd* "concatenated" pseudo-disks
9ebf8dd1
KB
18# rd* HP300 HP-IB disks
19# sd* HP300 SCSI disks
0ba30325 20# vnd* "file" pseudo-disks
9ebf8dd1
KB
21# Terminal multiplexors:
22# dca* HP200/300 single port serial interface
23# dcm* HP200/300 4 port serial mux interface
24# Pseudo terminals:
25# pty* set of 16 master and slave pseudo terminals
26# Printers:
27# Call units:
28# Special purpose devices:
29# flog* kernel logging device
30# grf* raw interface to HP300 graphics devices
31# ite* terminal emulator interface to HP300 graphics devices
32# hil HP300 HIL input devices
0ba30325 33
616b6cd7 34PATH=/sbin:/bin/:/usr/bin:/usr/sbin
9ebf8dd1
KB
35umask 77
36for i
37do
38case $i in
39
40std)
0ba30325
KB
41 mknod console c 0 0
42 mknod drum c 3 0 ; chmod 640 drum ; chgrp kmem drum
43 mknod kmem c 2 1 ; chmod 640 kmem ; chgrp kmem kmem
44 mknod mem c 2 0 ; chmod 640 mem ; chgrp kmem mem
45 mknod null c 2 2 ; chmod 666 null
2c73235d 46 mknod zero c 2 12 ; chmod 666 zero
0ba30325
KB
47 mknod tty c 1 0 ; chmod 666 tty
48 mknod klog c 6 0 ; chmod 600 klog
63122c67
KM
49 mknod stdin c 21 0 ; chmod 666 stdin
50 mknod stdout c 21 1 ; chmod 666 stdout
51 mknod stderr c 21 2 ; chmod 666 stderr
0ba30325
KB
52 mkdir fd > /dev/null 2>&1
53 (cd fd && eval `echo "" | awk ' BEGIN { \
54 for (i = 0; i < 64; i++) \
63122c67 55 printf("mknod %d c 21 %d;", i, i)}'`)
0ba30325
KB
56 chown -R bin.bin fd
57 chmod 555 fd
58 chmod 666 fd/*
9ebf8dd1
KB
59 ;;
60
7ded5a4c 61ct*|st*)
9ebf8dd1
KB
62 umask 0 ; unit=`expr $i : '..\(.*\)'`
63 case $i in
7ded5a4c
KM
64 ct*) name=ct; blk=0; chr=7;;
65 st*) name=st; blk=6; chr=20;;
9ebf8dd1
KB
66 esac
67 case $unit in
68 0|1|2|3|4|5|6|7)
69 four=`expr $unit + 4` ; eight=`expr $unit + 8`
70 twelve=`expr $unit + 12`; twenty=`expr $unit + 20`
71 #
72 # block devices don't work so don't make them
7ded5a4c
KM
73 #mknod ${name}${unit} b $blk $unit
74 #mknod ${name}${four} b $blk $four
75 #mknod ${name}${eight} b $blk $eight
76 #mknod ${name}${twelve} b $blk $twelve
77 #mknod n${name}${unit} b $blk $four ;: sanity w/pdp11 v7
78 #mknod n${name}${eight} b $blk $twelve ;: ditto
9ebf8dd1 79 #
7ded5a4c
KM
80 mknod r${name}${unit} c $chr $unit
81 mknod r${name}${four} c $chr $four
82 mknod r${name}${eight} c $chr $eight
83 mknod r${name}${twelve} c $chr $twelve
84 ln r${name}${four} nr${name}${unit} ;: sanity w/pdp11 v7
85 ln r${name}${twelve} nr${name}${eight} ;: ditto
9ebf8dd1
KB
86 ;;
87 *)
88 echo bad unit for tape in: $1
89 ;;
90 esac
91 umask 77
92 ;;
93
94cd*|fd*|rd*|sd*)
95 umask 2 ; unit=`expr $i : '..\(.*\)'`
96 case $i in
97 rd*) name=rd; blk=2; chr=9;;
98 sd*) name=sd; blk=4; chr=8;;
99 cd*) name=cd; blk=5; chr=17;;
0ba30325 100 vnd*) name=vnd; blk=6; chr=19;;
9ebf8dd1
KB
101 esac
102 case $unit in
103 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|\
104 17|18|19|20|21|22|23|24|25|26|27|28|29|30|31)
0ba30325
KB
105 mknod ${name}${unit}c b $blk `expr $unit '*' 8 + 2`
106 mknod r${name}${unit}c c $chr `expr $unit '*' 8 + 2`
107 if [ $name != cd -a $name != vnd ]
9ebf8dd1 108 then
0ba30325
KB
109 mknod ${name}${unit}a b $blk `expr $unit '*' 8 + 0`
110 mknod ${name}${unit}b b $blk `expr $unit '*' 8 + 1`
111 mknod ${name}${unit}d b $blk `expr $unit '*' 8 + 3`
112 mknod ${name}${unit}e b $blk `expr $unit '*' 8 + 4`
113 mknod ${name}${unit}f b $blk `expr $unit '*' 8 + 5`
114 mknod ${name}${unit}g b $blk `expr $unit '*' 8 + 6`
115 mknod ${name}${unit}h b $blk `expr $unit '*' 8 + 7`
116 mknod r${name}${unit}a c $chr `expr $unit '*' 8 + 0`
117 mknod r${name}${unit}b c $chr `expr $unit '*' 8 + 1`
118 mknod r${name}${unit}d c $chr `expr $unit '*' 8 + 3`
119 mknod r${name}${unit}e c $chr `expr $unit '*' 8 + 4`
120 mknod r${name}${unit}f c $chr `expr $unit '*' 8 + 5`
121 mknod r${name}${unit}g c $chr `expr $unit '*' 8 + 6`
122 mknod r${name}${unit}h c $chr `expr $unit '*' 8 + 7`
9ebf8dd1
KB
123 fi
124 chgrp operator ${name}${unit}[a-h] r${name}${unit}[a-h]
125 chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h]
126 ;;
127 *)
128 echo bad unit for disk in: $i
129 ;;
130 esac
131 umask 77
132 ;;
133
134dca*)
135 unit=`expr $i : 'dca\(.*\)'`
136 case $unit in
137 0)
0ba30325 138 mknod tty0 c 12 0
9ebf8dd1
KB
139 ;;
140 *)
141 echo bad unit for dca in: $i
142 ;;
143 esac
144 ;;
145
146dcm*)
147 unit=`expr $i : 'dcm\(.*\)'`
148 case $unit in
149 0|1|2|3)
63122c67
KM
150 eval `echo $unit | awk ' { unit = $1; u = 4 * $1 } END {
151 for (i = 0; i < 4; i++)
152 printf("mknod tty0%x c 15 %d; ",u+i,u+i); }'`
153 ;;
9ebf8dd1
KB
154 *)
155 echo bad unit for dcm in: $i
156 ;;
157 esac
158 ;;
159
160ite*)
161 unit=`expr $i : 'ite\(.*\)'`
162 case $unit in
163 0|1|2|3)
0ba30325 164 mknod ttye${unit} c 13 ${unit}
9ebf8dd1
KB
165 ;;
166 *)
167 echo bad unit for ite in: $i
168 ;;
169 esac
170 ;;
171
172grf*)
173 unit=`expr $i : 'grf\(.*\)'`
174 case $unit in
175 0|1|2|3)
0ba30325 176 mknod grf${unit} c 10 ${unit}; chmod 666 grf${unit}
9ebf8dd1
KB
177 echo "grf${unit}: use MAKEDEV.hpux to make HP-UX names for device"
178 ;;
179 *)
180 echo bad unit for grf in: $i
181 ;;
182 esac
183 ;;
184
185hil)
186 for unit in 0 1 2 3 4 5 6 7
187 do
0ba30325 188 mknod hil${unit} c 14 ${unit}
9ebf8dd1
KB
189 if [ -f /usr/local/hilinfo ]
190 then
191 case `/usr/local/hilinfo -t hil${unit}` in
192 mouse)
193 if [ ! -f locator ]
194 then
195 ln hil${unit} locator
196 fi
197 ;;
198 keyboard)
199 if [ ! -f keyboard ]
200 then
201 ln hil${unit} keyboard
202 fi
203 ;;
204 *)
205 ;;
206 esac
207 fi
208 done
209 if [ ! -f /usr/local/hilinfo ]
210 then
211 ln hil1 keyboard
212 ln hil3 locator
213 fi
214 chmod 666 hil*
215 echo "hil: use MAKEDEV.hpux to make HP-UX names for devices"
216 ;;
217
218pty*)
219 class=`expr $i : 'pty\(.*\)'`
220 case $class in
221 0) offset=0 name=p;;
222 1) offset=16 name=q;;
223 2) offset=32 name=r;;
224 3) offset=48 name=s;;
225# Note that telnetd, rlogind, and xterm (at least) only look at p-s.
226 4) offset=64 name=t;;
227 *) echo bad unit for pty in: $i;;
228 esac
229 case $class in
230 0|1|2|3|4)
231 umask 0
232 eval `echo $offset $name | awk ' { b=$1; n=$2 } END {
233 for (i = 0; i < 16; i++)
0ba30325
KB
234 printf("mknod tty%s%x c 4 %d; \
235 mknod pty%s%x c 5 %d; ", \
9ebf8dd1
KB
236 n, i, b+i, n, i, b+i); }'`
237 umask 77
238 if [ $class = 1 ]; then
239 mv ttyqf ttyv0; mv ptyqf ptyv0
240 fi
241 ;;
242 esac
243 ;;
244
245local)
246 umask 0
247 sh MAKEDEV.local
248 ;;
7ded5a4c
KM
249*)
250 echo $i: unknown device
251 ;;
9ebf8dd1
KB
252esac
253done