Contents of /tags/mkinitrd-6_1_2/livecd/MAKEDEV.sh
Parent Directory | Revision Log
Revision 844 -
(show annotations)
(download)
(as text)
Mon May 4 17:23:09 2009 UTC (15 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 33114 byte(s)
Mon May 4 17:23:09 2009 UTC (15 years, 4 months ago) by niro
File MIME type: application/x-sh
File size: 33114 byte(s)
tagged 'mkinitrd-6_1_2'
1 | #!/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 |