4 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
6 # The devices fall into various classes. This section contains the mapping
7 # from a class name into a group name and permission.
8 # You will almost certainly need to edit the group name to match your
9 # system, and you may change the permissions to suit your preference. These
10 # lines _must_ be of the format "user group perm".
12 public=" root root 0666"
13 private=" root root 0600"
14 system=" root root 0660"
15 kmem=" root kmem 0640"
18 dialout=" root dialout 0660"
20 mouse=" root root 0660"
21 printer=" root lp 0660"
22 floppy=" root floppy 0660"
23 disk=" root disk 0660"
24 scsi=" root root 0600"
25 cdrom=" root cdrom 0660"
26 tape=" root tape 0660"
27 audio=" root audio 0660"
28 video=" root video 0660"
29 ibcs2=" root root 0666"
30 scanner=" root root 0666"
31 coda=" root root 0600"
32 ipsec=" root root 0200"
33 readable=" root root 0444"
37 # defaults for $major_*
43 # Remark: OSS/Linux becomes major_OSSLinux
45 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
47 # try to do the right things if udev is running
48 if [ "$WRITE_ON_UDEV" ]; then
50 elif [ -d /dev/.static/dev/ ] && [ "`pwd`" = /dev ] && [ -e /proc/mounts ] \
51 && grep -qE '^[^ ]+ /dev/\.static/dev' /proc/mounts; then
53 elif [ -d /.dev/ ] && [ "`pwd`" = /dev ] && [ -e /proc/mounts ] \
54 && grep -qE '^[^ ]+ /\.dev' /proc/mounts; then
56 elif [ -d .udevdb/ ] && [ "`pwd`" = /dev ]; then
57 echo ".udevdb presence implies active udev. Aborting MAKEDEV invocation."
58 # use exit 0, not 1, so postinst scripts don't fail on this
62 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
64 # don't stomp on devfs users
67 echo ".devfsd presence implies active DevFS. Aborting MAKEDEV invocation."
68 # use exit 0, not 1, so postinst scripts don't fail on this
72 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
74 # don't stomp on non-Linux users
75 if [ "$(uname -s)" != "Linux" ]
77 echo "Results undefined on non-Linux systems, aborting MAKEDEV invocation."
78 # use exit 0, not 1, so postinst scripts don't fail on this
82 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
96 -n) shift; opt_n=1; opt_v=1 ;;
98 -*) echo "$0: unknown flag \"$1\"" >&2; exit 1 ;;
105 echo "This is Debian MAKEDEV. For version info, try 'dpkg --list makedev'"
106 echo "See /usr/share/doc/makedev/ for more information on Debian MAKEDEV."
110 opts="${opt_n:+-n} ${opt_v:+-v} ${opt_d:+-d}"
112 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
114 devicename () { # translate device names to something safe
115 echo "$*" | sed -e 's/[^A-Za-z0-9_]/_/g'
118 makedev () { # usage: makedev name [bcu] major minor owner group mode
121 then echo "delete $1"
122 else echo "create $1 $2 $3 $4 $5:$6 $7"
125 # missing parameters are a bug - bail - should we do an exit 1 here?
126 case :$1:$2:$3:$4:$5:$6:$7: in
127 *::*) echo "Warning: MAKEDEV $@ is missing parameter(s)." >&2;;
136 if mknod $1- $2 $3 $4 &&
143 # Didn't work, clean up any mess...
144 echo "makedev $@: failed"
150 symlink () { # usage: symlink name target
153 then echo "delete $1"
154 else echo "create $1 -> $2"
157 [ ! "$opt_n" ] && rm -f $1 &&
158 [ ! "$opt_d" ] && ln -s $2 $1
161 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
163 # Debian allows us to assume /bin/sh is a POSIX compliant shell, so go for it!
168 index () { # index string c
176 eval echo "\${1% $2 *} \${1#* $2 }"
185 echo $1 | dd bs=1 count=1 skip=$(( $2 - 1 )) 2> /dev/null
188 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
191 if [ ! -f $procfs/devices ]
193 echo "$0: warning: can't read $procfs/devices" >&2
195 exec 3<$procfs/devices
196 while read major device extra <&3
198 device=`echo $device | sed 's#/.*##'`
203 safedevname=`devicename $device`
204 eval "major_$safedevname=$major"
205 devices="$devices $device"
214 devname=`devicename $1`
219 eval echo \${major_$devname:-\${device:?\"unknown major number for $1\"}}
227 mem|tty|ttyp|cua|cub|cui) ;;
228 hd) (for d in a b c d e f g h ; do
232 ide0) echo hda hdb ;;
233 ide1) echo hdc hdd ;;
234 ide2) echo hde hdf ;;
235 ide3) echo hdg hdh ;;
236 ide4) echo hdi hdj ;;
237 ide5) echo hdk hdl ;;
238 ide6) echo hdm hdn ;;
239 ide7) echo hdo hdp ;;
240 ide8) echo hdq hdr ;;
241 ide9) echo hds hdt ;;
242 sd) echo sda sdb sdc sdd ;;
243 dasd) (for d in a b c d e f g h i j k l m \
244 n o p q r s t u v w x y z ; do
263 logiscan) echo logiscan ;;
264 ac4096) echo ac4096 ;;
265 hw) echo helloworld ;;
266 sbpcd | sbpcd[123]) echo $1 ;;
269 apm_bios) echo apm ;;
272 cm206cd) echo cm206cd ;;
274 pcmcia) ;; # taken care of by its own driver
275 ttyC) echo cyclades ;;
276 isdn) echo isdnmodem isdnbri dcbri ;;
281 agpgart) echo agpgart ;;
282 microcode) echo microcode ;;
283 ipmi|ipmikcs) echo ipmi ;;
285 nb|drbd) echo nb0 nb1 nb2 nb3 nb4 nb5 nb6 nb7;;
286 netlink) echo netlink ;;
288 hamradio) echo hamradio ;;
292 ttyB) (for l in 0 1 2 3 4 5 6 7 ; do
296 ttyS) echo ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ;;
297 ttyI) echo ttyI0 ttyI1 ttyI2 ttyI3 ;;
298 ircomm|irlpt) irda ;;
301 dpt_i2o) echo dpti ;;
302 bluetooth) echo bluetooth ;;
303 lvm) ;; # taken care of by LVM userspace tools
305 *) echo "$0: don't know what \"$1\" is" >&2 ;;
316 # pick the right generic-<arch> using dpkg's knowledge
317 case `dpkg --print-installation-architecture` in
319 $0 $opts generic-alpha
325 $0 $opts generic-hppa
328 $0 $opts generic-i386
331 $0 $opts generic-i386
334 $0 $opts generic-ia64
337 $0 $opts generic-m68k
340 $0 $opts generic-mips
343 $0 $opts generic-mipsel
346 $0 $opts generic-powerpc
349 $0 $opts generic-powerpc
352 $0 $opts generic-s390
358 $0 $opts generic-sparc
361 echo "$0: no support for generic on this arch" >&2
370 $0 $opts hda hdb hdc hdd
372 $0 $opts sda sdb sdc sdd
378 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
390 $0 $opts hda hdb hdc hdd
392 $0 $opts sda sdb sdc sdd
398 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
400 makedev sunmouse c 10 6 $mouse
410 $0 $opts hda hdb hdc hdd
411 $0 $opts sda sdb sdc sdd
417 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
418 $0 $opts ttyB0 ttyB1 ttyB2 ttyB3 ttyB4 ttyB5 ttyB6 ttyB7
430 $0 $opts hda hdb hdc hdd
432 $0 $opts sda sdb sdc sdd
438 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
445 $0 $opts isdn-io eda edb sonycd mcd mcdx cdu535
446 $0 $opts optcd sjcd cm206cd gscd
447 $0 $opts lmscd sbpcd aztcd bpcd dac960 dpti ida ataraid cciss
448 $0 $opts i2o.hda i2o.hdb i2o.hdc i2o.hdd
454 $0 $opts hda hdb hdc hdd
455 $0 $opts sda sdb sdc sdd
461 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5
474 $0 $opts hda hdb hdc hdd
475 $0 $opts sda sdb sdc sdd
478 $0 $opts ada adb adc add ade adf
481 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5
494 $0 $opts sda sdb sdc sdd
500 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
512 $0 $opts sda sdb sdc sdd
518 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
529 $0 $opts hda hdb hdc hdd
530 $0 $opts sda sdb sdc sdd
536 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
552 $0 $opts dasda dasdb dasdc dasdd dasde dasdf dasdg dasdh \
553 dasdi dasdj dasdk dasdl dasdm dasdn dasdo dasdp \
554 dasdq dasdr dasds dasdt dasdu dasdv dasdw dasdx \
565 $0 $opts sda sdb sdc sdd
571 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
572 $0 $opts ttySC0 ttySC1 ttySC2 ttySC3
583 $0 $opts hda hdb hdc hdd
584 $0 $opts sda sdb sdc sdd
590 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
594 makedev kbd c 11 0 $cons
595 makedev sunmouse c 10 6 $mouse
596 symlink mouse sunmouse
597 makedev openprom c 10 139 root root 0664
603 makedev mem c 1 1 $kmem
604 makedev kmem c 1 2 $kmem
605 makedev null c 1 3 $public
606 makedev port c 1 4 $kmem
607 makedev zero c 1 5 $public
608 symlink core $procfs/kcore
609 makedev full c 1 7 $public
610 makedev random c 1 8 $public
611 makedev urandom c 1 9 $readable
612 makedev tty c 5 0 $tty
621 for unit in 0 1 2 3 4 5 6 7
623 makedev scc$unit c 34 $unit $system
629 makedev bc$unit c 51 $unit $system
633 makedev random c 1 8 $public
636 makedev urandom c 1 9 $readable
639 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
640 makedev ram$i b 1 $i $disk
645 unit=`suffix $arg ram`
646 makedev ram$unit b 1 $unit $disk
649 makedev initrd b 1 250 $disk
652 makedev rawctl c 162 0 $disk
654 for i in 1 2 3 4 5 6 7 8; do
655 makedev raw/raw$i c 162 $i $disk
659 makedev tty0 c 4 0 $cons
660 # new kernels need a device, old ones a symlink... sigh
661 kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
662 kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
663 if [ $kern_rev1 -gt 2 ]
665 makedev console c 5 1 $cons
667 if [ $kern_rev1 -eq 2 ] && [ $kern_rev2 -ge 1 ]
669 makedev console c 5 1 $cons
677 major=`Major vcs 7` # not fatal
678 [ "$major" ] && makedev vcs0 c $major 0 $cons
680 [ "$major" ] && makedev vcsa0 c $major 128 $cons
684 while [ $line -le $MAXVT ] && [ $line -le 63 ]
686 makedev tty$line c 4 $line $cons
687 [ "$major" ] && makedev vcs$line c $major $line $cons
688 [ "$major" ] && makedev vcsa$line c $major `math $line + 128` $cons
689 line=`math $line + 1`
693 # pick the right arch device using dpkg's knowledge
694 case `dpkg --print-installation-architecture` in
696 # ADB bus devices (char)
697 makedev adb c 56 0 $mouse
698 makedev adbmouse c 10 10 $mouse
701 # ACSI disk 2, whole device (block)
702 makedev adb b 28 16 $disk
703 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
705 minor=$(( 16 + $part ))
706 makedev adb$part b 28 $minor $disk
710 echo "no support for adb on this arch" >&2
716 makedev raw1394 c 171 0 $disk
723 makedev video1394/$i c 171 `math 16 + $i` $video
727 makedev nvram c 10 144 $mouse
729 tty[1-9]|tty[1-5][0-9]|tty[6][0-3])
730 line=`suffix $arg tty`
731 makedev tty$line c 4 $line $cons
733 ttyS[0-9]|ttyS[1-5][0-9]|ttyS[6][0-3])
734 line=`suffix $arg ttyS`
735 minor=`math 64 + $line`
736 makedev ttyS$line c 4 $minor $dialout
739 line=`suffix $arg ttySC`
740 minor=`math 8 + $line`
741 makedev ttySC$line c 204 $minor $dialout
744 minor=`suffix $arg ttyB`
745 makedev ttyB$minor c 11 $minor $dialout
748 bank=`suffix $arg pty`
749 base=`index pqrstuvwxyzabcde $bank`
750 base=`math $base \* 16`
751 for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f
753 j=`index 0123456789abcdef $i`
754 makedev pty$bank$i c 2 `math $base + $j` $tty
755 makedev tty$bank$i c 3 `math $base + $j` $tty
760 for i in p q r s t u v w x y z a b c d e
762 ptysufs="$ptysufs pty$i"
764 $0 $opts $ptysufs ptmx
767 # master pty multiplexer for 2.1 kernels
768 makedev ptmx c 5 2 $tty
771 major1=`Major ttyC 19` || continue
772 #major2=`Major cub 20` || continue
773 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
774 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
776 makedev ttyC$i c $major1 $i $dialout
777 #makedev cub$i c $major2 $i $dialout
781 major1=`Major ttyE 24` || continue
782 #major2=`Major cue 25` || continue
785 until [ $minor -gt 256 ]
787 makedev ttyE$minor c $major1 $minor $dialout
788 #makedev cue$minor c $major2 $minor $dialout
789 minor=`math $minor + 1`
793 makedev staliomem$i c $majorc $i $private
797 major1=`Major ttyH 17` || continue
798 #major2=`Major cuh 18` || continue
800 until [ $minor -gt 16 ] # tell me if 16 is wrong
802 makedev ttyH$minor c $major1 $minor $dialout
803 #makedev cuh$minor c $major2 $minor $dialout
804 minor=`math $minor + 1`
808 major1=`Major ttyR 46` || continue
809 #major2=`Major cur 47` || continue
811 until [ $minor -gt 64 ] # tell me if 64 is wrong
813 makedev ttyR$minor c $major1 $minor $dialout
814 #makedev cur$minor c $major2 $minor $dialout
815 minor=`math $minor + 1`
819 major1=`Major ttyV 105` || continue
820 #major2=`Major cuv 106` || continue
822 until [ $minor -gt 16 ] # tell me if 16 is wrong
824 makedev ttyV$minor c $major1 $minor $dialout
825 #makedev cuv$minor c $major2 $minor $dialout
826 minor=`math $minor + 1`
830 major1=`Major ttyD 22` || continue
831 #major2=`Major cud 23` || continue
833 until [ $minor -gt 16 ] # tell me if 16 is wrong
835 makedev ttyD$minor c $major1 $minor $dialout
836 #makedev cud$minor c $major2 $minor $dialout
837 minor=`math $minor + 1`
841 major1=`Major ttyX 32` || continue
842 #major2=`Major cux 33` || continue
844 until [ $minor -gt 16 ] # tell me if 16 is wrong
846 makedev ttyX$minor c $major1 $minor $dialout
847 #makedev cux$minor c $major2 $minor $dialout
848 minor=`math $minor + 1`
852 major1=`Major ttyW 75` || continue
853 #major2=`Major cuw 76` || continue
855 until [ $minor -gt 16 ] # tell me if 16 is wrong
857 makedev ttyW$minor c $major1 $minor $dialout
858 #makedev cuw$minor c $major2 $minor $dialout
859 minor=`math $minor + 1`
863 major1=`Major ttyM 79` || continue
864 #major2=`Major cum 80` || continue
866 until [ $minor -gt 16 ] # tell me if 16 is wrong
868 makedev ttyM$minor c $major1 $minor $dialout
869 #makedev cum$minor c $major2 $minor $dialout
870 minor=`math $minor + 1`
874 major=`Major ttyL 48` || continue
876 until [ $minor -gt 16 ] # tell me if 16 is wrong
878 makedev ttyL$minor c $major $minor $dialout
879 minor=`math $minor + 1`
883 major=`Major ttyF 71` || continue
884 #major2=`Major cuf 72` || continue
886 until [ $minor -gt 255 ]
888 makedev ttyF$minor c $major $minor $dialout
889 #makedev cuf$minor c $major2 $minor $dialout
890 minor=`math $minor + 1`
895 makedev ip2ipl$i c $major $i $private
896 makedev ip2stat$i c $major `math $i + 1` $private
900 major=`Major ttyP 57` || continue
901 #major2=`Major cup 58` || continue
903 until [ $minor -gt 4 ] # tell me if 4 is wrong
905 makedev ttyP$minor c $major $minor $dialout
906 #makedev cup$minor c $major2 $minor $dialout
907 minor=`math $minor + 1`
911 major=`Major comx 88` || continue
913 until [ $minor -gt 4 ] # tell me if 4 is wrong
915 makedev comx$minor c $major $minor $private
916 minor=`math $minor + 1`
920 major1=`Major ttyI 43` || continue
921 #major2=`Major cui 44` || continue
923 until [ $minor -gt 63 ]
925 makedev ttyI$minor c $major1 $minor $dialout
926 #makedev cui$minor c $major2 $minor $dialout
927 minor=`math $minor + 1`
933 until [ $minor -gt 63 ]
935 makedev isdn$minor c $major $minor $dialout
936 makedev isdnctrl$minor c $major `math $minor + 64` $dialout
937 makedev ippp$minor c $major `math $minor + 128` $dialout
938 minor=`math $minor + 1`
940 makedev isdninfo c $major 255 $private
946 makedev dcbri$i c $major $i $dialout
951 makedev capi20 c $major 0 $dialout
952 for i in 0 1 2 3 4 5 6 7 8 9
954 makedev capi20.0$i c $major `math $i + 1` $dialout
956 for i in 10 11 12 13 14 15 16 17 18 19
958 makedev capi20.$i c $major `math $i + 1` $dialout
963 for devicenum in 0 1 2 3 4 5 6 7
965 device=ubd`substr abcdefgh $(($devicenum + 1))`
966 baseminor=`math $devicenum \* 16`
967 makedev $device b $major $baseminor $disk
968 for partition in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
970 minor=`math $baseminor + $partition`
971 makedev $device$partition b $major $minor $disk
976 for i in 0 1 2 3 4 5 6 7
978 makedev fb$i c 29 $i $video
983 makedev fb$dev c 29 $dev $video
985 netlink|tap|tap[0-9]|tap1[0-5])
986 makedev route c 36 0 $coda
987 makedev skip c 36 1 $coda
988 makedev fwmonitor c 36 3 $coda
989 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
991 makedev tap$i c 36 `math $i + 16` $coda
996 makedev net/tun c 10 200 $system
999 major=`Major lp 6` || continue
1000 makedev ${arg}0 c $major 0 $printer
1001 makedev ${arg}1 c $major 1 $printer
1002 makedev ${arg}2 c $major 2 $printer
1005 major=`Major lp 6` || continue
1006 makedev ${arg}0 c $major 0 $printer
1007 makedev ${arg}1 c $major 1 $printer
1008 makedev ${arg}2 c $major 2 $printer
1011 major=`Major parport 99` || continue
1012 makedev ${arg}0 c $major 0 $printer
1013 makedev ${arg}1 c $major 1 $printer
1014 makedev ${arg}2 c $major 2 $printer
1017 major=`Major slm 28` || continue
1020 makedev slm c $major $i $printer
1024 major=`Major pcsp 13` || continue
1028 makedev input/js$i c $major $i $mouse
1029 makedev input/mouse$i c $major `math $i + 32` $mouse
1030 makedev input/event$i c $major `math $i + 64` $mouse
1032 makedev input/mice c $major 63 $mouse
1035 major=`Major mouse 10` || continue
1036 makedev logibm c $major 0 $mouse
1037 makedev psaux c $major 1 $mouse
1038 makedev inportbm c $major 2 $mouse
1039 makedev atibm c $major 3 $mouse
1040 makedev jbm c $major 4 $mouse
1043 major=`Major mouse 10` || continue
1044 makedev amigamouse c $major 4 $mouse
1045 makedev atarimouse c $major 5 $mouse
1046 makedev amigamouse1 c $major 7 $mouse
1047 makedev adbmouse c $major 10 $mouse
1050 major=`Major $arg 107` || continue
1051 makedev $arg c $major 0 $video
1054 major=`Major $arg 10` || continue
1055 makedev $arg c $major 175 $video
1058 major=`Major $arg 10` || continue
1059 makedev $arg c $major 183 $private
1063 makedev cpu/microcode c 10 184 $private
1067 makedev cpu/$i/msr c 202 $i $private
1068 makedev cpu/$i/cpuid c 203 $i $private
1072 major=`Major ipmikcs 10` || continue
1073 makedev ipmikcs c $major 173 $private
1078 makedev ircomm$i c 161 $i $dialout
1079 makedev irlpt$i c 161 `math $i + 16` $printer
1083 makedev irnet c 10 187 $system
1086 major=`Major mouse 10` || continue
1087 makedev logibm c $major 0 $mouse
1088 makedev psaux c $major 1 $mouse
1089 makedev inportbm c $major 2 $mouse
1090 makedev atibm c $major 3 $mouse
1091 makedev jbm c $major 4 $mouse
1092 makedev amigamouse c $major 4 $mouse
1093 makedev atarimouse c $major 5 $mouse
1094 makedev sunmouse c $major 6 $mouse
1095 makedev amigamouse1 c $major 7 $mouse
1096 makedev smouse c $major 8 $mouse
1097 makedev pc110pad c $major 9 $mouse
1098 makedev adbmouse c $major 10 $mouse
1099 makedev beep c $major 128 $mouse
1100 makedev modreq c $major 129 $mouse
1101 makedev watchdog c $major 130 $mouse
1102 makedev temperature c $major 131 $mouse
1103 makedev hwtrap c $major 132 $mouse
1104 makedev exttrp c $major 133 $mouse
1105 makedev apm_bios c $major 134 $mouse
1106 makedev rtc c $major 135 $mouse
1107 makedev openprom c $major 139 root root 0664
1108 makedev relay8 c $major 140 $mouse
1109 makedev relay16 c $major 141 $mouse
1110 makedev msr c $major 142 $mouse
1111 makedev pciconf c $major 143 $mouse
1112 makedev nvram c $major 144 $mouse
1113 makedev hfmodem c $major 145 $mouse
1114 makedev led c $major 151 $mouse
1115 makedev mergemem c $major 153 $mouse
1116 makedev pmu c $major 154 $mouse
1119 major=`Major mouse 10` || continue
1120 makedev pmu c $major 154 $mouse
1123 major=`Major mouse 10` || continue
1125 makedev thinkpad/thinkpad c $major 170 $mouse
1128 major=`Major mouse 10` || continue
1129 makedev rtc c $major 135 $mouse
1132 major=`Major mouse 10` || continue
1133 makedev efirtc c $major 136 $mouse
1136 makedev mwave c 10 219 $mouse
1139 makedev systrace c 10 226 $private
1142 makedev input/uinput c 10 223 $mouse
1145 major=`Major Joystick 13` || continue
1148 makedev js$unit c $major $unit $readable
1149 makedev djs$unit c $major `math $unit + 128` $readable
1153 major=`Major fd 2` || continue
1154 base=`suffix $arg fd`
1157 base=`math $base + 124`
1159 makedev ${arg} b $major $base $floppy
1160 makedev ${arg}d360 b $major `math $base + 4` $floppy
1161 makedev ${arg}h1200 b $major `math $base + 8` $floppy
1162 makedev ${arg}u360 b $major `math $base + 12` $floppy
1163 makedev ${arg}u720 b $major `math $base + 16` $floppy
1164 makedev ${arg}h360 b $major `math $base + 20` $floppy
1165 makedev ${arg}h720 b $major `math $base + 24` $floppy
1166 makedev ${arg}u1440 b $major `math $base + 28` $floppy
1167 makedev ${arg}u2880 b $major `math $base + 32` $floppy
1168 makedev ${arg}CompaQ b $major `math $base + 36` $floppy
1170 makedev ${arg}h1440 b $major `math $base + 40` $floppy
1171 makedev ${arg}u1680 b $major `math $base + 44` $floppy
1172 makedev ${arg}h410 b $major `math $base + 48` $floppy
1173 makedev ${arg}u820 b $major `math $base + 52` $floppy
1174 makedev ${arg}h1476 b $major `math $base + 56` $floppy
1175 makedev ${arg}u1722 b $major `math $base + 60` $floppy
1176 makedev ${arg}h420 b $major `math $base + 64` $floppy
1177 makedev ${arg}u830 b $major `math $base + 68` $floppy
1178 makedev ${arg}h1494 b $major `math $base + 72` $floppy
1179 makedev ${arg}u1743 b $major `math $base + 76` $floppy
1180 makedev ${arg}h880 b $major `math $base + 80` $floppy
1181 makedev ${arg}u1040 b $major `math $base + 84` $floppy
1182 makedev ${arg}u1120 b $major `math $base + 88` $floppy
1183 makedev ${arg}h1600 b $major `math $base + 92` $floppy
1184 makedev ${arg}u1760 b $major `math $base + 96` $floppy
1185 makedev ${arg}u1920 b $major `math $base + 100` $floppy
1186 makedev ${arg}u3200 b $major `math $base + 104` $floppy
1187 makedev ${arg}u3520 b $major `math $base + 108` $floppy
1188 makedev ${arg}u3840 b $major `math $base + 112` $floppy
1189 makedev ${arg}u1840 b $major `math $base + 116` $floppy
1190 makedev ${arg}u800 b $major `math $base + 120` $floppy
1191 makedev ${arg}u1600 b $major `math $base + 124` $floppy
1194 major=`Major ed 36` || continue
1195 unit=`suffix $arg ed`
1196 base=`index ab $unit`
1197 base=`math $base \* 64`
1198 makedev ed$unit b $major $base $disk
1199 for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
1201 makedev ed$unit$part b $major `math $base + $part` $disk
1205 major=`Major ide0` || major=`Major hd 3` || continue
1206 unit=`suffix $arg hd`
1207 base=`index ab $unit`
1208 base=`math $base \* 64`
1209 makedev hd$unit b $major $base $disk
1210 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1212 makedev hd$unit$part b $major `math $base + $part` $disk
1216 major=`Major ide1 22` || continue
1217 unit=`suffix $arg hd`
1218 base=`index cd $unit`
1219 base=`math $base \* 64`
1220 makedev hd$unit b $major $base $disk
1221 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1223 makedev hd$unit$part b $major $(( $base + $part )) $disk
1227 major=`Major ide2 33` || continue
1228 unit=`suffix $arg hd`
1229 base=`index ef $unit`
1230 base=`math $base \* 64`
1231 makedev hd$unit b $major $base $disk
1232 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1234 makedev hd$unit$part b $major $(( $base + $part )) $disk
1238 major=`Major ide3 34` || continue
1239 unit=`suffix $arg hd`
1240 base=`index gh $unit`
1241 base=`math $base \* 64`
1242 makedev hd$unit b $major $base $disk
1243 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1245 makedev hd$unit$part b $major $(( $base + $part )) $disk
1249 major=`Major ide4 56` || continue
1250 unit=`suffix $arg hd`
1251 base=`index ij $unit`
1252 base=`math $base \* 64`
1253 makedev hd$unit b $major $base $disk
1254 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1256 makedev hd$unit$part b $major $(( $base + $part )) $disk
1260 major=`Major ide5 57` || continue
1261 unit=`suffix $arg hd`
1262 base=`index kl $unit`
1263 base=`math $base \* 64`
1264 makedev hd$unit b $major $base $disk
1265 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1267 makedev hd$unit$part b $major $(( $base + $part )) $disk
1271 major=`Major ide6 88` || continue
1272 unit=`suffix $arg hd`
1273 base=`index mn $unit`
1274 base=`math $base \* 64`
1275 makedev hd$unit b $major $base $disk
1276 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1278 makedev hd$unit$part b $major $(( $base + $part )) $disk
1282 major=`Major ide7 89` || continue
1283 unit=`suffix $arg hd`
1284 base=`index op $unit`
1285 base=`math $base \* 64`
1286 makedev hd$unit b $major $base $disk
1287 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1289 makedev hd$unit$part b $major $(( $base + $part )) $disk
1293 major=`Major ide8 90` || continue
1294 unit=`suffix $arg hd`
1295 base=`index qr $unit`
1296 base=`math $base \* 64`
1297 makedev hd$unit b $major $base $disk
1298 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1300 makedev hd$unit$part b $major $(( $base + $part )) $disk
1304 major=`Major ide9 91` || continue
1305 unit=`suffix $arg hd`
1306 base=`index st $unit`
1307 base=`math $base \* 64`
1308 makedev hd$unit b $major $base $disk
1309 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1311 makedev hd$unit$part b $major $(( $base + $part )) $disk
1316 makedev uba b $major 0 $disk
1317 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1319 makedev uba$part b $major $part $disk
1323 major=`Major ht0 37` || continue
1324 # Only one IDE tape drive is currently supported; ht0.
1325 makedev ht0 c $major 0 $tape
1326 makedev nht0 c $major 128 $tape
1329 major=`Major pt 96` || continue
1332 makedev pt$i c $major $i $tape
1333 makedev npt$i c $major `math $i + 128` $tape
1337 major=`Major xd 13` || continue
1338 unit=`suffix $arg xd`
1339 base=`index abcd $unit`
1340 base=`math $base \* 64`
1341 makedev xd$unit b $major $base $disk
1342 for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
1344 makedev xd$unit$part b $major $(( $base + $part )) $disk
1348 major=`Major sd 8` || continue
1349 unit=`suffix $arg sd`
1350 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1351 base=$(( $base * 16 ))
1352 if [ $base -lt 256 ]; then
1356 base=$(( $base - 256 ))
1358 makedev sd$unit b $major $base $disk
1359 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1361 minor=$(( $base + $part ))
1362 makedev sd$unit$part b $major $minor $disk
1366 unit=`suffix $arg sd`
1367 unitmaj=`first $unit`
1368 unitmin=`second $unit`
1369 basemaj=`index Xabcd $unitmaj`
1370 basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
1371 basemaj=`math $basemaj \* 416`
1372 basemin=`math $basemin \* 16`
1373 base=`math $basemaj + $basemin`
1374 basemaj=`math $base / 256`
1375 base=`math $base % 256`
1376 major=`math basemaj \+ 64`
1377 if [ $major -gt 71 ]; then
1378 echo "$0: don't know how to make device \"$arg\"" >&2
1381 makedev sd$unit b $major $base $disk
1382 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1384 minor=$(( $base + $part ))
1385 makedev sd$unit$part b $major $minor $disk
1393 [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
1395 unit=`suffix $arg i2o.hd`
1396 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1397 base=$(( $base * 16 ))
1398 if [ $base -lt 256 ]; then
1402 base=$(( $base - 256 ))
1404 makedev i2o/hd$unit b $major $base $disk
1405 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1407 minor=$(( $base + $part ))
1408 makedev i2o/hd$unit$part b $major $minor $disk
1416 [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
1418 unit=`suffix $arg i2o.hd`
1419 unitmaj=`first $unit`
1420 unitmin=`second $unit`
1421 basemaj=`index Xabcd $unitmaj`
1422 basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
1423 basemaj=`math $basemaj \* 416`
1424 basemin=`math $basemin \* 16`
1425 base=`math $basemaj + $basemin`
1426 basemaj=`math $base / 256`
1427 base=`math $base % 256`
1428 major=`math basemaj \+ 80`
1429 if [ $major -gt 87 ]; then
1430 echo "$0: don't know how to make device \"$arg\"" >&2
1433 makedev i2o/hd$unit b $major $base $disk
1434 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1436 minor=$(( $base + $part ))
1437 makedev i2o/hd$unit$part b $major $minor $disk
1441 major=`Major dasd 94` || continue
1442 unit=`suffix $arg dasd`
1443 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1444 base=$(( $base * 4 ))
1445 if [ $base -lt 256 ]; then
1449 base=$(( $base - 256 ))
1451 makedev dasd$unit b $major $base $disk
1454 minor=$(( $base + $part ))
1455 makedev dasd$unit$part b $major $minor $disk
1459 major=`Major ad 28` || continue
1460 unit=`suffix $arg ad`
1461 base=`index abcdefghijklmnop $unit`
1462 base=`math $base \* 16`
1463 makedev ad$unit b $major $base $disk
1464 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1466 minor=$(( $base + $part ))
1467 makedev ad$unit$part b $major $minor $disk
1471 for ctr in 0 1 2 3 4 5 6 7
1473 $0 $opts dac960.$ctr
1475 makedev dac960_gam c 10 252 $disk
1483 unit=`suffix $arg dac960.`
1484 major=`math 48 + $unit`
1486 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
1487 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1489 makedev rd/c${unit}d${ld} b $major $minor $disk
1490 minor=`math $minor + 1`
1491 for part in 1 2 3 4 5 6 7
1493 makedev rd/c${unit}d${ld}p$part b $major $minor $disk
1494 minor=`math $minor + 1`
1500 for ld in 1 2 3 4 5 6 7
1503 makedev dpti${ld} c $major $minor $disk
1507 for ctr in 0 1 2 # 3 4 5 6 7
1509 $0 $opts ataraid.$ctr
1515 chown root:root ataraid
1518 unit=`suffix $arg ataraid.`
1520 minor=`math $unit \* 16`
1521 makedev ataraid/d${unit} b $major $minor $disk
1522 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1524 minor=`math $minor + 1`
1525 makedev ataraid/d${unit}p$part b $major $minor $disk
1529 for ctr in 0 1 2 # 3 4 5 6 7
1540 unit=`suffix $arg ida.`
1541 major=`math 72 + $unit`
1543 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1545 makedev ida/c${unit}d${ld} b $major $minor $disk
1546 minor=`math $minor + 1`
1547 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1549 makedev ida/c${unit}d${ld}p$part b $major $minor $disk
1550 minor=`math $minor + 1`
1555 for ctr in 0 1 2 # 3 4 5 6 7
1563 chown root:root cciss
1566 unit=`suffix $arg cciss.`
1567 major=`math 104 + $unit`
1569 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1571 makedev cciss/c${unit}d${ld} b $major $minor $disk
1572 minor=`math $minor + 1`
1573 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1575 makedev cciss/c${unit}d${ld}p$part b $major $minor $disk
1576 minor=`math $minor + 1`
1581 major=`Major rom 31`
1582 for i in 0 1 2 3 4 5 6 7
1584 makedev rom$i b $major $i $disk
1585 makedev rrom$i b $major `math $i +8` $disk
1586 makedev flash$i b $major `math $i +16` $disk
1587 makedev rflash$i b $major `math $i +24` $disk
1591 major=`Major nbd 43` || continue
1592 minor=`suffix $arg nb`
1593 makedev nb$minor b $major $minor $disk
1596 for part in 0 1 2 3 4 5 6 7
1598 makedev loop$part b 7 $part $disk
1601 loop[0-9]|loop[1-9][0-9]|loop1[0-9][0-9]|loop2[0-4][0-9]|loop25[0-5])
1602 minor=`suffix $arg loop`
1603 makedev loop$minor b 7 $minor $disk
1606 major=`Major md 9` || continue
1607 for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1609 makedev md$part b $major $part $disk
1614 unit=`suffix $arg st`
1615 makedev st${unit} c $major $unit $tape
1616 makedev nst${unit} c $major `math 128 + $unit` $tape
1618 makedev st${unit}l c $major `math 32 + $unit` $tape
1619 makedev nst${unit}l c $major `math 160 + $unit` $tape
1621 makedev st${unit}m c $major `math 64 + $unit` $tape
1622 makedev nst${unit}m c $major `math 192 + $unit` $tape
1624 makedev st${unit}a c $major `math 96 + $unit` $tape
1625 makedev nst${unit}a c $major `math 224 + $unit` $tape
1628 major=`Major tpqic02 12`
1629 makedev ntpqic11 c $major 2 $tape
1630 makedev tpqic11 c $major 3 $tape
1631 makedev ntpqic24 c $major 4 $tape
1632 makedev tpqic24 c $major 5 $tape
1633 makedev ntpqic120 c $major 6 $tape
1634 makedev tpqic120 c $major 7 $tape
1635 makedev ntpqic150 c $major 8 $tape
1636 makedev tpqic150 c $major 9 $tape
1637 makedev rmt8 c $major 6 $tape
1638 makedev rmt16 c $major 8 $tape
1639 makedev tape-d c $major 136 $tape
1640 makedev tape-reset c $major 255 $tape
1644 major=`Major qft 27` || continue
1647 makedev qft$unit c $major $unit $tape
1648 makedev nqft$unit c $major `math $unit + 4` $tape
1649 makedev zqft$unit c $major `math $unit + 16` $tape
1650 makedev nzqft$unit c $major `math $unit + 20` $tape
1651 makedev rawqft$unit c $major `math $unit + 32` $tape
1652 makedev nrawqft$unit c $major `math $unit + 36` $tape
1655 symlink nftape nqft0
1658 major=`Major sr 11` || continue
1659 for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1661 makedev scd$unit b $major $unit $cdrom
1662 symlink sr$unit scd$unit
1669 makedev pktcdvd$unit b $major $unit $cdrom
1673 makedev cfs0 c 67 0 $coda
1675 scd[0-9]|scd[0-1][0-9])
1676 major=`Major sr 11` || continue
1677 unit=`suffix $arg scd`
1678 makedev scd$unit b $major $unit $cdrom
1679 symlink sr$unit scd$unit
1681 ttyI[0-9]|ttyI[1-5][0-9]|ttyI[6][0-3])
1683 unit=`suffix $arg ttyI`
1684 makedev ttyI$unit c $major $unit $dialout
1688 makedev ppp c $major 0 $dip
1690 ippp[0-9]|ippp[1-5][0-9]|ippp[6][0-3])
1692 unit=`suffix $arg ippp`
1693 minor=`math $unit + 128`
1694 makedev ippp$unit c $major $minor $dialout
1696 isdn[0-9]|isdn[1-5][0-9]|isdn[6][0-3])
1698 unit=`suffix $arg isdn`
1699 minor=`math $unit + 0`
1700 makedev isdn$unit c $major $minor $dialout
1702 isdnctrl[0-9]|isdnctrl[1-5][0-9]|isdnctrl[6][0-3])
1704 unit=`suffix $arg isdnctrl`
1705 minor=`math $unit + 64`
1706 makedev isdnctrl$unit c $major $minor $dialout
1709 makedev isdninfo c 45 255 $private
1713 for unit in 0 1 2 3 4 5 6 7
1715 makedev ttyI$unit c $major $unit $dialout
1720 for unit in 0 1 2 3 4 5 6 7
1722 makedev ippp$unit c $major `math $unit + 128` $dialout
1726 for unit in 0 1 2 3 4 5 6 7
1728 makedev isdn$unit c 45 $unit $dialout
1729 makedev isdnctrl$unit c 45 `math $unit + 64` $dialout
1730 makedev ippp$unit c 45 `math $unit + 128` $dialout
1732 makedev isdninfo c 45 255 $dialout
1735 major=`Major sonycd 15` || continue
1736 makedev $arg b $major 0 $cdrom
1739 major=`Major mcd 23` || continue
1740 makedev $arg b $major 0 $cdrom
1743 major=`Major $arg 20` || continue
1744 for unit in 0 1 2 3 4
1746 makedev mcdx$unit b $major $unit $cdrom
1748 test -r mcdx || symlink mcdx mcdx0
1751 makedev $arg b 24 0 $cdrom
1754 makedev $arg b 24 0 $cdrom
1757 major=`Major $arg 25` || continue
1758 base=`suffix ${arg}0 sbpcd`
1759 for minor in 0 1 2 3
1762 unit=$(substr 0123456789abcdef $(( $base * 4 + $minor + 1 )) )
1763 makedev sbpcd$unit b $major $minor $cdrom
1765 [ $arg = sbpcd ] && symlink $arg ${arg}0
1768 major=`Major $arg 29` || continue
1769 makedev ${arg}0 b $major 0 $cdrom
1772 major=`Major $arg 30` || continue
1773 makedev ${arg}0 b $major 0 $cdrom
1776 major=`Major $arg 16` || continue
1777 makedev ${arg}0 b $major 0 $cdrom
1782 makedev pcd$unit b 46 $unit $cdrom
1786 makedev $arg b 41 0 $cdrom
1789 makedev $arg b 17 0 $cdrom
1792 makedev $arg b 18 0 $cdrom
1795 makedev cfs0 c 67 0 $private
1798 makedev xfs0 c 103 0 $private
1799 makedev nnpfs0 c 103 0 $private
1802 major=`Major logiscan` || continue
1803 makedev $arg c $major 0 $scanner
1806 major=`Major $arg 10` || continue
1807 makedev $arg c $major 181 root root 0666
1810 major=`Major m105` || continue
1811 makedev $arg c $major 0 $scanner
1814 major=`Major ac4096` || continue
1815 makedev $arg c $major 0 $scanner
1818 major=`Major sound 14`
1819 makedev mixer c $major 0 $audio
1820 makedev mixer1 c $major 16 $audio
1821 makedev mixer2 c $major 32 $audio
1822 makedev mixer3 c $major 48 $audio
1823 makedev sequencer c $major 1 $audio
1824 makedev midi00 c $major 2 $audio
1825 makedev midi01 c $major 18 $audio
1826 makedev midi02 c $major 34 $audio
1827 makedev midi03 c $major 50 $audio
1828 makedev dsp c $major 3 $audio
1829 makedev dsp1 c $major 19 $audio
1830 makedev dsp2 c $major 35 $audio
1831 makedev dsp3 c $major 51 $audio
1832 makedev audio c $major 4 $audio
1833 makedev audio1 c $major 20 $audio
1834 makedev audio2 c $major 36 $audio
1835 makedev audio3 c $major 52 $audio
1836 makedev sndstat c $major 6 $audio
1837 makedev audioctl c $major 7 $audio
1839 makedev mpu401data c $major 0 $audio
1840 makedev mpu401stat c $major 1 $audio
1844 makedev midi$i c $major $i $audio
1845 makedev rmidi$i c $major `math $i + 64` $audio
1846 makedev smpte$i c $major `math $i + 128` $audio
1850 major=`Major pcsp 13` || continue
1851 makedev pcmixer c $major 0 $audio
1852 makedev pcsp c $major 3 $audio
1853 makedev pcaudio c $major 4 $audio
1855 video|video4linux|v4l|radio)
1856 # video4linux api includes radio, teletext, etc.
1857 major=`Major video 81` || continue
1859 until [ $minor -gt 63 ]
1861 makedev video$minor c $major $minor $video
1862 makedev radio$minor c $major `math $minor + 64` $video
1863 minor=`math $minor + 1`
1865 symlink radio radio0
1867 until [ $minor -gt 31 ]
1869 makedev vtx$minor c $major `math $minor + 192` $video
1870 makedev vbi$minor c $major `math $minor + 224` $video
1871 minor=`math $minor + 1`
1873 symlink video video0
1877 until [ $minor -gt 1 ]
1879 makedev winradio$minor c $major $minor $video
1880 minor=`math $minor + 1`
1883 makedev vtx c $major 0 $video
1884 makedev vttuner c $major 16 $video
1887 # making it possible to create an arbitrary number of i2c
1888 # devices might be good, but 8 should suffice for now
1889 major=`Major i2c 89` || continue
1891 until [ $minor -gt 7 ]
1893 makedev i2c-$minor c $major $minor $private
1894 minor=`math $minor + 1`
1900 until [ $minor -gt 3 ] # tell me if 3 is wrong...
1902 makedev tlk$minor c $major $minor $video
1903 minor=`math $minor + 1`
1907 makedev srnd0 c 110 0 $video
1908 makedev srnd1 c 110 1 $video
1911 makedev mmetfgrab c 40 0 $video
1912 makedev wvisfgrab c 26 0 $video
1913 for i in 0 1 # more?
1915 makedev iscc$i c 93 $i $video
1916 makedev isccctl$i c 93 `math $i + 128` $video
1918 for i in 0 1 # more?
1920 makedev dcxx$i c 94 $i $video
1925 for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1927 makedev sg$unit c $major $unit $scsi
1934 makedev pg$unit c $major $unit $scsi
1938 # not really devices, we use the /proc filesystem
1939 symlink fd $procfs/self/fd
1945 major=`Major ibcs2 30` || continue
1946 makedev socksys c $major 0 $ibcs2
1947 symlink nfsd socksys
1948 makedev spx c $major 1 $ibcs2
1953 makedev route c $major 0 $private
1954 makedev skip c $major 1 $private
1958 makedev enskip c $major 0 $private
1962 makedev ipl c $major 0 $private
1963 makedev ipnat c $major 1 $private
1964 makedev ipstate c $major 2 $private
1965 makedev ipauth c $major 3 $private
1968 makedev qng c 77 0 $private
1971 major=`Major mouse 10` || continue
1972 makedev apm_bios c $major 134 $mouse
1975 major=`Major dcf` || continue
1976 makedev $arg c $major 0 $system
1979 major=`Major hw` || continue
1980 makedev helloworld c $major 0 $public
1983 # For the Free S/WAN (http://www.xs4all.nl/~freeswan/)
1984 # implementation of IPSEC
1985 makedev ipsec c 36 10 $ipsec
1989 for minor in 0 1 2 3
1991 makedev comedi$minor c $major $minor $public
1997 makedev tipar$i c 115 $i $printer
1998 makedev tiser$i c 115 `math 8 + $i` $dialout
2002 makedev tiusb$i c 115 `math 16 + $i` $dialout
2006 # check if kernel-version is >= 2.6.8, if yes, create dvb-devices with
2007 # major-number 212, in the other case 250
2009 kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
2010 kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
2011 kern_rev3=`uname -r | sed -e 's@^[^.]*\.[^.]*\.\([^.][0-9]*\).*@\1@'`
2015 if [ $kern_rev1 -gt 2 ] || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -gt 6 ]) \
2016 || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -eq 6 ] && [ $kern_rev3 -ge 8 ])
2024 mkdir -p dvb/adapter$i
2025 makedev dvb/adapter$i/video0 c $dvb_major `math 64 \* $i + 0` $video
2026 makedev dvb/adapter$i/audio0 c $dvb_major `math 64 \* $i + 1` $video
2027 makedev dvb/adapter$i/frontend0 c $dvb_major `math 64 \* $i + 3` $video
2028 makedev dvb/adapter$i/demux0 c $dvb_major `math 64 \* $i + 4` $video
2029 makedev dvb/adapter$i/dvr0 c $dvb_major `math 64 \* $i + 5` $video
2030 makedev dvb/adapter$i/ca0 c $dvb_major `math 64 \* $i + 6` $video
2031 makedev dvb/adapter$i/net0 c $dvb_major `math 64 \* $i + 7` $video
2032 makedev dvb/adapter$i/osd0 c $dvb_major `math 64 \* $i + 8` $video
2038 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2040 makedev usb/lp$i c $major $i $printer
2041 makedev usb/mouse$i c $major `math $i + 16` $mouse
2042 makedev usb/ez$i c $major `math $i + 32` $system
2043 makedev usb/scanner$i c $major `math $i + 48` $scanner
2044 makedev usb/hiddev$i c $major `math $i + 96` $system
2045 makedev ttyACM$i c 166 $i $dialout
2046 makedev ttyUSB$i c 188 $i $dialout
2048 makedev usb/rio500 c $major 64 $audio
2049 makedev usb/usblcd c $major 65 $audio
2050 makedev usb/cpad0 c $major 66 $audio
2054 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
2055 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2057 makedev rfcomm$i c $major $i $dialout
2059 makedev vhci c 10 250 $dialout
2060 for i in 0 1 2 3; do
2061 makedev ttyUB$i c 216 $i $dialout
2062 makedev ccub$i c 217 $i $dialout
2069 base=`index abcd $unit`
2070 base=`math $base \* 16`
2071 makedev pd$unit b $major $base $disk
2072 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2074 makedev pd$unit$part b $major $(( $base + $part )) $disk
2079 makedev pcd$i b 46 $i $cdrom
2080 makedev pf$i b 47 $i $floppy
2085 if [ ! -f $procfs/devices ]
2087 echo "$0: warning: can't read $procfs/devices" >&2
2089 exec 3<$procfs/devices
2090 while read major device extra <&3
2092 device=`echo $device | sed 's#/.*##'`
2097 eval "major_$device=$major"
2098 devices="$devices $device"
2107 echo "$0: don't appear to have any devices" >&2
2112 echo "$0: can't delete an update" >&2
2121 while read device major <&3
2123 eval now=\$major_$device
2126 delete="$delete `cvt $device`"
2128 elif [ "$now" != $major ]
2130 create="$create "`cvt $device`
2132 devs=`strip " $devs " $device`
2136 create="$create "`cvt $devs`
2137 [ "$delete" != "" ] && $0 $opts -d $delete
2138 [ "$create" != " " ] && $0 $opts $create
2139 [ "$opt_n" ] && continue
2140 for device in $devices
2142 if [ "`cvt $device`" ]
2144 eval echo $device \$major_$device
2149 echo "$0: don't know how to make device \"$arg\"" >&2