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
52 echo "udev active, devices will be created in /dev/.static/dev/"
54 elif [ -d /.dev/ ] && [ "`pwd`" = /dev ] && [ -e /proc/mounts ] \
55 && grep -qE '^[^ ]+ /\.dev' /proc/mounts; then
56 echo "udev active, devices will be created in /.dev/"
58 elif [ -d .udevdb/ -o -d .udev/ ] && [ "`pwd`" = /dev ]; then
59 echo ".udevdb or .udev presence implies active udev. Aborting MAKEDEV invocation."
60 # use exit 0, not 1, so postinst scripts don't fail on this
64 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
66 # don't stomp on devfs users
69 echo ".devfsd presence implies active DevFS. Aborting MAKEDEV invocation."
70 # use exit 0, not 1, so postinst scripts don't fail on this
74 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
76 # don't stomp on non-Linux users
77 if [ "$(uname -s)" != "Linux" ]
79 echo "Results undefined on non-Linux systems, aborting MAKEDEV invocation."
80 # use exit 0, not 1, so postinst scripts don't fail on this
84 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
98 -n) shift; opt_n=1; opt_v=1 ;;
100 -*) echo "$0: unknown flag \"$1\"" >&2; exit 1 ;;
107 echo "This is Debian MAKEDEV. For version info, try 'dpkg --list makedev'"
108 echo "See /usr/share/doc/makedev/ for more information on Debian MAKEDEV."
112 opts="${opt_n:+-n} ${opt_v:+-v} ${opt_d:+-d}"
114 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
116 devicename () { # translate device names to something safe
117 # A-Z is not full alphabet in all locales (e.g. in et_EE)
118 echo "$*" | LC_ALL=C sed -e 's/[^A-Za-z0-9_]/_/g'
121 makedev () { # usage: makedev name [bcu] major minor owner group mode
124 then echo "delete $1"
125 else echo "create $1 $2 $3 $4 $5:$6 $7"
128 # missing parameters are a bug - bail - should we do an exit 1 here?
129 case :$1:$2:$3:$4:$5:$6:$7: in
130 *::*) echo "Warning: MAKEDEV $@ is missing parameter(s)." >&2;;
139 if mknod $1- $2 $3 $4 &&
146 # Didn't work, clean up any mess...
147 echo "makedev $@: failed"
153 symlink () { # usage: symlink name target
156 then echo "delete $1"
157 else echo "create $1 -> $2"
160 [ ! "$opt_n" ] && rm -f $1 &&
161 [ ! "$opt_d" ] && ln -s $2 $1
164 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
166 # Debian allows us to assume /bin/sh is a POSIX compliant shell, so go for it!
171 index () { # index string c
179 eval echo "\${1% $2 *} \${1#* $2 }"
188 echo $1 | dd bs=1 count=1 skip=$(( $2 - 1 )) 2> /dev/null
191 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
194 if [ ! -f $procfs/devices ]
196 echo "$0: warning: can't read $procfs/devices" >&2
198 exec 3<$procfs/devices
199 while read major device extra <&3
201 device=`echo $device | sed 's#/.*##'`
206 safedevname=`devicename $device`
207 eval "major_$safedevname=$major"
208 devices="$devices $device"
217 devname=`devicename $1`
222 eval echo \${major_$devname:-\${device:?\"unknown major number for $1\"}}
230 mem|tty|ttyp|cua|cub|cui) ;;
231 hd) (for d in a b c d e f g h i j k l m n o p ; do
235 ide0) echo hda hdb ;;
236 ide1) echo hdc hdd ;;
237 ide2) echo hde hdf ;;
238 ide3) echo hdg hdh ;;
239 ide4) echo hdi hdj ;;
240 ide5) echo hdk hdl ;;
241 ide6) echo hdm hdn ;;
242 ide7) echo hdo hdp ;;
243 ide8) echo hdq hdr ;;
244 ide9) echo hds hdt ;;
245 sd) (for d in a b c d e f g h i j k l m n o p ; do
249 dasd) (for d in a b c d e f g h i j k l m \
250 n o p q r s t u v w x y z ; do
268 logiscan) echo logiscan ;;
269 ac4096) echo ac4096 ;;
270 hw) echo helloworld ;;
271 sbpcd | sbpcd[123]) echo $1 ;;
274 apm_bios) echo apm ;;
277 cm206cd) echo cm206cd ;;
279 pcmcia) ;; # taken care of by its own driver
280 ttyC) echo cyclades ;;
281 isdn) echo isdnmodem isdnbri dcbri ;;
286 agpgart) echo agpgart ;;
287 microcode) echo microcode ;;
288 ipmi|ipmikcs) echo ipmi ;;
290 nb|drbd) echo nb0 nb1 nb2 nb3 nb4 nb5 nb6 nb7;;
291 netlink) echo netlink ;;
293 hamradio) echo hamradio ;;
297 ttyB) (for l in 0 1 2 3 4 5 6 7 ; do
301 ttyS) echo ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ;;
302 ttyI) echo ttyI0 ttyI1 ttyI2 ttyI3 ;;
303 ircomm|irlpt) irda ;;
306 dpt_i2o) echo dpti ;;
307 bluetooth) echo bluetooth ;;
308 lvm) ;; # taken care of by LVM userspace tools
312 # *) echo "$0: don't know what \"$1\" is" >&2 ;;
321 # this is to make the case patterns work as expected in all locales
325 # pick the right generic-<arch> using dpkg's knowledge
326 case `dpkg --print-installation-architecture` in
328 $0 $opts generic-alpha
334 $0 $opts generic-hppa
337 $0 $opts generic-i386
340 $0 $opts generic-i386
343 $0 $opts generic-ia64
346 $0 $opts generic-m68k
349 $0 $opts generic-mips
352 $0 $opts generic-mipsel
355 $0 $opts generic-powerpc
358 $0 $opts generic-powerpc
361 $0 $opts generic-s390
367 $0 $opts generic-sparc
370 echo "$0: no support for generic on this arch" >&2
386 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
405 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
407 makedev sunmouse c 10 6 $mouse
423 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
424 $0 $opts ttyB0 ttyB1 ttyB2 ttyB3 ttyB4 ttyB5 ttyB6 ttyB7
443 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
450 $0 $opts isdn-io eda edb sonycd mcd mcdx cdu535
451 $0 $opts optcd sjcd cm206cd gscd
452 $0 $opts lmscd sbpcd aztcd bpcd dac960 dpti ida ataraid cciss
453 $0 $opts i2o.hda i2o.hdb i2o.hdc i2o.hdd
465 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5
481 $0 $opts ada adb adc add ade adf
484 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5
502 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
519 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
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 \
570 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
571 $0 $opts ttySC0 ttySC1 ttySC2 ttySC3
588 $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
592 makedev kbd c 11 0 $cons
593 makedev sunmouse c 10 6 $mouse
594 symlink mouse sunmouse
595 makedev openprom c 10 139 root root 0664
601 makedev mem c 1 1 $kmem
602 makedev kmem c 1 2 $kmem
603 makedev null c 1 3 $public
604 makedev port c 1 4 $kmem
605 makedev zero c 1 5 $public
606 symlink core $procfs/kcore
607 makedev full c 1 7 $public
608 makedev random c 1 8 $public
609 makedev urandom c 1 9 $public
610 makedev tty c 5 0 $tty
619 for unit in 0 1 2 3 4 5 6 7
621 makedev scc$unit c 34 $unit $system
625 for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
627 makedev mtd$unit c 90 `math $unit \* 2` $system
633 makedev bc$unit c 51 $unit $system
637 makedev random c 1 8 $public
640 makedev urandom c 1 9 $readable
643 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
644 makedev ram$i b 1 $i $disk
649 unit=`suffix $arg ram`
650 makedev ram$unit b 1 $unit $disk
653 makedev initrd b 1 250 $disk
656 makedev rawctl c 162 0 $disk
658 for i in 1 2 3 4 5 6 7 8; do
659 makedev raw/raw$i c 162 $i $disk
663 makedev tty0 c 4 0 $cons
664 # new kernels need a device, old ones a symlink... sigh
665 kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
666 kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
667 if [ $kern_rev1 -gt 2 ]
669 makedev console c 5 1 $cons
671 if [ $kern_rev1 -eq 2 ] && [ $kern_rev2 -ge 1 ]
673 makedev console c 5 1 $cons
681 major=`Major vcs 7` # not fatal
682 [ "$major" ] && makedev vcs0 c $major 0 $cons
684 [ "$major" ] && makedev vcsa0 c $major 128 $cons
688 while [ $line -le $MAXVT ] && [ $line -le 63 ]
690 makedev tty$line c 4 $line $cons
691 [ "$major" ] && makedev vcs$line c $major $line $cons
692 [ "$major" ] && makedev vcsa$line c $major `math $line + 128` $cons
693 line=`math $line + 1`
697 # pick the right arch device using dpkg's knowledge
698 case `dpkg --print-installation-architecture` in
700 # ADB bus devices (char)
701 makedev adb c 56 0 $mouse
702 makedev adbmouse c 10 10 $mouse
705 # ACSI disk 2, whole device (block)
706 makedev adb b 28 16 $disk
707 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
709 minor=$(( 16 + $part ))
710 makedev adb$part b 28 $minor $disk
714 echo "no support for adb on this arch" >&2
720 makedev raw1394 c 171 0 $disk
727 makedev video1394/$i c 171 `math 16 + $i` $video
731 echo "You requested 'alsa' devices. Please install the alsa-base package instead,"
732 echo "which creates and maintains device information for ALSA."
735 makedev nvram c 10 144 $mouse
737 tty[1-9]|tty[1-5][0-9]|tty[6][0-3])
738 line=`suffix $arg tty`
739 makedev tty$line c 4 $line $cons
741 ttyS[0-9]|ttyS[1-5][0-9]|ttyS[6][0-3])
742 line=`suffix $arg ttyS`
743 minor=`math 64 + $line`
744 makedev ttyS$line c 4 $minor $dialout
747 line=`suffix $arg ttySC`
748 minor=`math 8 + $line`
749 makedev ttySC$line c 204 $minor $dialout
752 minor=`suffix $arg ttyB`
753 makedev ttyB$minor c 11 $minor $dialout
756 bank=`suffix $arg pty`
757 base=`index pqrstuvwxyzabcde $bank`
758 base=`math $base \* 16`
759 for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f
761 j=`index 0123456789abcdef $i`
762 makedev pty$bank$i c 2 `math $base + $j` $tty
763 makedev tty$bank$i c 3 `math $base + $j` $tty
768 for i in p q r s t u v w x y z a b c d e
770 ptysufs="$ptysufs pty$i"
772 $0 $opts $ptysufs ptmx
775 # master pty multiplexer for 2.1 kernels
776 makedev ptmx c 5 2 $tty
779 major1=`Major ttyC 19` || continue
780 #major2=`Major cub 20` || continue
781 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
782 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
784 makedev ttyC$i c $major1 $i $dialout
785 #makedev cub$i c $major2 $i $dialout
789 major1=`Major ttyE 24` || continue
790 #major2=`Major cue 25` || continue
793 until [ $minor -gt 256 ]
795 makedev ttyE$minor c $major1 $minor $dialout
796 #makedev cue$minor c $major2 $minor $dialout
797 minor=`math $minor + 1`
801 makedev staliomem$i c $majorc $i $private
805 major1=`Major ttyH 17` || continue
806 #major2=`Major cuh 18` || continue
808 until [ $minor -gt 16 ] # tell me if 16 is wrong
810 makedev ttyH$minor c $major1 $minor $dialout
811 #makedev cuh$minor c $major2 $minor $dialout
812 minor=`math $minor + 1`
816 major1=`Major ttyR 46` || continue
817 #major2=`Major cur 47` || continue
819 until [ $minor -gt 64 ] # tell me if 64 is wrong
821 makedev ttyR$minor c $major1 $minor $dialout
822 #makedev cur$minor c $major2 $minor $dialout
823 minor=`math $minor + 1`
827 major1=`Major ttyV 105` || continue
828 #major2=`Major cuv 106` || continue
830 until [ $minor -gt 16 ] # tell me if 16 is wrong
832 makedev ttyV$minor c $major1 $minor $dialout
833 #makedev cuv$minor c $major2 $minor $dialout
834 minor=`math $minor + 1`
838 major1=`Major ttyD 22` || continue
839 #major2=`Major cud 23` || continue
841 until [ $minor -gt 16 ] # tell me if 16 is wrong
843 makedev ttyD$minor c $major1 $minor $dialout
844 #makedev cud$minor c $major2 $minor $dialout
845 minor=`math $minor + 1`
849 major1=`Major ttyX 32` || continue
850 #major2=`Major cux 33` || continue
852 until [ $minor -gt 16 ] # tell me if 16 is wrong
854 makedev ttyX$minor c $major1 $minor $dialout
855 #makedev cux$minor c $major2 $minor $dialout
856 minor=`math $minor + 1`
860 major1=`Major ttyW 75` || continue
861 #major2=`Major cuw 76` || continue
863 until [ $minor -gt 16 ] # tell me if 16 is wrong
865 makedev ttyW$minor c $major1 $minor $dialout
866 #makedev cuw$minor c $major2 $minor $dialout
867 minor=`math $minor + 1`
871 major1=`Major ttyM 79` || continue
872 #major2=`Major cum 80` || continue
874 until [ $minor -gt 16 ] # tell me if 16 is wrong
876 makedev ttyM$minor c $major1 $minor $dialout
877 #makedev cum$minor c $major2 $minor $dialout
878 minor=`math $minor + 1`
882 major=`Major ttyL 48` || continue
884 until [ $minor -gt 16 ] # tell me if 16 is wrong
886 makedev ttyL$minor c $major $minor $dialout
887 minor=`math $minor + 1`
891 major=`Major ttyF 71` || continue
892 #major2=`Major cuf 72` || continue
894 until [ $minor -gt 255 ]
896 makedev ttyF$minor c $major $minor $dialout
897 #makedev cuf$minor c $major2 $minor $dialout
898 minor=`math $minor + 1`
903 makedev ip2ipl$i c $major $i $private
904 makedev ip2stat$i c $major `math $i + 1` $private
908 major=`Major ttyP 57` || continue
909 #major2=`Major cup 58` || continue
911 until [ $minor -gt 4 ] # tell me if 4 is wrong
913 makedev ttyP$minor c $major $minor $dialout
914 #makedev cup$minor c $major2 $minor $dialout
915 minor=`math $minor + 1`
919 major=`Major comx 88` || continue
921 until [ $minor -gt 4 ] # tell me if 4 is wrong
923 makedev comx$minor c $major $minor $private
924 minor=`math $minor + 1`
928 major1=`Major ttyI 43` || continue
929 #major2=`Major cui 44` || continue
931 until [ $minor -gt 63 ]
933 makedev ttyI$minor c $major1 $minor $dialout
934 #makedev cui$minor c $major2 $minor $dialout
935 minor=`math $minor + 1`
941 until [ $minor -gt 63 ]
943 makedev isdn$minor c $major $minor $dialout
944 makedev isdnctrl$minor c $major `math $minor + 64` $dialout
945 makedev ippp$minor c $major `math $minor + 128` $dialout
946 minor=`math $minor + 1`
948 makedev isdninfo c $major 255 $private
954 makedev dcbri$i c $major $i $dialout
959 makedev capi20 c $major 0 $dialout
960 for i in 0 1 2 3 4 5 6 7 8 9
962 makedev capi20.0$i c $major `math $i + 1` $dialout
964 for i in 10 11 12 13 14 15 16 17 18 19
966 makedev capi20.$i c $major `math $i + 1` $dialout
971 for devicenum in 0 1 2 3 4 5 6 7
973 device=ubd`substr abcdefgh $(($devicenum + 1))`
974 baseminor=`math $devicenum \* 16`
975 makedev $device b $major $baseminor $disk
976 for partition in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
978 minor=`math $baseminor + $partition`
979 makedev $device$partition b $major $minor $disk
984 for i in 0 1 2 3 4 5 6 7
986 makedev fb$i c 29 $i $video
991 makedev fb$dev c 29 $dev $video
993 netlink|tap|tap[0-9]|tap1[0-5])
994 makedev route c 36 0 $coda
995 makedev skip c 36 1 $coda
996 makedev fwmonitor c 36 3 $coda
997 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
999 makedev tap$i c 36 `math $i + 16` $coda
1004 makedev net/tun c 10 200 $system
1007 major=`Major lp 6` || continue
1008 makedev ${arg}0 c $major 0 $printer
1009 makedev ${arg}1 c $major 1 $printer
1010 makedev ${arg}2 c $major 2 $printer
1013 major=`Major lp 6` || continue
1014 makedev ${arg}0 c $major 0 $printer
1015 makedev ${arg}1 c $major 1 $printer
1016 makedev ${arg}2 c $major 2 $printer
1019 major=`Major parport 99` || continue
1020 makedev ${arg}0 c $major 0 $printer
1021 makedev ${arg}1 c $major 1 $printer
1022 makedev ${arg}2 c $major 2 $printer
1025 major=`Major slm 28` || continue
1028 makedev slm c $major $i $printer
1032 major=`Major pcsp 13` || continue
1036 makedev input/js$i c $major $i $mouse
1037 makedev input/mouse$i c $major `math $i + 32` $mouse
1038 makedev input/event$i c $major `math $i + 64` $mouse
1040 makedev input/mice c $major 63 $mouse
1043 major=`Major mouse 10` || continue
1044 makedev logibm c $major 0 $mouse
1045 makedev psaux c $major 1 $mouse
1046 makedev inportbm c $major 2 $mouse
1047 makedev atibm c $major 3 $mouse
1048 makedev jbm c $major 4 $mouse
1051 major=`Major mouse 10` || continue
1052 makedev amigamouse c $major 4 $mouse
1053 makedev atarimouse c $major 5 $mouse
1054 makedev amigamouse1 c $major 7 $mouse
1055 makedev adbmouse c $major 10 $mouse
1058 major=`Major $arg 107` || continue
1059 makedev $arg c $major 0 $video
1062 major=`Major $arg 10` || continue
1063 makedev $arg c $major 175 $video
1066 major=`Major $arg 10` || continue
1067 makedev $arg c $major 183 $private
1070 major=`Major $arg 10` || continue
1071 makedev $arg c $major 227 $private
1075 makedev cpu/microcode c 10 184 $private
1079 makedev cpu/$i/msr c 202 $i $private
1080 makedev cpu/$i/cpuid c 203 $i $private
1084 major=`Major ipmikcs 10` || continue
1085 makedev ipmikcs c $major 173 $private
1090 makedev ircomm$i c 161 $i $dialout
1091 makedev irlpt$i c 161 `math $i + 16` $printer
1095 makedev irnet c 10 187 $system
1098 major=`Major mouse 10` || continue
1099 makedev logibm c $major 0 $mouse
1100 makedev psaux c $major 1 $mouse
1101 makedev inportbm c $major 2 $mouse
1102 makedev atibm c $major 3 $mouse
1103 makedev jbm c $major 4 $mouse
1104 makedev amigamouse c $major 4 $mouse
1105 makedev atarimouse c $major 5 $mouse
1106 makedev sunmouse c $major 6 $mouse
1107 makedev amigamouse1 c $major 7 $mouse
1108 makedev smouse c $major 8 $mouse
1109 makedev pc110pad c $major 9 $mouse
1110 makedev adbmouse c $major 10 $mouse
1111 makedev beep c $major 128 $mouse
1112 makedev modreq c $major 129 $mouse
1113 makedev watchdog c $major 130 $mouse
1114 makedev temperature c $major 131 $mouse
1115 makedev hwtrap c $major 132 $mouse
1116 makedev exttrp c $major 133 $mouse
1117 makedev apm_bios c $major 134 $mouse
1118 makedev rtc c $major 135 $mouse
1119 makedev openprom c $major 139 root root 0664
1120 makedev relay8 c $major 140 $mouse
1121 makedev relay16 c $major 141 $mouse
1122 makedev msr c $major 142 $mouse
1123 makedev pciconf c $major 143 $mouse
1124 makedev nvram c $major 144 $mouse
1125 makedev hfmodem c $major 145 $mouse
1126 makedev led c $major 151 $mouse
1127 makedev mergemem c $major 153 $mouse
1128 makedev pmu c $major 154 $mouse
1131 makedev fuse c 10 229 $system
1134 major=`Major mouse 10` || continue
1135 makedev pmu c $major 154 $mouse
1138 major=`Major mouse 10` || continue
1140 makedev thinkpad/thinkpad c $major 170 $mouse
1143 major=`Major mouse 10` || continue
1144 makedev rtc c $major 135 $mouse
1147 major=`Major mouse 10` || continue
1148 makedev efirtc c $major 136 $mouse
1151 makedev mwave c 10 219 $mouse
1154 makedev systrace c 10 226 $private
1157 makedev input/uinput c 10 223 $mouse
1160 major=`Major Joystick 13` || continue
1163 makedev js$unit c $major $unit $readable
1164 makedev djs$unit c $major `math $unit + 128` $readable
1168 major=`Major fd 2` || continue
1169 base=`suffix $arg fd`
1172 base=`math $base + 124`
1174 makedev ${arg} b $major $base $floppy
1175 makedev ${arg}d360 b $major `math $base + 4` $floppy
1176 makedev ${arg}h1200 b $major `math $base + 8` $floppy
1177 makedev ${arg}u360 b $major `math $base + 12` $floppy
1178 makedev ${arg}u720 b $major `math $base + 16` $floppy
1179 makedev ${arg}h360 b $major `math $base + 20` $floppy
1180 makedev ${arg}h720 b $major `math $base + 24` $floppy
1181 makedev ${arg}u1440 b $major `math $base + 28` $floppy
1182 makedev ${arg}u2880 b $major `math $base + 32` $floppy
1183 makedev ${arg}CompaQ b $major `math $base + 36` $floppy
1185 makedev ${arg}h1440 b $major `math $base + 40` $floppy
1186 makedev ${arg}u1680 b $major `math $base + 44` $floppy
1187 makedev ${arg}h410 b $major `math $base + 48` $floppy
1188 makedev ${arg}u820 b $major `math $base + 52` $floppy
1189 makedev ${arg}h1476 b $major `math $base + 56` $floppy
1190 makedev ${arg}u1722 b $major `math $base + 60` $floppy
1191 makedev ${arg}h420 b $major `math $base + 64` $floppy
1192 makedev ${arg}u830 b $major `math $base + 68` $floppy
1193 makedev ${arg}h1494 b $major `math $base + 72` $floppy
1194 makedev ${arg}u1743 b $major `math $base + 76` $floppy
1195 makedev ${arg}h880 b $major `math $base + 80` $floppy
1196 makedev ${arg}u1040 b $major `math $base + 84` $floppy
1197 makedev ${arg}u1120 b $major `math $base + 88` $floppy
1198 makedev ${arg}h1600 b $major `math $base + 92` $floppy
1199 makedev ${arg}u1760 b $major `math $base + 96` $floppy
1200 makedev ${arg}u1920 b $major `math $base + 100` $floppy
1201 makedev ${arg}u3200 b $major `math $base + 104` $floppy
1202 makedev ${arg}u3520 b $major `math $base + 108` $floppy
1203 makedev ${arg}u3840 b $major `math $base + 112` $floppy
1204 makedev ${arg}u1840 b $major `math $base + 116` $floppy
1205 makedev ${arg}u800 b $major `math $base + 120` $floppy
1206 makedev ${arg}u1600 b $major `math $base + 124` $floppy
1209 major=`Major ed 36` || continue
1210 unit=`suffix $arg ed`
1211 base=`index ab $unit`
1212 base=`math $base \* 64`
1213 makedev ed$unit b $major $base $disk
1214 for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
1216 makedev ed$unit$part b $major `math $base + $part` $disk
1220 major=`Major ide0` || major=`Major hd 3` || continue
1221 unit=`suffix $arg hd`
1222 base=`index ab $unit`
1223 base=`math $base \* 64`
1224 makedev hd$unit b $major $base $disk
1225 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1227 makedev hd$unit$part b $major `math $base + $part` $disk
1231 major=`Major ide1 22` || continue
1232 unit=`suffix $arg hd`
1233 base=`index cd $unit`
1234 base=`math $base \* 64`
1235 makedev hd$unit b $major $base $disk
1236 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1238 makedev hd$unit$part b $major $(( $base + $part )) $disk
1242 major=`Major ide2 33` || continue
1243 unit=`suffix $arg hd`
1244 base=`index ef $unit`
1245 base=`math $base \* 64`
1246 makedev hd$unit b $major $base $disk
1247 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1249 makedev hd$unit$part b $major $(( $base + $part )) $disk
1253 major=`Major ide3 34` || continue
1254 unit=`suffix $arg hd`
1255 base=`index gh $unit`
1256 base=`math $base \* 64`
1257 makedev hd$unit b $major $base $disk
1258 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1260 makedev hd$unit$part b $major $(( $base + $part )) $disk
1264 major=`Major ide4 56` || continue
1265 unit=`suffix $arg hd`
1266 base=`index ij $unit`
1267 base=`math $base \* 64`
1268 makedev hd$unit b $major $base $disk
1269 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1271 makedev hd$unit$part b $major $(( $base + $part )) $disk
1275 major=`Major ide5 57` || continue
1276 unit=`suffix $arg hd`
1277 base=`index kl $unit`
1278 base=`math $base \* 64`
1279 makedev hd$unit b $major $base $disk
1280 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1282 makedev hd$unit$part b $major $(( $base + $part )) $disk
1286 major=`Major ide6 88` || continue
1287 unit=`suffix $arg hd`
1288 base=`index mn $unit`
1289 base=`math $base \* 64`
1290 makedev hd$unit b $major $base $disk
1291 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1293 makedev hd$unit$part b $major $(( $base + $part )) $disk
1297 major=`Major ide7 89` || continue
1298 unit=`suffix $arg hd`
1299 base=`index op $unit`
1300 base=`math $base \* 64`
1301 makedev hd$unit b $major $base $disk
1302 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1304 makedev hd$unit$part b $major $(( $base + $part )) $disk
1308 major=`Major ide8 90` || continue
1309 unit=`suffix $arg hd`
1310 base=`index qr $unit`
1311 base=`math $base \* 64`
1312 makedev hd$unit b $major $base $disk
1313 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1315 makedev hd$unit$part b $major $(( $base + $part )) $disk
1319 major=`Major ide9 91` || continue
1320 unit=`suffix $arg hd`
1321 base=`index st $unit`
1322 base=`math $base \* 64`
1323 makedev hd$unit b $major $base $disk
1324 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1326 makedev hd$unit$part b $major $(( $base + $part )) $disk
1331 makedev uba b $major 0 $disk
1332 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1334 makedev uba$part b $major $part $disk
1338 major=`Major ht0 37` || continue
1339 # Only one IDE tape drive is currently supported; ht0.
1340 makedev ht0 c $major 0 $tape
1341 makedev nht0 c $major 128 $tape
1344 major=`Major pt 96` || continue
1347 makedev pt$i c $major $i $tape
1348 makedev npt$i c $major `math $i + 128` $tape
1352 major=`Major xd 13` || continue
1353 unit=`suffix $arg xd`
1354 base=`index abcd $unit`
1355 base=`math $base \* 64`
1356 makedev xd$unit b $major $base $disk
1357 for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
1359 makedev xd$unit$part b $major $(( $base + $part )) $disk
1363 major=`Major sd 8` || continue
1364 unit=`suffix $arg sd`
1365 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1366 base=$(( $base * 16 ))
1367 if [ $base -lt 256 ]; then
1371 base=$(( $base - 256 ))
1373 makedev sd$unit b $major $base $disk
1374 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1376 minor=$(( $base + $part ))
1377 makedev sd$unit$part b $major $minor $disk
1381 unit=`suffix $arg sd`
1382 unitmaj=`first $unit`
1383 unitmin=`second $unit`
1384 basemaj=`index Xabcd $unitmaj`
1385 basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
1386 basemaj=`math $basemaj \* 416`
1387 basemin=`math $basemin \* 16`
1388 base=`math $basemaj + $basemin`
1389 basemaj=`math $base / 256`
1390 base=`math $base % 256`
1391 major=`math basemaj \+ 64`
1392 if [ $major -gt 71 ]; then
1393 echo "$0: don't know how to make device \"$arg\"" >&2
1396 makedev sd$unit b $major $base $disk
1397 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1399 minor=$(( $base + $part ))
1400 makedev sd$unit$part b $major $minor $disk
1408 [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
1410 unit=`suffix $arg i2o.hd`
1411 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1412 base=$(( $base * 16 ))
1413 if [ $base -lt 256 ]; then
1417 base=$(( $base - 256 ))
1419 makedev i2o/hd$unit b $major $base $disk
1420 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1422 minor=$(( $base + $part ))
1423 makedev i2o/hd$unit$part b $major $minor $disk
1431 [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
1433 unit=`suffix $arg i2o.hd`
1434 unitmaj=`first $unit`
1435 unitmin=`second $unit`
1436 basemaj=`index Xabcd $unitmaj`
1437 basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
1438 basemaj=`math $basemaj \* 416`
1439 basemin=`math $basemin \* 16`
1440 base=`math $basemaj + $basemin`
1441 basemaj=`math $base / 256`
1442 base=`math $base % 256`
1443 major=`math basemaj \+ 80`
1444 if [ $major -gt 87 ]; then
1445 echo "$0: don't know how to make device \"$arg\"" >&2
1448 makedev i2o/hd$unit b $major $base $disk
1449 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1451 minor=$(( $base + $part ))
1452 makedev i2o/hd$unit$part b $major $minor $disk
1456 major=`Major dasd 94` || continue
1457 unit=`suffix $arg dasd`
1458 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1459 base=$(( $base * 4 ))
1460 if [ $base -lt 256 ]; then
1464 base=$(( $base - 256 ))
1466 makedev dasd$unit b $major $base $disk
1469 minor=$(( $base + $part ))
1470 makedev dasd$unit$part b $major $minor $disk
1474 major=`Major ad 28` || continue
1475 unit=`suffix $arg ad`
1476 base=`index abcdefghijklmnop $unit`
1477 base=`math $base \* 16`
1478 makedev ad$unit b $major $base $disk
1479 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1481 minor=$(( $base + $part ))
1482 makedev ad$unit$part b $major $minor $disk
1486 for ctr in 0 1 2 3 4 5 6 7
1488 $0 $opts dac960.$ctr
1490 makedev dac960_gam c 10 252 $disk
1498 unit=`suffix $arg dac960.`
1499 major=`math 48 + $unit`
1501 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
1502 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1504 makedev rd/c${unit}d${ld} b $major $minor $disk
1505 minor=`math $minor + 1`
1506 for part in 1 2 3 4 5 6 7
1508 makedev rd/c${unit}d${ld}p$part b $major $minor $disk
1509 minor=`math $minor + 1`
1515 for ld in 1 2 3 4 5 6 7
1518 makedev dpti${ld} c $major $minor $disk
1522 for ctr in 0 1 2 # 3 4 5 6 7
1524 $0 $opts ataraid.$ctr
1530 chown root:root ataraid
1533 unit=`suffix $arg ataraid.`
1535 minor=`math $unit \* 16`
1536 makedev ataraid/d${unit} b $major $minor $disk
1537 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1539 minor=`math $minor + 1`
1540 makedev ataraid/d${unit}p$part b $major $minor $disk
1544 for ctr in 0 1 2 # 3 4 5 6 7
1555 unit=`suffix $arg ida.`
1556 major=`math 72 + $unit`
1558 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1560 makedev ida/c${unit}d${ld} b $major $minor $disk
1561 minor=`math $minor + 1`
1562 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1564 makedev ida/c${unit}d${ld}p$part b $major $minor $disk
1565 minor=`math $minor + 1`
1570 for ctr in 0 1 2 # 3 4 5 6 7
1578 chown root:root cciss
1581 unit=`suffix $arg cciss.`
1582 major=`math 104 + $unit`
1584 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1586 makedev cciss/c${unit}d${ld} b $major $minor $disk
1587 minor=`math $minor + 1`
1588 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1590 makedev cciss/c${unit}d${ld}p$part b $major $minor $disk
1591 minor=`math $minor + 1`
1596 major=`Major rom 31`
1597 for i in 0 1 2 3 4 5 6 7
1599 makedev rom$i b $major $i $disk
1600 makedev rrom$i b $major `math $i +8` $disk
1601 makedev flash$i b $major `math $i +16` $disk
1602 makedev rflash$i b $major `math $i +24` $disk
1606 major=`Major nbd 43` || continue
1607 minor=`suffix $arg nb`
1608 makedev nb$minor b $major $minor $disk
1611 for part in 0 1 2 3 4 5 6 7
1613 makedev loop$part b 7 $part $disk
1616 loop[0-9]|loop[1-9][0-9]|loop1[0-9][0-9]|loop2[0-4][0-9]|loop25[0-5])
1617 minor=`suffix $arg loop`
1618 makedev loop$minor b 7 $minor $disk
1621 major=`Major md 9` || continue
1622 for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
1623 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1625 makedev md$part b $major $part $disk
1630 unit=`suffix $arg st`
1631 makedev st${unit} c $major $unit $tape
1632 makedev nst${unit} c $major `math 128 + $unit` $tape
1634 makedev st${unit}l c $major `math 32 + $unit` $tape
1635 makedev nst${unit}l c $major `math 160 + $unit` $tape
1637 makedev st${unit}m c $major `math 64 + $unit` $tape
1638 makedev nst${unit}m c $major `math 192 + $unit` $tape
1640 makedev st${unit}a c $major `math 96 + $unit` $tape
1641 makedev nst${unit}a c $major `math 224 + $unit` $tape
1644 major=`Major tpqic02 12`
1645 makedev ntpqic11 c $major 2 $tape
1646 makedev tpqic11 c $major 3 $tape
1647 makedev ntpqic24 c $major 4 $tape
1648 makedev tpqic24 c $major 5 $tape
1649 makedev ntpqic120 c $major 6 $tape
1650 makedev tpqic120 c $major 7 $tape
1651 makedev ntpqic150 c $major 8 $tape
1652 makedev tpqic150 c $major 9 $tape
1653 makedev rmt8 c $major 6 $tape
1654 makedev rmt16 c $major 8 $tape
1655 makedev tape-d c $major 136 $tape
1656 makedev tape-reset c $major 255 $tape
1660 major=`Major qft 27` || continue
1663 makedev qft$unit c $major $unit $tape
1664 makedev nqft$unit c $major `math $unit + 4` $tape
1665 makedev zqft$unit c $major `math $unit + 16` $tape
1666 makedev nzqft$unit c $major `math $unit + 20` $tape
1667 makedev rawqft$unit c $major `math $unit + 32` $tape
1668 makedev nrawqft$unit c $major `math $unit + 36` $tape
1671 symlink nftape nqft0
1674 major=`Major sr 11` || continue
1675 for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1677 makedev scd$unit b $major $unit $cdrom
1678 symlink sr$unit scd$unit
1685 makedev pktcdvd$unit b $major $unit $cdrom
1689 makedev cfs0 c 67 0 $coda
1691 scd[0-9]|scd[0-1][0-9])
1692 major=`Major sr 11` || continue
1693 unit=`suffix $arg scd`
1694 makedev scd$unit b $major $unit $cdrom
1695 symlink sr$unit scd$unit
1697 ttyI[0-9]|ttyI[1-5][0-9]|ttyI[6][0-3])
1699 unit=`suffix $arg ttyI`
1700 makedev ttyI$unit c $major $unit $dialout
1704 makedev ppp c $major 0 $dip
1706 ippp[0-9]|ippp[1-5][0-9]|ippp[6][0-3])
1708 unit=`suffix $arg ippp`
1709 minor=`math $unit + 128`
1710 makedev ippp$unit c $major $minor $dialout
1712 isdn[0-9]|isdn[1-5][0-9]|isdn[6][0-3])
1714 unit=`suffix $arg isdn`
1715 minor=`math $unit + 0`
1716 makedev isdn$unit c $major $minor $dialout
1718 isdnctrl[0-9]|isdnctrl[1-5][0-9]|isdnctrl[6][0-3])
1720 unit=`suffix $arg isdnctrl`
1721 minor=`math $unit + 64`
1722 makedev isdnctrl$unit c $major $minor $dialout
1725 makedev isdninfo c 45 255 $private
1729 for unit in 0 1 2 3 4 5 6 7
1731 makedev ttyI$unit c $major $unit $dialout
1736 for unit in 0 1 2 3 4 5 6 7
1738 makedev ippp$unit c $major `math $unit + 128` $dialout
1742 for unit in 0 1 2 3 4 5 6 7
1744 makedev isdn$unit c 45 $unit $dialout
1745 makedev isdnctrl$unit c 45 `math $unit + 64` $dialout
1746 makedev ippp$unit c 45 `math $unit + 128` $dialout
1748 makedev isdninfo c 45 255 $dialout
1751 major=`Major sonycd 15` || continue
1752 makedev $arg b $major 0 $cdrom
1755 major=`Major mcd 23` || continue
1756 makedev $arg b $major 0 $cdrom
1759 major=`Major $arg 20` || continue
1760 for unit in 0 1 2 3 4
1762 makedev mcdx$unit b $major $unit $cdrom
1764 test -r mcdx || symlink mcdx mcdx0
1767 makedev $arg b 24 0 $cdrom
1770 makedev $arg b 24 0 $cdrom
1773 major=`Major $arg 25` || continue
1774 base=`suffix ${arg}0 sbpcd`
1775 for minor in 0 1 2 3
1778 unit=$(substr 0123456789abcdef $(( $base * 4 + $minor + 1 )) )
1779 makedev sbpcd$unit b $major $minor $cdrom
1781 [ $arg = sbpcd ] && symlink $arg ${arg}0
1784 major=`Major $arg 29` || continue
1785 makedev ${arg}0 b $major 0 $cdrom
1788 major=`Major $arg 30` || continue
1789 makedev ${arg}0 b $major 0 $cdrom
1792 major=`Major $arg 16` || continue
1793 makedev ${arg}0 b $major 0 $cdrom
1798 makedev pcd$unit b 46 $unit $cdrom
1802 makedev $arg b 41 0 $cdrom
1805 makedev $arg b 17 0 $cdrom
1808 makedev $arg b 18 0 $cdrom
1811 makedev cfs0 c 67 0 $private
1814 makedev xfs0 c 103 0 $private
1815 makedev nnpfs0 c 103 0 $private
1818 major=`Major logiscan` || continue
1819 makedev $arg c $major 0 $scanner
1822 major=`Major $arg 10` || continue
1823 makedev $arg c $major 181 root root 0666
1826 major=`Major m105` || continue
1827 makedev $arg c $major 0 $scanner
1830 major=`Major ac4096` || continue
1831 makedev $arg c $major 0 $scanner
1834 major=`Major sound 14`
1835 makedev mixer c $major 0 $audio
1836 makedev mixer1 c $major 16 $audio
1837 makedev mixer2 c $major 32 $audio
1838 makedev mixer3 c $major 48 $audio
1839 makedev sequencer c $major 1 $audio
1840 makedev midi00 c $major 2 $audio
1841 makedev midi01 c $major 18 $audio
1842 makedev midi02 c $major 34 $audio
1843 makedev midi03 c $major 50 $audio
1844 makedev dsp c $major 3 $audio
1845 makedev dsp1 c $major 19 $audio
1846 makedev dsp2 c $major 35 $audio
1847 makedev dsp3 c $major 51 $audio
1848 makedev audio c $major 4 $audio
1849 makedev audio1 c $major 20 $audio
1850 makedev audio2 c $major 36 $audio
1851 makedev audio3 c $major 52 $audio
1852 makedev sndstat c $major 6 $audio
1853 makedev audioctl c $major 7 $audio
1855 makedev mpu401data c $major 0 $audio
1856 makedev mpu401stat c $major 1 $audio
1860 makedev midi$i c $major $i $audio
1861 makedev rmidi$i c $major `math $i + 64` $audio
1862 makedev smpte$i c $major `math $i + 128` $audio
1866 major=`Major pcsp 13` || continue
1867 makedev pcmixer c $major 0 $audio
1868 makedev pcsp c $major 3 $audio
1869 makedev pcaudio c $major 4 $audio
1871 video|video4linux|v4l|radio)
1872 # video4linux api includes radio, teletext, etc.
1873 major=`Major video 81` || continue
1875 until [ $minor -gt 63 ]
1877 makedev video$minor c $major $minor $video
1878 makedev radio$minor c $major `math $minor + 64` $video
1879 minor=`math $minor + 1`
1881 symlink radio radio0
1883 until [ $minor -gt 31 ]
1885 makedev vtx$minor c $major `math $minor + 192` $video
1886 makedev vbi$minor c $major `math $minor + 224` $video
1887 minor=`math $minor + 1`
1889 symlink video video0
1893 until [ $minor -gt 1 ]
1895 makedev winradio$minor c $major $minor $video
1896 minor=`math $minor + 1`
1899 makedev vtx c $major 0 $video
1900 makedev vttuner c $major 16 $video
1903 # making it possible to create an arbitrary number of i2c
1904 # devices might be good, but 8 should suffice for now
1905 major=`Major i2c 89` || continue
1907 until [ $minor -gt 7 ]
1909 makedev i2c-$minor c $major $minor $private
1910 minor=`math $minor + 1`
1916 until [ $minor -gt 3 ] # tell me if 3 is wrong...
1918 makedev tlk$minor c $major $minor $video
1919 minor=`math $minor + 1`
1923 makedev srnd0 c 110 0 $video
1924 makedev srnd1 c 110 1 $video
1927 makedev mmetfgrab c 40 0 $video
1928 makedev wvisfgrab c 26 0 $video
1929 for i in 0 1 # more?
1931 makedev iscc$i c 93 $i $video
1932 makedev isccctl$i c 93 `math $i + 128` $video
1934 for i in 0 1 # more?
1936 makedev dcxx$i c 94 $i $video
1941 for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1943 makedev sg$unit c $major $unit $scsi
1950 makedev pg$unit c $major $unit $scsi
1954 # not really devices, we use the /proc filesystem
1955 symlink fd $procfs/self/fd
1961 major=`Major ibcs2 30` || continue
1962 makedev socksys c $major 0 $ibcs2
1963 symlink nfsd socksys
1964 makedev spx c $major 1 $ibcs2
1969 makedev route c $major 0 $private
1970 makedev skip c $major 1 $private
1974 makedev enskip c $major 0 $private
1978 makedev ipl c $major 0 $private
1979 makedev ipnat c $major 1 $private
1980 makedev ipstate c $major 2 $private
1981 makedev ipauth c $major 3 $private
1984 makedev qng c 77 0 $private
1987 major=`Major mouse 10` || continue
1988 makedev apm_bios c $major 134 $mouse
1991 major=`Major dcf` || continue
1992 makedev $arg c $major 0 $system
1995 major=`Major hw` || continue
1996 makedev helloworld c $major 0 $public
1999 # For the Free S/WAN (http://www.xs4all.nl/~freeswan/)
2000 # implementation of IPSEC
2001 makedev ipsec c 36 10 $ipsec
2005 for minor in 0 1 2 3
2007 makedev comedi$minor c $major $minor $public
2013 makedev tipar$i c 115 $i $printer
2014 makedev tiser$i c 115 `math 8 + $i` $dialout
2018 makedev tiusb$i c 115 `math 16 + $i` $dialout
2022 # check if kernel-version is >= 2.6.8, if yes, create dvb-devices with
2023 # major-number 212, in the other case 250
2025 kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
2026 kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
2027 kern_rev3=`uname -r | sed -e 's@^[^.]*\.[^.]*\.\([^.][0-9]*\).*@\1@'`
2031 if [ $kern_rev1 -gt 2 ] || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -gt 6 ]) \
2032 || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -eq 6 ] && [ $kern_rev3 -ge 8 ])
2040 mkdir -p dvb/adapter$i
2041 makedev dvb/adapter$i/video0 c $dvb_major `math 64 \* $i + 0` $video
2042 makedev dvb/adapter$i/audio0 c $dvb_major `math 64 \* $i + 1` $video
2043 makedev dvb/adapter$i/frontend0 c $dvb_major `math 64 \* $i + 3` $video
2044 makedev dvb/adapter$i/demux0 c $dvb_major `math 64 \* $i + 4` $video
2045 makedev dvb/adapter$i/dvr0 c $dvb_major `math 64 \* $i + 5` $video
2046 makedev dvb/adapter$i/ca0 c $dvb_major `math 64 \* $i + 6` $video
2047 makedev dvb/adapter$i/net0 c $dvb_major `math 64 \* $i + 7` $video
2048 makedev dvb/adapter$i/osd0 c $dvb_major `math 64 \* $i + 8` $video
2054 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2056 makedev usb/lp$i c $major $i $printer
2057 makedev usb/mouse$i c $major `math $i + 16` $mouse
2058 makedev usb/ez$i c $major `math $i + 32` $system
2059 makedev usb/scanner$i c $major `math $i + 48` $scanner
2060 makedev usb/hiddev$i c $major `math $i + 96` $system
2061 makedev ttyACM$i c 166 $i $dialout
2062 makedev ttyUSB$i c 188 $i $dialout
2064 makedev usb/rio500 c $major 64 $audio
2065 makedev usb/usblcd c $major 65 $audio
2066 makedev usb/cpad0 c $major 66 $audio
2070 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
2071 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2073 makedev rfcomm$i c $major $i $dialout
2075 makedev vhci c 10 250 $dialout
2076 for i in 0 1 2 3; do
2077 makedev ttyUB$i c 216 $i $dialout
2078 makedev ccub$i c 217 $i $dialout
2085 base=`index abcd $unit`
2086 base=`math $base \* 16`
2087 makedev pd$unit b $major $base $disk
2088 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2090 makedev pd$unit$part b $major $(( $base + $part )) $disk
2095 makedev pcd$i b 46 $i $cdrom
2096 makedev pf$i b 47 $i $floppy
2101 if [ ! -f $procfs/devices ]
2103 echo "$0: warning: can't read $procfs/devices" >&2
2105 exec 3<$procfs/devices
2106 while read major device extra <&3
2108 device=`echo $device | sed 's#/.*##'`
2113 eval "major_$device=$major"
2114 devices="$devices $device"
2123 echo "$0: don't appear to have any devices" >&2
2128 echo "$0: can't delete an update" >&2
2137 while read device major <&3
2139 eval now=\$major_$device
2142 delete="$delete `cvt $device`"
2144 elif [ "$now" != $major ]
2146 create="$create "`cvt $device`
2148 devs=`strip " $devs " $device`
2152 create="$create "`cvt $devs`
2153 [ "$delete" != "" ] && $0 $opts -d $delete
2154 [ "$create" != " " ] && $0 $opts $create
2155 [ "$opt_n" ] && continue
2156 for device in $devices
2158 if [ "`cvt $device`" ]
2160 eval echo $device \$major_$device
2165 echo "$0: don't know how to make device \"$arg\"" >&2