Annotation of /tags/mkinitrd-6_1_5/livecd/MAKEDEV.sh
Parent Directory | Revision Log
Revision 532 -
(hide annotations)
(download)
(as text)
Sat Sep 1 22:45:15 2007 UTC (17 years ago) by niro
Original Path: trunk/mkinitrd-magellan/livecd/MAKEDEV.sh
File MIME type: application/x-sh
File size: 33114 byte(s)
Sat Sep 1 22:45:15 2007 UTC (17 years ago) by niro
Original Path: trunk/mkinitrd-magellan/livecd/MAKEDEV.sh
File MIME type: application/x-sh
File size: 33114 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd
1 | niro | 532 | #!/bin/bash |
2 | |||
3 | MAKEDEV_VERSION=1.7 | ||
4 | |||
5 | # This script is originally taken from Slackware 7.1 and modified for | ||
6 | # the Linux From Scratch Project (http://www.linuxfromscratch.org/) by | ||
7 | # Marc Heerdink <marc_heerdink@softhome.net> | ||
8 | # | ||
9 | # Versions 1.1 onwards modified for LFS by Mark Hymers | ||
10 | # <markh@linuxfromscratch.org> | ||
11 | |||
12 | # | ||
13 | # Changelog | ||
14 | # | ||
15 | |||
16 | # Version 1.1 | ||
17 | # -- Modified script so sg devices were created properly. They were | ||
18 | # being created as block devices instead of the proper character | ||
19 | # ones. | ||
20 | |||
21 | # Version 1.2 | ||
22 | # -- Added new generic-nopty option for those using /dev/pts to | ||
23 | # avoid creating pty[p-za-e][0-9a-f] and tty[p-za-e][0-9a-f] | ||
24 | # -- Changed generic option to create hda-hdh instead of just | ||
25 | # hda-hdd | ||
26 | # -- Changed MAXVT to only create 32 VTs by default instead of 63 | ||
27 | |||
28 | # Version 1.3 | ||
29 | # -- Changed creation of framebuffer devices (fb0-fb7) to 29,[0-7] | ||
30 | # instead of the old 0,32,etc. sequence. Support for the old | ||
31 | # sequence will be removed in the 2.5 series. | ||
32 | # -- Fixed typo in smpte* device creation (they were being created | ||
33 | # as smtpe instead of smpte...) | ||
34 | |||
35 | # Version 1.4 | ||
36 | # -- Applied Matthias Benkmann's new patch to allow MAKEDEV to be used | ||
37 | # even when glibc isn't installed by manually resolving | ||
38 | # user and group names to ids if chown name.group doesn't work. | ||
39 | |||
40 | # Version 1.5 | ||
41 | # -- Changed the symlink /dev/ram --> /dev/ram1 to /dev/ram --> /dev/ram0 | ||
42 | |||
43 | # Version 1.6 | ||
44 | # -- Removed the "update" target as we don't use it and it means | ||
45 | # that MAKEDEV doesn't need proc mounted to work. | ||
46 | # -- Make the -V option work properly | ||
47 | # -- Add long (GNU-style) options and add the -h|--help option. | ||
48 | # -- When we fallback to parsing /etc/{passwd,group}, make sure the | ||
49 | # files actually exist first! | ||
50 | # -- Change !#/bin/sh to #!/bin/bash as it doesn't run on all shells which | ||
51 | # may be installed as /bin/sh | ||
52 | |||
53 | # Version 1.7 | ||
54 | # -- Give vcs a fallback major number (7) as the /proc processing code | ||
55 | # has been removed. | ||
56 | |||
57 | |||
58 | # Kernel version 2.4.9 (2.4.x series) | ||
59 | |||
60 | # These are the device classes. Each device falls in it's own class. The | ||
61 | # parameters to the chmod and chown commands for a specific class are | ||
62 | # defined here. The permissions will be changed immediately after the | ||
63 | # device is created. | ||
64 | |||
65 | public="root root 0666" | ||
66 | private="root root 0600" | ||
67 | system="root sys 0660" | ||
68 | kmem="root kmem 0640" | ||
69 | tty="root tty 0666" | ||
70 | cons="root tty 0622" | ||
71 | vcs="root root 0600" | ||
72 | dialout="root dialout 0660" | ||
73 | mouse="root root 0660" | ||
74 | printer="root lp 0660" | ||
75 | floppy="root floppy 0660" | ||
76 | disk="root disk 0660" | ||
77 | scsi="root disk 0660" | ||
78 | cdrom="root disk 0660" | ||
79 | tape="root tape 0660" | ||
80 | audio="root audio 0660" | ||
81 | video="root root 0660" | ||
82 | ibcs2="root root 0666" | ||
83 | scanner="root root 0666" | ||
84 | coda="root root 0600" | ||
85 | ipsec="root root 0200" | ||
86 | readable="root root 0444" | ||
87 | |||
88 | # Maximum number of Virtual Terminals to create. | ||
89 | MAXVT=32 | ||
90 | |||
91 | # Default major numbers. | ||
92 | major_ide0=3 | ||
93 | major_ide1=22 | ||
94 | major_ide2=33 | ||
95 | major_ide3=34 | ||
96 | |||
97 | major_sd=8 | ||
98 | major_sr=11 | ||
99 | major_sg=21 | ||
100 | |||
101 | major_lp=6 | ||
102 | major_loop=7 | ||
103 | |||
104 | procfs=/proc | ||
105 | |||
106 | opt_v= | ||
107 | opt_d= | ||
108 | opt_n= | ||
109 | opt_H= | ||
110 | opt_V= | ||
111 | |||
112 | while [ "$#" -ge "1" ]; do | ||
113 | case $1 in | ||
114 | --) shift; break ;; | ||
115 | -v|--verbose) shift; opt_v=1 ;; | ||
116 | -d|--delete) shift; opt_d=1 ;; | ||
117 | -n|--null) shift; opt_n=1; opt_v=1 ;; | ||
118 | -V|--version) shift; opt_V=1 ;; | ||
119 | -h|--help) shift; opt_h=1 ;; | ||
120 | -*) echo "$0: unknown flag \"$1\"" >&2; exit 1 ;; | ||
121 | *) break ;; | ||
122 | esac | ||
123 | done | ||
124 | |||
125 | if [ "$opt_V" ]; then | ||
126 | echo "MAKEDEV-$MAKEDEV_VERSION" | ||
127 | echo | ||
128 | echo "Based on the MAKEDEV script from Slackware 7.1" | ||
129 | echo "Originally modified for the LinuxFromScratch Project" | ||
130 | echo "(http://www.linuxfromscratch.org/)" | ||
131 | echo "by Marc Heerdink <marc_heerdink@softhome.net>" | ||
132 | echo | ||
133 | echo "Maintained for LinuxFromScratch from Version 1.1 onwards" | ||
134 | echo "by Mark Hymers <markh@linuxfromscratch.org>" | ||
135 | echo | ||
136 | echo "Please report all problems to the maintainer" | ||
137 | exit 0 | ||
138 | fi | ||
139 | |||
140 | if [ "$opt_h" ]; then | ||
141 | echo "Usage: MAKEDEV [OPTION] DEVICE|DEVICE-GROUP" | ||
142 | echo "Create device files for use in Linux" | ||
143 | echo | ||
144 | |||
145 | echo "-d, --delete delete specified devices" | ||
146 | echo "-h, --help display this help and exit" | ||
147 | echo "-n, --null don't perform the action, just print what would be done" | ||
148 | echo "-V, --version display version information and exit" | ||
149 | echo "-v, --verbose be more verbose in the output " | ||
150 | echo | ||
151 | |||
152 | echo "Devices can be specified individually or as a group. Examples:" | ||
153 | echo "generic creates most generally required devices" | ||
154 | echo "generic-nopty as generic but no pty's created (for use with devpts" | ||
155 | echo | ||
156 | echo "Please report bugs to the maintainer (see --version option)" | ||
157 | exit 0 | ||
158 | fi | ||
159 | |||
160 | opts="${opt_n:+-n} ${opt_v:+-v} ${opt_d:+-d}" | ||
161 | |||
162 | #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---# | ||
163 | |||
164 | # Test if groups and users are resolved automatically and install functions to | ||
165 | # resolve manually if not - By Matthias Benkmann | ||
166 | |||
167 | if [ "`id -gn root 2>/dev/null`" != "root" ]; then | ||
168 | echo 1>&2 'NOTICE: Resolving user/group names manually using /etc/group and /etc/passwd' | ||
169 | |||
170 | if [ -f /etc/passwd ]; then | ||
171 | getuser() | ||
172 | { | ||
173 | line=`grep ^$1: /etc/passwd` || { echo $1 ; return 1 ;} | ||
174 | echo "$line" | cut -f 3 -d : | ||
175 | } | ||
176 | else | ||
177 | echo "/etc/passwd does not exist - please create it!" | ||
178 | exit 1 | ||
179 | fi | ||
180 | |||
181 | if [ -f /etc/group ]; then | ||
182 | getgid() | ||
183 | { | ||
184 | line=`grep ^$1: /etc/group` || { echo $1 ; return 1 ;} | ||
185 | echo "$line" | cut -f 3 -d : | ||
186 | } | ||
187 | else | ||
188 | echo "/etc/group does not exist - please create it!" | ||
189 | exit 1 | ||
190 | fi | ||
191 | else | ||
192 | getuser() { echo $1 ;} | ||
193 | getgid() { echo $1 ;} | ||
194 | fi | ||
195 | |||
196 | makedev () { | ||
197 | if [ "$opt_v" ]; then | ||
198 | if [ "$opt_d" ]; then | ||
199 | echo "delete $1" | ||
200 | else | ||
201 | echo "create $1 $2 $3 $4 $5:$6 $7" | ||
202 | fi | ||
203 | fi | ||
204 | if [ ! "$opt_n" ]; then | ||
205 | if [ "$opt_d" ]; then | ||
206 | rm -f $1 | ||
207 | else | ||
208 | rm -f $1- | ||
209 | mknod $1- $2 $3 $4 && | ||
210 | chown `getuser $5`:`getgid $6` $1- && | ||
211 | chmod $7 $1- && | ||
212 | mv $1- $1 | ||
213 | fi | ||
214 | fi | ||
215 | } | ||
216 | |||
217 | symlink () { | ||
218 | if [ "$opt_v" ]; then | ||
219 | if [ "$opt_d" ]; then | ||
220 | echo "delete $1" | ||
221 | else | ||
222 | echo "create $1 -> $2" | ||
223 | fi | ||
224 | fi | ||
225 | [ ! "$opt_n" ] && rm -f $1 && | ||
226 | [ ! "$opt_d" ] && ln -s $2 $1 | ||
227 | } | ||
228 | |||
229 | math () { | ||
230 | eval echo "\$(($*))" | ||
231 | } | ||
232 | |||
233 | index () { | ||
234 | eval "I=\${1%$2*}" | ||
235 | eval echo "\${#I}" | ||
236 | } | ||
237 | |||
238 | suffix () { | ||
239 | eval echo "\${1#$2}" | ||
240 | } | ||
241 | |||
242 | strip () { | ||
243 | eval echo "\${1% $2 *} \${1#* $2 }" | ||
244 | } | ||
245 | |||
246 | first () { | ||
247 | eval echo "\${1:0:1}" | ||
248 | } | ||
249 | |||
250 | second () { | ||
251 | eval echo "\${1:1:1}" | ||
252 | } | ||
253 | |||
254 | #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---# | ||
255 | |||
256 | Major () { | ||
257 | device=$2 | ||
258 | if [ "$opt_d" ]; then | ||
259 | echo -1 | ||
260 | else | ||
261 | eval echo \${major_$1:-\${device:?\"unknown major number for $1\"}} | ||
262 | fi | ||
263 | } | ||
264 | |||
265 | cvt () { | ||
266 | while [ "$#" -ne "0" ]; do | ||
267 | case "$1" in | ||
268 | mem|tty|ttyp|cua|cub) ;; | ||
269 | hd) (for d in a b c d e f g h ; do | ||
270 | echo -n hd$d " " | ||
271 | done) ; echo | ||
272 | ;; | ||
273 | ide0) echo hda hdb ;; | ||
274 | ide1) echo hdc hdd ;; | ||
275 | ide2) echo hde hdf ;; | ||
276 | ide3) echo hdg hdh ;; | ||
277 | sd) echo sda sdb sdc sdd ;; | ||
278 | sg) echo sg ;; | ||
279 | sr) echo scd0 ;; | ||
280 | st) echo st0 ;; | ||
281 | xd) echo xda xdb ;; | ||
282 | ad) echo ada adb ;; | ||
283 | fd) echo fd0 fd1 ;; | ||
284 | lp) echo lp ;; | ||
285 | mt) echo ftape ;; | ||
286 | loop) echo loop ;; | ||
287 | md) echo md ;; | ||
288 | ibcs2) echo ibcs2 ;; | ||
289 | tpqic02) echo qic ;; | ||
290 | sound) echo audio ;; | ||
291 | logiscan) echo logiscan ;; | ||
292 | ac4096) echo ac4096 ;; | ||
293 | hw) echo helloworld ;; | ||
294 | sbpcd | sbpcd[123]) echo $1 ;; | ||
295 | joystick) echo js ;; | ||
296 | apm_bios) echo apm ;; | ||
297 | dcf) echo dcf ;; | ||
298 | aztcd) echo aztcd ;; | ||
299 | pcmcia) ;; # taken care of by its own driver | ||
300 | ttyC) echo cyclades ;; | ||
301 | isdn) echo isdnmodem isdnbri dcbri ;; | ||
302 | vcs) ;; | ||
303 | pty) echo pty ;; | ||
304 | misc) echo misc ;; | ||
305 | fb) echo fb ;; | ||
306 | netlink) echo netlink ;; | ||
307 | hamradio) echo hamradio ;; | ||
308 | snd) ;; | ||
309 | ptm) ;; | ||
310 | pts) ;; | ||
311 | ttyS) echo ttyS0 ttyS1 ttyS2 ttyS3 ;; | ||
312 | *) echo "$0: don't know what \"$1\" is" >&2 ;; | ||
313 | esac | ||
314 | shift | ||
315 | done | ||
316 | } | ||
317 | |||
318 | for arg; do | ||
319 | case $arg in | ||
320 | generic|generic-nopty) | ||
321 | $0 $opts std | ||
322 | $0 $opts fd | ||
323 | if [ $arg = "generic" ]; then $0 $opts pty; fi; | ||
324 | if [ $arg = "generic-nopty" ]; then $0 $opts ptmx; fi; | ||
325 | $0 $opts console | ||
326 | $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 | ||
327 | $0 $opts lp | ||
328 | $0 $opts parport | ||
329 | $0 $opts busmice | ||
330 | $0 $opts fb | ||
331 | $0 $opts ram | ||
332 | $0 $opts loop | ||
333 | $0 $opts fd0 fd1 | ||
334 | $0 $opts hda hdb hdc hdd hde hdf hdg hdh | ||
335 | $0 $opts sda sdb sdc sdd | ||
336 | $0 $opts sg0 sg1 sg2 sg3 | ||
337 | $0 $opts scd0 scd1 scd2 scd3 | ||
338 | $0 $opts audio | ||
339 | $0 $opts rtc | ||
340 | $0 $opts ppp | ||
341 | ;; | ||
342 | std) | ||
343 | makedev mem c 1 1 $kmem | ||
344 | makedev kmem c 1 2 $kmem | ||
345 | makedev null c 1 3 $public | ||
346 | makedev port c 1 4 $kmem | ||
347 | makedev zero c 1 5 $public | ||
348 | symlink core $procfs/kcore | ||
349 | makedev full c 1 7 $public | ||
350 | makedev random c 1 8 $readable | ||
351 | makedev urandom c 1 9 $readable | ||
352 | makedev aio c 1 10 $readable | ||
353 | makedev tty c 5 0 $tty | ||
354 | ;; | ||
355 | ram) | ||
356 | for i in 0 1 2 3; do | ||
357 | makedev ram$i b 1 $i $disk | ||
358 | done | ||
359 | ln -sf ram0 ram | ||
360 | ;; | ||
361 | console) | ||
362 | major=`Major vcs 7` | ||
363 | makedev tty0 c 4 0 $cons | ||
364 | makedev console c 5 1 $cons | ||
365 | [ "$major" ] && makedev vcs0 c $major 0 $vcs | ||
366 | [ "$major" ] && makedev vcsa c $major 128 $vcs | ||
367 | |||
368 | line=1 | ||
369 | while [ $line -le $MAXVT -a $line -le 63 ]; do | ||
370 | makedev tty$line c 4 $line $tty | ||
371 | [ "$major" ] && makedev vcs$line c $major $line $vcs | ||
372 | [ "$major" ] && makedev vcsa$line c $major `math $line + 128` $vcs | ||
373 | line=`math $line + 1` | ||
374 | done | ||
375 | ;; | ||
376 | fd) | ||
377 | symlink fd $procfs/self/fd | ||
378 | symlink stdin fd/0 | ||
379 | symlink stdout fd/1 | ||
380 | symlink stderr fd/2 | ||
381 | ;; | ||
382 | fd[0-7]) | ||
383 | major=`Major fd 2` || continue | ||
384 | base=`suffix $arg fd` | ||
385 | if [ $base -ge 4 ] | ||
386 | then | ||
387 | base=`math $base + 124` | ||
388 | fi | ||
389 | makedev ${arg} b $major $base $floppy | ||
390 | makedev ${arg}d360 b $major `math $base + 4` $floppy | ||
391 | makedev ${arg}h1200 b $major `math $base + 8` $floppy | ||
392 | makedev ${arg}u360 b $major `math $base + 12` $floppy | ||
393 | makedev ${arg}u720 b $major `math $base + 16` $floppy | ||
394 | makedev ${arg}h360 b $major `math $base + 20` $floppy | ||
395 | makedev ${arg}h720 b $major `math $base + 24` $floppy | ||
396 | makedev ${arg}u1440 b $major `math $base + 28` $floppy | ||
397 | makedev ${arg}u2880 b $major `math $base + 32` $floppy | ||
398 | makedev ${arg}CompaQ b $major `math $base + 36` $floppy | ||
399 | makedev ${arg}h1440 b $major `math $base + 40` $floppy | ||
400 | makedev ${arg}u1680 b $major `math $base + 44` $floppy | ||
401 | makedev ${arg}h410 b $major `math $base + 48` $floppy | ||
402 | makedev ${arg}u820 b $major `math $base + 52` $floppy | ||
403 | makedev ${arg}h1476 b $major `math $base + 56` $floppy | ||
404 | makedev ${arg}u1722 b $major `math $base + 60` $floppy | ||
405 | makedev ${arg}h420 b $major `math $base + 64` $floppy | ||
406 | makedev ${arg}u830 b $major `math $base + 68` $floppy | ||
407 | makedev ${arg}h1494 b $major `math $base + 72` $floppy | ||
408 | makedev ${arg}u1743 b $major `math $base + 76` $floppy | ||
409 | makedev ${arg}h880 b $major `math $base + 80` $floppy | ||
410 | makedev ${arg}u1040 b $major `math $base + 84` $floppy | ||
411 | makedev ${arg}u1120 b $major `math $base + 88` $floppy | ||
412 | makedev ${arg}h1600 b $major `math $base + 92` $floppy | ||
413 | makedev ${arg}u1760 b $major `math $base + 96` $floppy | ||
414 | makedev ${arg}u1920 b $major `math $base + 100` $floppy | ||
415 | makedev ${arg}u3200 b $major `math $base + 104` $floppy | ||
416 | makedev ${arg}u3520 b $major `math $base + 108` $floppy | ||
417 | makedev ${arg}u3840 b $major `math $base + 112` $floppy | ||
418 | makedev ${arg}u1840 b $major `math $base + 116` $floppy | ||
419 | makedev ${arg}u800 b $major `math $base + 120` $floppy | ||
420 | makedev ${arg}u1600 b $major `math $base + 124` $floppy | ||
421 | ;; | ||
422 | hamradio) | ||
423 | $0 scc | ||
424 | $0 bc | ||
425 | ;; | ||
426 | scc) | ||
427 | for unit in 0 1 2 3 4 5 6 7 | ||
428 | do | ||
429 | makedev scc$unit c 34 $unit $system | ||
430 | done | ||
431 | ;; | ||
432 | bc) | ||
433 | for unit in 0 1 2 3 | ||
434 | do | ||
435 | makedev bc$unit c 51 $unit $system | ||
436 | done | ||
437 | ;; | ||
438 | nvram) | ||
439 | makedev nvram c 10 144 $kmem | ||
440 | ;; | ||
441 | tty[1-9]|tty[1-5][0-9]|tty[6][0-3]) | ||
442 | line=`suffix $arg tty` | ||
443 | makedev tty$line c 4 $line $tty | ||
444 | ;; | ||
445 | ttyS[0-9]|ttyS[1-5][0-9]|ttyS[6][0-3]) | ||
446 | line=`suffix $arg ttyS` | ||
447 | minor=`math 64 + $line` | ||
448 | makedev ttyS$line c 4 $minor $dialout | ||
449 | ;; | ||
450 | pty[a-ep-z]) | ||
451 | bank=`suffix $arg pty` | ||
452 | base=`index pqrstuvwxyzabcde $bank` | ||
453 | base=`math $base \* 16` | ||
454 | for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f | ||
455 | do | ||
456 | j=`index 0123456789abcdef $i` | ||
457 | makedev pty$bank$i c 2 `math $base + $j` $tty | ||
458 | makedev tty$bank$i c 3 `math $base + $j` $tty | ||
459 | done | ||
460 | ;; | ||
461 | pty) | ||
462 | ptysufs="" | ||
463 | for i in p q r s t u v w x y z a b c d e | ||
464 | do | ||
465 | ptysufs="$ptysufs pty$i" | ||
466 | done | ||
467 | $0 $opts $ptysufs ptmx | ||
468 | ;; | ||
469 | ptmx) | ||
470 | # master pty multiplexer for 2.1 kernels | ||
471 | makedev ptmx c 5 2 $tty | ||
472 | ;; | ||
473 | cyclades|ttyC) | ||
474 | major1=`Major ttyC 19` || continue | ||
475 | #major2=`Major cub 20` || continue | ||
476 | for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \ | ||
477 | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | ||
478 | do | ||
479 | makedev ttyC$i c $major1 $i $tty | ||
480 | #makedev cub$i c $major2 $i $dialout | ||
481 | done | ||
482 | ;; | ||
483 | stallion|ttyE) | ||
484 | major1=`Major ttyE 24` || continue | ||
485 | #major2=`Major cue 25` || continue | ||
486 | majorc=28 | ||
487 | minor=0 | ||
488 | until [ $minor -gt 256 ] | ||
489 | do | ||
490 | makedev ttyE$minor c $major1 $minor $dialout | ||
491 | #makedev cue$minor c $major2 $minor $dialout | ||
492 | minor=`math minor + 1` | ||
493 | done | ||
494 | for i in 0 1 2 3 | ||
495 | do | ||
496 | makedev staliomem$i c $majorc $i $private | ||
497 | done | ||
498 | ;; | ||
499 | chase|ttyH) | ||
500 | major1=`Major ttyH 17` || continue | ||
501 | #major2=`Major cuh 18` || continue | ||
502 | minor=0 | ||
503 | until [ $minor -gt 16 ] # tell me if 16 is wrong | ||
504 | do | ||
505 | makedev ttyH$minor c $major1 $minor $dialout | ||
506 | #makedev cuh$minor c $major2 $minor $dialout | ||
507 | minor=`math minor + 1` | ||
508 | done | ||
509 | ;; | ||
510 | rocketport|ttyR) | ||
511 | major1=`Major ttyR 46` || continue | ||
512 | #major2=`Major cur 47` || continue | ||
513 | minor=0 | ||
514 | until [ $minor -gt 64 ] # tell me if 64 is wrong | ||
515 | do | ||
516 | makedev ttyR$minor c $major1 $minor $dialout | ||
517 | #makedev cur$minor c $major2 $minor $dialout | ||
518 | minor=`math minor + 1` | ||
519 | done | ||
520 | ;; | ||
521 | ttyV) | ||
522 | major1=`Major ttyV 105` || continue | ||
523 | #major2=`Major cuv 106` || continue | ||
524 | minor=0 | ||
525 | until [ $minor -gt 16 ] # tell me if 16 is wrong | ||
526 | do | ||
527 | makedev ttyV$minor c $major1 $minor $dialout | ||
528 | #makedev cuv$minor c $major2 $minor $dialout | ||
529 | minor=`math minor + 1` | ||
530 | done | ||
531 | ;; | ||
532 | digi|ttyD) | ||
533 | major1=`Major ttyD 22` || continue | ||
534 | #major2=`Major cud 23` || continue | ||
535 | minor=0 | ||
536 | until [ $minor -gt 16 ] # tell me if 16 is wrong | ||
537 | do | ||
538 | makedev ttyD$minor c $major1 $minor $dialout | ||
539 | #makedev cud$minor c $major2 $minor $dialout | ||
540 | minor=`math minor + 1` | ||
541 | done | ||
542 | ;; | ||
543 | specialix|ttyX) | ||
544 | major1=`Major ttyX 32` || continue | ||
545 | #major2=`Major cux 33` || continue | ||
546 | minor=0 | ||
547 | until [ $minor -gt 16 ] # tell me if 16 is wrong | ||
548 | do | ||
549 | makedev ttyX$minor c $major1 $minor $dialout | ||
550 | #makedev cux$minor c $major2 $minor $dialout | ||
551 | minor=`math minor + 1` | ||
552 | done | ||
553 | ;; | ||
554 | specialixIO8|ttyW) | ||
555 | major1=`Major ttyW 75` || continue | ||
556 | #major2=`Major cuw 76` || continue | ||
557 | minor=0 | ||
558 | until [ $minor -gt 16 ] # tell me if 16 is wrong | ||
559 | do | ||
560 | makedev ttyW$minor c $major1 $minor $dialout | ||
561 | #makedev cuw$minor c $major2 $minor $dialout | ||
562 | minor=`math minor + 1` | ||
563 | done | ||
564 | ;; | ||
565 | PAM|ttyM) | ||
566 | major1=`Major ttyM 79` || continue | ||
567 | #major2=`Major cum 80` || continue | ||
568 | minor=0 | ||
569 | until [ $minor -gt 16 ] # tell me if 16 is wrong | ||
570 | do | ||
571 | makedev ttyM$minor c $major1 $minor $dialout | ||
572 | #makedev cum$minor c $major2 $minor $dialout | ||
573 | minor=`math minor + 1` | ||
574 | done | ||
575 | ;; | ||
576 | riscom|ttyL) | ||
577 | major=`Major ttyL 48` || continue | ||
578 | minor=0 | ||
579 | until [ $minor -gt 16 ] # tell me if 16 is wrong | ||
580 | do | ||
581 | makedev ttyL$minor c $major $minor $dialout | ||
582 | minor=`math minor + 1` | ||
583 | done | ||
584 | ;; | ||
585 | computone|ttyF) | ||
586 | major=`Major ttyF 71` || continue | ||
587 | #major2=`Major cuf 72` || continue | ||
588 | minor=0 | ||
589 | until [ $minor -gt 255 ] | ||
590 | do | ||
591 | makedev ttyF$minor c $major $minor $dialout | ||
592 | #makedev cuf$minor c $major2 $minor $dialout | ||
593 | minor=`math minor + 1` | ||
594 | done | ||
595 | major=73 | ||
596 | for i in 0 4 8 12 | ||
597 | do | ||
598 | makedev ip2ipl$i c $major $i $private | ||
599 | makedev ip2stat$i c $major `math $i + 1` $private | ||
600 | done | ||
601 | ;; | ||
602 | ESP|ttyP) | ||
603 | major=`Major ttyP 57` || continue | ||
604 | #major2=`Major cup 58` || continue | ||
605 | minor=0 | ||
606 | until [ $minor -gt 4 ] # tell me if 4 is wrong | ||
607 | do | ||
608 | makedev ttyP$minor c $major $minor $dialout | ||
609 | #makedev cup$minor c $major2 $minor $dialout | ||
610 | minor=`math minor + 1` | ||
611 | done | ||
612 | ;; | ||
613 | COMX|comx) | ||
614 | major=`Major comx 88` || continue | ||
615 | minor=0 | ||
616 | until [ $minor -gt 4 ] # tell me if 4 is wrong | ||
617 | do | ||
618 | makedev comx$minor c $major $minor $private | ||
619 | minor=`math minor + 1` | ||
620 | done | ||
621 | ;; | ||
622 | isdnmodem|ttyI) | ||
623 | major1=`Major ttyI 43` || continue | ||
624 | #major2=`Major cui 44` || continue | ||
625 | minor=0 | ||
626 | until [ $minor -gt 63 ] | ||
627 | do | ||
628 | makedev ttyI$minor c $major1 $minor $dialout | ||
629 | #makedev cui$minor c $major2 $minor $dialout | ||
630 | minor=`math minor + 1` | ||
631 | done | ||
632 | ;; | ||
633 | isdnbri) | ||
634 | major=45 | ||
635 | minor=0 | ||
636 | until [ $minor -gt 63 ] | ||
637 | do | ||
638 | makedev isdn$minor c $major $minor $private | ||
639 | makedev isdnctrl$minor c $major `math $minor + 64` $private | ||
640 | makedev ippp$minor c $major `math $minor + 128` $private | ||
641 | minor=`math minor + 1` | ||
642 | done | ||
643 | makedev isdninfo c $major 255 $private | ||
644 | ;; | ||
645 | dcbri) | ||
646 | major=52 | ||
647 | for i in 0 1 2 3 | ||
648 | do | ||
649 | makedev dcbri$i c $major $i $private | ||
650 | done | ||
651 | ;; | ||
652 | capi) | ||
653 | major=68 | ||
654 | makedev capi20 c $major 0 $private | ||
655 | for i in 0 1 2 3 4 5 6 7 8 9 | ||
656 | do | ||
657 | makedev capi20.0$i c $major `math $i + 1` $private | ||
658 | done | ||
659 | for i in 10 11 12 13 14 15 16 17 18 19 | ||
660 | do | ||
661 | makedev capi20.$i c $major `math $i + 1` $private | ||
662 | done | ||
663 | ;; | ||
664 | fb) | ||
665 | for i in 0 1 2 3 4 5 6 7 | ||
666 | do | ||
667 | makedev fb$i c 29 $i $cons | ||
668 | done | ||
669 | ;; | ||
670 | netlink) | ||
671 | makedev route c 36 0 $coda | ||
672 | makedev skip c 36 1 $coda | ||
673 | makedev fwmonitor c 36 3 $coda | ||
674 | ;; | ||
675 | lp|par) | ||
676 | major=`Major lp 6` || continue | ||
677 | makedev lp0 c $major 0 $printer | ||
678 | makedev lp1 c $major 1 $printer | ||
679 | makedev lp2 c $major 2 $printer | ||
680 | makedev lp3 c $major 3 $printer | ||
681 | ;; | ||
682 | parport) | ||
683 | major=`Major parport 99` || continue | ||
684 | makedev ${arg}0 c $major 0 $printer | ||
685 | makedev ${arg}1 c $major 1 $printer | ||
686 | makedev ${arg}2 c $major 2 $printer | ||
687 | makedev ${arg}3 c $major 3 $printer | ||
688 | ;; | ||
689 | slm) | ||
690 | major=`Major slm 28` || continue | ||
691 | for i in 0 1 2 3 | ||
692 | do | ||
693 | makedev slm c $major $i $printer | ||
694 | done | ||
695 | ;; | ||
696 | busmice) | ||
697 | major=`Major mouse 10` || continue | ||
698 | makedev logibm c $major 0 $mouse | ||
699 | makedev psaux c $major 1 $mouse | ||
700 | makedev inportbm c $major 2 $mouse | ||
701 | makedev atibm c $major 3 $mouse | ||
702 | makedev jbm c $major 4 $mouse | ||
703 | ;; | ||
704 | misc) | ||
705 | major=`Major mouse 10` || continue | ||
706 | makedev logibm c $major 0 $mouse | ||
707 | makedev psaux c $major 1 $mouse | ||
708 | makedev inportbm c $major 2 $mouse | ||
709 | makedev atibm c $major 3 $mouse | ||
710 | makedev jbm c $major 4 $mouse | ||
711 | makedev amigamouse c $major 4 $mouse | ||
712 | makedev atarimouse c $major 5 $mouse | ||
713 | makedev sunmouse c $major 6 $mouse | ||
714 | makedev amigamouse1 c $major 7 $mouse | ||
715 | makedev smouse c $major 8 $mouse | ||
716 | makedev pc110pad c $major 9 $mouse | ||
717 | makedev adbmouse c $major 10 $mouse | ||
718 | makedev beep c $major 128 $mouse | ||
719 | makedev modreq c $major 129 $mouse | ||
720 | makedev watchdog c $major 130 $mouse | ||
721 | makedev temperature c $major 131 $mouse | ||
722 | makedev hwtrap c $major 132 $mouse | ||
723 | makedev exttrp c $major 133 $mouse | ||
724 | makedev apm_bios c $major 134 $mouse | ||
725 | makedev rtc c $major 135 $mouse | ||
726 | makedev openprom c $major 139 $mouse | ||
727 | makedev relay8 c $major 140 $mouse | ||
728 | makedev relay16 c $major 141 $mouse | ||
729 | makedev msr c $major 142 $mouse | ||
730 | makedev pciconf c $major 143 $mouse | ||
731 | makedev nvram c $major 144 $mouse | ||
732 | makedev hfmodem c $major 145 $mouse | ||
733 | makedev led c $major 151 $mouse | ||
734 | makedev mergemem c $major 153 $mouse | ||
735 | makedev pmu c $major 154 $mouse | ||
736 | ;; | ||
737 | rtc) | ||
738 | major=`Major mouse 10` || continue | ||
739 | makedev rtc c $major 135 $mouse | ||
740 | ;; | ||
741 | joystick) | ||
742 | major=`Major Joystick` || continue | ||
743 | makedev js0 c 15 0 $mouse | ||
744 | makedev js1 c 15 1 $mouse | ||
745 | makedev djs0 c 15 128 $mouse | ||
746 | makedev djs1 c 15 129 $mouse | ||
747 | ;; | ||
748 | ed[a-b]) | ||
749 | major=`Major ed 36` || continue | ||
750 | unit=`suffix $arg ed` | ||
751 | base=`index ab $unit` | ||
752 | base=`math $base \* 64` | ||
753 | makedev ed$unit b $major $base $disk | ||
754 | for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20 | ||
755 | do | ||
756 | makedev ed$unit$part b $major `math $base + $part` $disk | ||
757 | done | ||
758 | ;; | ||
759 | hd[a-b]) | ||
760 | major=`Major ide0 3` | ||
761 | unit=`suffix $arg hd` | ||
762 | base=`index ab $unit` | ||
763 | base=`math $base \* 64` | ||
764 | makedev hd$unit b $major $base $disk | ||
765 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ||
766 | do | ||
767 | makedev hd$unit$part b $major `math $base + $part` $disk | ||
768 | done | ||
769 | ;; | ||
770 | hd[c-d]) | ||
771 | major=`Major ide1 22` || continue | ||
772 | unit=`suffix $arg hd` | ||
773 | base=`index cd $unit` | ||
774 | base=`math $base \* 64` | ||
775 | makedev hd$unit b $major $base $disk | ||
776 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ||
777 | do | ||
778 | makedev hd$unit$part b $major `expr $base + $part` $disk | ||
779 | done | ||
780 | ;; | ||
781 | hd[e-f]) | ||
782 | major=`Major ide2 33` || continue | ||
783 | unit=`suffix $arg hd` | ||
784 | base=`index ef $unit` | ||
785 | base=`math $base \* 64` | ||
786 | makedev hd$unit b $major $base $disk | ||
787 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ||
788 | do | ||
789 | makedev hd$unit$part b $major `expr $base + $part` $disk | ||
790 | done | ||
791 | ;; | ||
792 | hd[g-h]) | ||
793 | major=`Major ide3 34` || continue | ||
794 | unit=`suffix $arg hd` | ||
795 | base=`index gh $unit` | ||
796 | base=`math $base \* 64` | ||
797 | makedev hd$unit b $major $base $disk | ||
798 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ||
799 | do | ||
800 | makedev hd$unit$part b $major `expr $base + $part` $disk | ||
801 | done | ||
802 | ;; | ||
803 | hd[i-j]) | ||
804 | major=`Major ide4 56` || continue | ||
805 | unit=`suffix $arg hd` | ||
806 | base=`index gh $unit` | ||
807 | base=`math $base \* 64` | ||
808 | makedev hd$unit b $major $base $disk | ||
809 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ||
810 | do | ||
811 | makedev hd$unit$part b $major `expr $base + $part` $disk | ||
812 | done | ||
813 | ;; | ||
814 | hd[k-l]) | ||
815 | major=`Major ide4 57` || continue | ||
816 | unit=`suffix $arg hd` | ||
817 | base=`index gh $unit` | ||
818 | base=`math $base \* 64` | ||
819 | makedev hd$unit b $major $base $disk | ||
820 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ||
821 | do | ||
822 | makedev hd$unit$part b $major `expr $base + $part` $disk | ||
823 | done | ||
824 | ;; | ||
825 | ht) | ||
826 | major=`Major ht0 37` || continue | ||
827 | makedev ht0 c $major 0 $tape | ||
828 | makedev ht1 c $major 1 $tape | ||
829 | makedev nht0 c $major 128 $tape | ||
830 | makedev nht1 c $major 129 $tape | ||
831 | ;; | ||
832 | pt) | ||
833 | major=`Major pt 96` || continue | ||
834 | for i in 0 1 2 3 | ||
835 | do | ||
836 | makedev pt$i c $major $i $tape | ||
837 | makedev npt$i c $major `math $i + 128` $tape | ||
838 | done | ||
839 | ;; | ||
840 | xd[a-d]) | ||
841 | major=`Major xd 13` || continue | ||
842 | unit=`suffix $arg xd` | ||
843 | base=`index abcd $unit` | ||
844 | base=`math $base \* 64` | ||
845 | makedev xd$unit b $major $base $disk | ||
846 | for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20 | ||
847 | do | ||
848 | makedev xd$unit$part b $major `expr $base + $part` $disk | ||
849 | done | ||
850 | ;; | ||
851 | sd[a-z]) | ||
852 | major=`Major sd 8` || continue | ||
853 | unit=`suffix $arg sd` | ||
854 | base=`index abcdefghijklmnopqrstuvwxyz $unit` | ||
855 | base=`math $base \* 16` | ||
856 | if [ $base -lt 256 ]; then | ||
857 | major=8 | ||
858 | else | ||
859 | major=65 | ||
860 | base=`math $base \- 256` | ||
861 | fi | ||
862 | makedev sd$unit b $major $base $disk | ||
863 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ||
864 | do | ||
865 | minor=`expr $base + $part` | ||
866 | makedev sd$unit$part b $major $minor $disk | ||
867 | done | ||
868 | ;; | ||
869 | sd[a-d][a-z]) | ||
870 | unit=`suffix $arg sd` | ||
871 | unitmaj=`first $unit` | ||
872 | unitmin=`second $unit` | ||
873 | basemaj=`index Xabcd $unitmaj` | ||
874 | basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin` | ||
875 | basemaj=`math $basemaj \* 416` | ||
876 | basemin=`math $basemin \* 16` | ||
877 | base=`math $basemaj + $basemin` | ||
878 | basemaj=`math $base / 256` | ||
879 | base=`math $base % 256` | ||
880 | major=`math basemaj \+ 64` | ||
881 | if [ $major -gt 71 ]; then | ||
882 | echo "$0: don't know how to make device \"$arg\"" >&2 | ||
883 | exit 0 | ||
884 | fi | ||
885 | makedev sd$unit b $major $base $disk | ||
886 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ||
887 | do | ||
888 | minor=`expr $base + $part` | ||
889 | makedev sd$unit$part b $major $minor $disk | ||
890 | done | ||
891 | ;; | ||
892 | ad[a-p]) | ||
893 | major=`Major ad 28` || continue | ||
894 | unit=`suffix $arg ad` | ||
895 | base=`index abcdefghijklmnop $unit` | ||
896 | base=`math $base \* 16` | ||
897 | makedev ad$unit b $major $base $disk | ||
898 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ||
899 | do | ||
900 | minor=`expr $base + $part` | ||
901 | makedev ad$unit$part b $major $minor $disk | ||
902 | done | ||
903 | ;; | ||
904 | dac960) | ||
905 | [ -d rd ] || { | ||
906 | mkdir rd | ||
907 | chown root.root rd | ||
908 | chmod 755 rd | ||
909 | } | ||
910 | for ctr in 0 1 2 3 4 5 6 7 | ||
911 | do | ||
912 | major=`math 48 + $ctr` | ||
913 | minor=0 | ||
914 | for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \ | ||
915 | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ||
916 | do | ||
917 | makedev rd/c${ctr}d${ld} b $major $minor $disk | ||
918 | minor=`math minor + 1` | ||
919 | for part in 1 2 3 4 5 6 7 | ||
920 | do | ||
921 | makedev rd/c${ctr}d${ld}p$part b $major $minor $disk | ||
922 | minor=`math minor + 1` | ||
923 | done | ||
924 | done | ||
925 | done | ||
926 | ;; | ||
927 | ida) | ||
928 | [ -d ida ] || { | ||
929 | mkdir ida | ||
930 | chown root.root ida | ||
931 | chmod 755 ida | ||
932 | } | ||
933 | for ctr in 0 1 2 # 3 4 5 6 7 | ||
934 | do | ||
935 | major=`math 72 + $ctr` | ||
936 | minor=0 | ||
937 | for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ||
938 | do | ||
939 | makedev ida/c${ctr}d${ld} b $major $minor $disk | ||
940 | minor=`math minor + 1` | ||
941 | for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ||
942 | do | ||
943 | makedev ida/c${ctr}d${ld}p$part b $major $minor $disk | ||
944 | minor=`math minor + 1` | ||
945 | done | ||
946 | done | ||
947 | done | ||
948 | ;; | ||
949 | rom) | ||
950 | major=`Major rom 31` | ||
951 | for i in 0 1 2 3 4 5 6 7 | ||
952 | do | ||
953 | makedev rom$i b $major $i $disk | ||
954 | makedev rrom$i b $major `math $i +8` $disk | ||
955 | makedev flash$i b $major `math $i +16` $disk | ||
956 | makedev rflash$i b $major `math $i +24` $disk | ||
957 | done | ||
958 | ;; | ||
959 | nb) | ||
960 | major=`Major nbd 43` || continue | ||
961 | minor=0 | ||
962 | while [ $minor -lt 128 ] ; do | ||
963 | makedev nb$minor b $major $minor $disk | ||
964 | minor=`math $minor + 1` | ||
965 | done | ||
966 | ;; | ||
967 | loop) | ||
968 | major=`Major loop` || continue | ||
969 | for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ||
970 | do | ||
971 | makedev loop$part b $major $part $disk | ||
972 | done | ||
973 | ;; | ||
974 | md) | ||
975 | major=`Major md` || continue | ||
976 | for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ||
977 | do | ||
978 | makedev md$part b $major $part $disk | ||
979 | done | ||
980 | ;; | ||
981 | st[0-7]) | ||
982 | major=`Major st 9` | ||
983 | unit=`suffix $arg st` | ||
984 | makedev st${unit} c $major $unit $tape | ||
985 | makedev nst${unit} c $major `math 128 + $unit` $tape | ||
986 | |||
987 | makedev st${unit}l c $major `math 32 + $unit` $tape | ||
988 | makedev nst${unit}l c $major `math 160 + $unit` $tape | ||
989 | |||
990 | makedev st${unit}m c $major `math 64 + $unit` $tape | ||
991 | makedev nst${unit}m c $major `math 192 + $unit` $tape | ||
992 | |||
993 | makedev st${unit}a c $major `math 96 + $unit` $tape | ||
994 | makedev nst${unit}a c $major `math 224 + $unit` $tape | ||
995 | ;; | ||
996 | qic) | ||
997 | major=`Major tpqic02 12` | ||
998 | makedev ntpqic11 c $major 2 $tape | ||
999 | makedev tpqic11 c $major 3 $tape | ||
1000 | makedev ntpqic24 c $major 4 $tape | ||
1001 | makedev tpqic24 c $major 5 $tape | ||
1002 | makedev ntpqic120 c $major 6 $tape | ||
1003 | makedev tpqic120 c $major 7 $tape | ||
1004 | makedev ntpqic150 c $major 8 $tape | ||
1005 | makedev tpqic150 c $major 9 $tape | ||
1006 | makedev rmt8 c $major 6 $tape | ||
1007 | makedev rmt16 c $major 8 $tape | ||
1008 | makedev tape-d c $major 136 $tape | ||
1009 | makedev tape-reset c $major 255 $tape | ||
1010 | major=`Major qft 27` | ||
1011 | for i in 0 1 2 3 | ||
1012 | do | ||
1013 | makedev qft$i c $major $i $tape | ||
1014 | makedev nqft$i c $major `math $i + 4` $tape | ||
1015 | makedev zqft$i c $major `math $i + 16` $tape | ||
1016 | makedev nzqft$i c $major `math $i + 20` $tape | ||
1017 | makedev rawqft$i c $major `math $i + 32` $tape | ||
1018 | makedev nrawqft$i c $major `math $i + 36` $tape | ||
1019 | done | ||
1020 | ;; | ||
1021 | ftape) | ||
1022 | major=`Major mt 27` || continue | ||
1023 | for unit in 0 1 2 3 | ||
1024 | do | ||
1025 | makedev rft$unit c $major $unit $tape | ||
1026 | makedev nrft$unit c $major `math $unit + 4` $tape | ||
1027 | done | ||
1028 | symlink ftape rft0 | ||
1029 | symlink nftape nrft0 | ||
1030 | ;; | ||
1031 | scd|scd-all) | ||
1032 | major=`Major sr 11` || continue | ||
1033 | for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ||
1034 | do | ||
1035 | makedev scd$unit b $major $unit $cdrom | ||
1036 | done | ||
1037 | ;; | ||
1038 | cfs0) | ||
1039 | makedev cfs0 c 67 0 $coda | ||
1040 | ;; | ||
1041 | scd[0-9]|scd[0-1][0-9]) | ||
1042 | major=`Major sr 11` || continue | ||
1043 | unit=`suffix $arg scd` | ||
1044 | makedev scd$unit b $major $unit $cdrom | ||
1045 | ;; | ||
1046 | ttyI[0-9]|ttyI[1-5][0-9]|ttyI[6][0-3]) | ||
1047 | major=43 | ||
1048 | unit=`suffix $arg ttyI` | ||
1049 | makedev ttyI$unit c $major $unit $dialout | ||
1050 | ;; | ||
1051 | ippp[0-9]|ippp[1-5][0-9]|ippp[6][0-3]) | ||
1052 | major=45 | ||
1053 | unit=`suffix $arg ippp` | ||
1054 | minor=`math $unit + 128` | ||
1055 | makedev ippp$unit c $major $minor $dialout | ||
1056 | ;; | ||
1057 | isdn[0-9]|isdn[1-5][0-9]|isdn[6][0-3]) | ||
1058 | major=45 | ||
1059 | unit=`suffix $arg isdn` | ||
1060 | minor=`math $unit + 0` | ||
1061 | makedev isdn$unit c $major $minor $dialout | ||
1062 | ;; | ||
1063 | isdnctrl[0-9]|isdnctrl[1-5][0-9]|isdnctrl[6][0-3]) | ||
1064 | major=45 | ||
1065 | unit=`suffix $arg isdnctrl` | ||
1066 | minor=`math $unit + 64` | ||
1067 | makedev isdnctrl$unit c $major $minor $dialout | ||
1068 | ;; | ||
1069 | isdninfo) | ||
1070 | makedev isdninfo c 45 255 $dialout | ||
1071 | ;; | ||
1072 | isdn-tty) | ||
1073 | major=43 | ||
1074 | for unit in 0 1 2 3 4 5 6 7 | ||
1075 | do | ||
1076 | makedev ttyI$unit c $major $unit $dialout | ||
1077 | done | ||
1078 | ;; | ||
1079 | isdn-ippp) | ||
1080 | major=45 | ||
1081 | for unit in 0 1 2 3 4 5 6 7 | ||
1082 | do | ||
1083 | makedev ippp$unit c $major `math $unit + 128` $dialout | ||
1084 | done | ||
1085 | ;; | ||
1086 | isdn-io) | ||
1087 | for unit in 0 1 2 3 4 5 6 7 | ||
1088 | do | ||
1089 | makedev isdn$unit c 45 $unit $dialout | ||
1090 | makedev isdnctrl$unit c 45 `math $unit + 64` $dialout | ||
1091 | makedev ippp$unit c 45 `math $unit + 128` $dialout | ||
1092 | done | ||
1093 | makedev isdninfo c 45 255 $dialout | ||
1094 | ;; | ||
1095 | sonycd) | ||
1096 | major=`Major cdu31a` || continue | ||
1097 | makedev $arg b $major 0 $cdrom | ||
1098 | ;; | ||
1099 | mcd) | ||
1100 | major=`Major mcd 23` || continue | ||
1101 | makedev $arg b $major 0 $cdrom | ||
1102 | ;; | ||
1103 | mcdx) | ||
1104 | major=`Major mcdx 20` || continue | ||
1105 | makedev $arg b $major 0 $cdrom | ||
1106 | ;; | ||
1107 | cdu535) | ||
1108 | makedev $arg b 24 0 $cdrom | ||
1109 | ;; | ||
1110 | lmscd) | ||
1111 | makedev $arg b 24 0 $cdrom | ||
1112 | ;; | ||
1113 | sbpcd|sbpcd[123]) | ||
1114 | major=`Major $arg` || continue | ||
1115 | base=`suffix ${arg}0 sbpcd` | ||
1116 | # base=`expr ${arg}0 : "sbpcd\(.\)"` | ||
1117 | for minor in 0 1 2 3 | ||
1118 | do | ||
1119 | # XXX | ||
1120 | unit=`expr substr 0123456789abcdef \( $base \* 4 + $minor + 1 \) 1` | ||
1121 | makedev sbpcd$unit b $major $minor $cdrom | ||
1122 | done | ||
1123 | [ $arg = sbpcd ] && symlink $arg ${arg}0 | ||
1124 | ;; | ||
1125 | aztcd) | ||
1126 | major=`Major $arg` || continue | ||
1127 | makedev ${arg}0 b $major 0 $cdrom | ||
1128 | ;; | ||
1129 | bpcd) | ||
1130 | makedev $arg b 41 0 $cdrom | ||
1131 | ;; | ||
1132 | optcd) | ||
1133 | makedev $arg b 17 0 $cdrom | ||
1134 | ;; | ||
1135 | sjcd) | ||
1136 | makedev $arg b 18 0 $cdrom | ||
1137 | ;; | ||
1138 | cfs|coda) | ||
1139 | makedev cfs0 c 67 0 $private | ||
1140 | ;; | ||
1141 | xfs|arla) | ||
1142 | makedev xfs0 c 103 0 $private | ||
1143 | ;; | ||
1144 | logiscan) | ||
1145 | major=`Major logiscan` || continue | ||
1146 | makedev $arg c $major 0 $scanner | ||
1147 | ;; | ||
1148 | m105scan) | ||
1149 | major=`Major m105` || continue | ||
1150 | makedev $arg c $major 0 $scanner | ||
1151 | ;; | ||
1152 | ac4096) | ||
1153 | major=`Major ac4096` || continue | ||
1154 | makedev $arg c $major 0 $scanner | ||
1155 | ;; | ||
1156 | audio) | ||
1157 | major=`Major sound 14` | ||
1158 | makedev mixer c $major 0 $audio | ||
1159 | makedev sequencer c $major 1 $audio | ||
1160 | makedev midi00 c $major 2 $audio | ||
1161 | makedev dsp c $major 3 $audio | ||
1162 | makedev audio c $major 4 $audio | ||
1163 | makedev sndstat c $major 6 $audio | ||
1164 | makedev sequencer2 c $major 8 $audio | ||
1165 | makedev mixer1 c $major 16 $audio | ||
1166 | makedev patmgr0 c $major 17 $audio | ||
1167 | makedev midi01 c $major 18 $audio | ||
1168 | makedev dsp1 c $major 19 $audio | ||
1169 | makedev audio1 c $major 20 $audio | ||
1170 | makedev patmgr1 c $major 33 $audio | ||
1171 | makedev midi02 c $major 34 $audio | ||
1172 | makedev midi03 c $major 50 $audio | ||
1173 | major=31 | ||
1174 | makedev mpu401data c $major 0 $audio | ||
1175 | makedev mpu401stat c $major 1 $audio | ||
1176 | major=35 | ||
1177 | for i in 0 1 2 3 | ||
1178 | do | ||
1179 | makedev midi$i c $major $i $audio | ||
1180 | makedev rmidi$i c $major `math $i + 64` $audio | ||
1181 | makedev smpte$i c $major `math $i + 128` $audio | ||
1182 | done | ||
1183 | ;; | ||
1184 | pcaudio) | ||
1185 | major=`Major pcsp` || continue | ||
1186 | makedev pcmixer c $major 0 $audio | ||
1187 | makedev pcsp c $major 3 $audio | ||
1188 | makedev pcaudio c $major 4 $audio | ||
1189 | ;; | ||
1190 | video|video4linux|v4l|radio) | ||
1191 | # video4linux api includes radio, teletext, etc. | ||
1192 | major=`Major video 81` || continue | ||
1193 | minor=0 | ||
1194 | until [ $minor -gt 63 ] | ||
1195 | do | ||
1196 | makedev video$minor c $major $minor $video | ||
1197 | makedev radio$minor c $major `math $minor + 64` $video | ||
1198 | minor=`math $minor + 1` | ||
1199 | done | ||
1200 | minor=0 | ||
1201 | until [ $minor -gt 31 ] | ||
1202 | do | ||
1203 | makedev vtx$minor c $major `math $minor + 192` $video | ||
1204 | makedev vbi$minor c $major `math $minor + 224` $video | ||
1205 | minor=`math $minor + 1` | ||
1206 | done | ||
1207 | symlink video video0 | ||
1208 | major=82 | ||
1209 | minor=0 | ||
1210 | until [ $minor -gt 1 ] | ||
1211 | do | ||
1212 | makedev winradio$minor c $major $minor $video | ||
1213 | minor=`math $minor + 1` | ||
1214 | done | ||
1215 | major=83 | ||
1216 | makedev vtx c $major 0 $video | ||
1217 | makedev vttuner c $major 16 $video | ||
1218 | ;; | ||
1219 | i2c) | ||
1220 | major=`Major i2c 89` || continue | ||
1221 | minor=0 | ||
1222 | until [ $minor -gt 1 ]; do | ||
1223 | makedev i2c-$minor c $major $minor $private | ||
1224 | minor=`math $minor + 1` | ||
1225 | done | ||
1226 | ;; | ||
1227 | tlk) | ||
1228 | major=102 | ||
1229 | minor=0 | ||
1230 | until [ $minor -gt 3 ] # tell me if 3 is wrong... | ||
1231 | do | ||
1232 | makedev tlk$minor c $major $minor $video | ||
1233 | minor=`math $minor + 1` | ||
1234 | done | ||
1235 | ;; | ||
1236 | srnd) | ||
1237 | makedev srnd0 c 110 0 $video | ||
1238 | makedev srnd1 c 110 1 $video | ||
1239 | ;; | ||
1240 | fgrab) | ||
1241 | makedev mmetfgrab c 40 0 $video | ||
1242 | makedev wvisfgrab c 26 0 $video | ||
1243 | for i in 0 1 # more? | ||
1244 | do | ||
1245 | makedev iscc$i c 93 $i $video | ||
1246 | makedev isccctl$i c 93 `math $i + 128` $video | ||
1247 | done | ||
1248 | for i in 0 1 # more? | ||
1249 | do | ||
1250 | makedev dcxx$i c 94 $i $video | ||
1251 | done | ||
1252 | ;; | ||
1253 | sg|sg-all) | ||
1254 | major=`Major sg 21` | ||
1255 | for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ||
1256 | do | ||
1257 | makedev sg$unit c $major $unit $scsi | ||
1258 | done | ||
1259 | ;; | ||
1260 | sg[0-9]|sg[0-1][0-9]) | ||
1261 | major=`Major sg 11` || continue | ||
1262 | unit=`suffix $arg sg` | ||
1263 | makedev sg$unit c $major $unit $cdrom | ||
1264 | ;; | ||
1265 | pg) | ||
1266 | major=`Major pg 97` | ||
1267 | for unit in 0 1 2 3 | ||
1268 | do | ||
1269 | makedev pg$unit c $major $unit $scsi | ||
1270 | done | ||
1271 | ;; | ||
1272 | ibcs2) | ||
1273 | major=`Major ibcs2` || continue | ||
1274 | makedev socksys c $major 0 $ibcs2 | ||
1275 | symlink nfsd socksys | ||
1276 | makedev spx c $major 1 $ibcs2 | ||
1277 | symlink X0R null | ||
1278 | ;; | ||
1279 | enskip) | ||
1280 | major=64 | ||
1281 | makedev enskip c $major 0 $private | ||
1282 | ;; | ||
1283 | ipfilt*) | ||
1284 | major=95 | ||
1285 | makedev ipl c $major 0 $private | ||
1286 | makedev ipnat c $major 1 $private | ||
1287 | makedev ipstate c $major 2 $private | ||
1288 | makedev ipauth c $major 3 $private | ||
1289 | ;; | ||
1290 | qng) | ||
1291 | makedev qng c 77 0 $private | ||
1292 | ;; | ||
1293 | apm) | ||
1294 | makedev apm_bios c 10 134 $system | ||
1295 | ;; | ||
1296 | dcf) | ||
1297 | major=`Major dcf` || continue | ||
1298 | makedev $arg c $major 0 $system | ||
1299 | ;; | ||
1300 | helloworld) | ||
1301 | major=`Major hw` || continue | ||
1302 | makedev helloworld c $major 0 $public | ||
1303 | ;; | ||
1304 | ipsec) | ||
1305 | # For the Free S/WAN (http://www.xs4all.nl/~freeswan/) | ||
1306 | # implementation of IPSEC | ||
1307 | makedev ipsec c 36 10 $ipsec | ||
1308 | ;; | ||
1309 | ppp) | ||
1310 | makedev ppp c 108 0 $dialout | ||
1311 | ;; | ||
1312 | *) | ||
1313 | echo "$0: don't know how to make device \"$arg\"" >&2 | ||
1314 | exit 1 | ||
1315 | ;; | ||
1316 | esac | ||
1317 | done | ||
1318 | |||
1319 | exit 0 |