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 makedev irnet c 10 177 $system
1101 major=`Major mouse 10` || continue
1102 makedev logibm c $major 0 $mouse
1103 makedev psaux c $major 1 $mouse
1104 makedev inportbm c $major 2 $mouse
1105 makedev atibm c $major 3 $mouse
1106 makedev jbm c $major 4 $mouse
1107 makedev amigamouse c $major 4 $mouse
1108 makedev atarimouse c $major 5 $mouse
1109 makedev sunmouse c $major 6 $mouse
1110 makedev amigamouse1 c $major 7 $mouse
1111 makedev smouse c $major 8 $mouse
1112 makedev pc110pad c $major 9 $mouse
1113 makedev adbmouse c $major 10 $mouse
1114 makedev beep c $major 128 $mouse
1115 makedev modreq c $major 129 $mouse
1116 makedev watchdog c $major 130 $mouse
1117 makedev temperature c $major 131 $mouse
1118 makedev hwtrap c $major 132 $mouse
1119 makedev exttrp c $major 133 $mouse
1120 makedev apm_bios c $major 134 $mouse
1121 makedev rtc c $major 135 $mouse
1122 makedev openprom c $major 139 root root 0664
1123 makedev relay8 c $major 140 $mouse
1124 makedev relay16 c $major 141 $mouse
1125 makedev msr c $major 142 $mouse
1126 makedev pciconf c $major 143 $mouse
1127 makedev nvram c $major 144 $mouse
1128 makedev hfmodem c $major 145 $mouse
1129 makedev led c $major 151 $mouse
1130 makedev mergemem c $major 153 $mouse
1131 makedev pmu c $major 154 $mouse
1134 makedev fuse c 10 229 $system
1137 major=`Major mouse 10` || continue
1138 makedev pmu c $major 154 $mouse
1141 major=`Major mouse 10` || continue
1143 makedev thinkpad/thinkpad c $major 170 $mouse
1146 major=`Major mouse 10` || continue
1147 makedev rtc c $major 135 $mouse
1150 major=`Major mouse 10` || continue
1151 makedev efirtc c $major 136 $mouse
1154 makedev mwave c 10 219 $mouse
1157 makedev systrace c 10 226 $private
1161 makedev input/uinput c 10 223 $mouse
1164 major=`Major Joystick 13` || continue
1167 makedev js$unit c $major $unit $readable
1168 makedev djs$unit c $major `math $unit + 128` $readable
1172 major=`Major fd 2` || continue
1173 base=`suffix $arg fd`
1176 base=`math $base + 124`
1178 makedev ${arg} b $major $base $floppy
1179 makedev ${arg}d360 b $major `math $base + 4` $floppy
1180 makedev ${arg}h1200 b $major `math $base + 8` $floppy
1181 makedev ${arg}u360 b $major `math $base + 12` $floppy
1182 makedev ${arg}u720 b $major `math $base + 16` $floppy
1183 makedev ${arg}h360 b $major `math $base + 20` $floppy
1184 makedev ${arg}h720 b $major `math $base + 24` $floppy
1185 makedev ${arg}u1440 b $major `math $base + 28` $floppy
1186 makedev ${arg}u2880 b $major `math $base + 32` $floppy
1187 makedev ${arg}CompaQ b $major `math $base + 36` $floppy
1189 makedev ${arg}h1440 b $major `math $base + 40` $floppy
1190 makedev ${arg}u1680 b $major `math $base + 44` $floppy
1191 makedev ${arg}h410 b $major `math $base + 48` $floppy
1192 makedev ${arg}u820 b $major `math $base + 52` $floppy
1193 makedev ${arg}h1476 b $major `math $base + 56` $floppy
1194 makedev ${arg}u1722 b $major `math $base + 60` $floppy
1195 makedev ${arg}h420 b $major `math $base + 64` $floppy
1196 makedev ${arg}u830 b $major `math $base + 68` $floppy
1197 makedev ${arg}h1494 b $major `math $base + 72` $floppy
1198 makedev ${arg}u1743 b $major `math $base + 76` $floppy
1199 makedev ${arg}h880 b $major `math $base + 80` $floppy
1200 makedev ${arg}u1040 b $major `math $base + 84` $floppy
1201 makedev ${arg}u1120 b $major `math $base + 88` $floppy
1202 makedev ${arg}h1600 b $major `math $base + 92` $floppy
1203 makedev ${arg}u1760 b $major `math $base + 96` $floppy
1204 makedev ${arg}u1920 b $major `math $base + 100` $floppy
1205 makedev ${arg}u3200 b $major `math $base + 104` $floppy
1206 makedev ${arg}u3520 b $major `math $base + 108` $floppy
1207 makedev ${arg}u3840 b $major `math $base + 112` $floppy
1208 makedev ${arg}u1840 b $major `math $base + 116` $floppy
1209 makedev ${arg}u800 b $major `math $base + 120` $floppy
1210 makedev ${arg}u1600 b $major `math $base + 124` $floppy
1213 major=`Major ed 36` || continue
1214 unit=`suffix $arg ed`
1215 base=`index ab $unit`
1216 base=`math $base \* 64`
1217 makedev ed$unit b $major $base $disk
1218 for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
1220 makedev ed$unit$part b $major `math $base + $part` $disk
1224 major=`Major ide0` || major=`Major hd 3` || continue
1225 unit=`suffix $arg hd`
1226 base=`index ab $unit`
1227 base=`math $base \* 64`
1228 makedev hd$unit b $major $base $disk
1229 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
1231 makedev hd$unit$part b $major `math $base + $part` $disk
1235 major=`Major ide1 22` || continue
1236 unit=`suffix $arg hd`
1237 base=`index cd $unit`
1238 base=`math $base \* 64`
1239 makedev hd$unit b $major $base $disk
1240 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
1242 makedev hd$unit$part b $major $(( $base + $part )) $disk
1246 major=`Major ide2 33` || continue
1247 unit=`suffix $arg hd`
1248 base=`index ef $unit`
1249 base=`math $base \* 64`
1250 makedev hd$unit b $major $base $disk
1251 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
1253 makedev hd$unit$part b $major $(( $base + $part )) $disk
1257 major=`Major ide3 34` || continue
1258 unit=`suffix $arg hd`
1259 base=`index gh $unit`
1260 base=`math $base \* 64`
1261 makedev hd$unit b $major $base $disk
1262 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
1264 makedev hd$unit$part b $major $(( $base + $part )) $disk
1268 major=`Major ide4 56` || continue
1269 unit=`suffix $arg hd`
1270 base=`index ij $unit`
1271 base=`math $base \* 64`
1272 makedev hd$unit b $major $base $disk
1273 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
1275 makedev hd$unit$part b $major $(( $base + $part )) $disk
1279 major=`Major ide5 57` || continue
1280 unit=`suffix $arg hd`
1281 base=`index kl $unit`
1282 base=`math $base \* 64`
1283 makedev hd$unit b $major $base $disk
1284 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
1286 makedev hd$unit$part b $major $(( $base + $part )) $disk
1290 major=`Major ide6 88` || continue
1291 unit=`suffix $arg hd`
1292 base=`index mn $unit`
1293 base=`math $base \* 64`
1294 makedev hd$unit b $major $base $disk
1295 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
1297 makedev hd$unit$part b $major $(( $base + $part )) $disk
1301 major=`Major ide7 89` || continue
1302 unit=`suffix $arg hd`
1303 base=`index op $unit`
1304 base=`math $base \* 64`
1305 makedev hd$unit b $major $base $disk
1306 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
1308 makedev hd$unit$part b $major $(( $base + $part )) $disk
1312 major=`Major ide8 90` || continue
1313 unit=`suffix $arg hd`
1314 base=`index qr $unit`
1315 base=`math $base \* 64`
1316 makedev hd$unit b $major $base $disk
1317 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
1319 makedev hd$unit$part b $major $(( $base + $part )) $disk
1323 major=`Major ide9 91` || continue
1324 unit=`suffix $arg hd`
1325 base=`index st $unit`
1326 base=`math $base \* 64`
1327 makedev hd$unit b $major $base $disk
1328 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
1330 makedev hd$unit$part b $major $(( $base + $part )) $disk
1335 makedev uba b $major 0 $disk
1336 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1338 makedev uba$part b $major $part $disk
1342 major=`Major ht0 37` || continue
1343 # Only one IDE tape drive is currently supported; ht0.
1344 makedev ht0 c $major 0 $tape
1345 makedev nht0 c $major 128 $tape
1348 major=`Major pt 96` || continue
1351 makedev pt$i c $major $i $tape
1352 makedev npt$i c $major `math $i + 128` $tape
1356 major=`Major xd 13` || continue
1357 unit=`suffix $arg xd`
1358 base=`index abcd $unit`
1359 base=`math $base \* 64`
1360 makedev xd$unit b $major $base $disk
1361 for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
1363 makedev xd$unit$part b $major $(( $base + $part )) $disk
1367 major=`Major sd 8` || continue
1368 unit=`suffix $arg sd`
1369 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1370 base=$(( $base * 16 ))
1371 if [ $base -lt 256 ]; then
1375 base=$(( $base - 256 ))
1377 makedev sd$unit b $major $base $disk
1378 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1380 minor=$(( $base + $part ))
1381 makedev sd$unit$part b $major $minor $disk
1385 unit=`suffix $arg sd`
1386 unitmaj=`first $unit`
1387 unitmin=`second $unit`
1388 basemaj=`index Xabcd $unitmaj`
1389 basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
1390 basemaj=`math $basemaj \* 416`
1391 basemin=`math $basemin \* 16`
1392 base=`math $basemaj + $basemin`
1393 basemaj=`math $base / 256`
1394 base=`math $base % 256`
1395 major=`math basemaj \+ 64`
1396 if [ $major -gt 71 ]; then
1397 echo "$0: don't know how to make device \"$arg\"" >&2
1400 makedev sd$unit b $major $base $disk
1401 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1403 minor=$(( $base + $part ))
1404 makedev sd$unit$part b $major $minor $disk
1412 [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
1414 unit=`suffix $arg i2o.hd`
1415 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1416 base=$(( $base * 16 ))
1417 if [ $base -lt 256 ]; then
1421 base=$(( $base - 256 ))
1423 makedev i2o/hd$unit b $major $base $disk
1424 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1426 minor=$(( $base + $part ))
1427 makedev i2o/hd$unit$part b $major $minor $disk
1435 [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
1437 unit=`suffix $arg i2o.hd`
1438 unitmaj=`first $unit`
1439 unitmin=`second $unit`
1440 basemaj=`index Xabcd $unitmaj`
1441 basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
1442 basemaj=`math $basemaj \* 416`
1443 basemin=`math $basemin \* 16`
1444 base=`math $basemaj + $basemin`
1445 basemaj=`math $base / 256`
1446 base=`math $base % 256`
1447 major=`math basemaj \+ 80`
1448 if [ $major -gt 87 ]; then
1449 echo "$0: don't know how to make device \"$arg\"" >&2
1452 makedev i2o/hd$unit b $major $base $disk
1453 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1455 minor=$(( $base + $part ))
1456 makedev i2o/hd$unit$part b $major $minor $disk
1460 major=`Major dasd 94` || continue
1461 unit=`suffix $arg dasd`
1462 base=`index abcdefghijklmnopqrstuvwxyz $unit`
1463 base=$(( $base * 4 ))
1464 if [ $base -lt 256 ]; then
1468 base=$(( $base - 256 ))
1470 makedev dasd$unit b $major $base $disk
1473 minor=$(( $base + $part ))
1474 makedev dasd$unit$part b $major $minor $disk
1478 major=`Major ad 28` || continue
1479 unit=`suffix $arg ad`
1480 base=`index abcdefghijklmnop $unit`
1481 base=`math $base \* 16`
1482 makedev ad$unit b $major $base $disk
1483 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1485 minor=$(( $base + $part ))
1486 makedev ad$unit$part b $major $minor $disk
1490 for ctr in 0 1 2 3 4 5 6 7
1492 $0 $opts dac960.$ctr
1494 makedev dac960_gam c 10 252 $disk
1502 unit=`suffix $arg dac960.`
1503 major=`math 48 + $unit`
1505 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
1506 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1508 makedev rd/c${unit}d${ld} b $major $minor $disk
1509 minor=`math $minor + 1`
1510 for part in 1 2 3 4 5 6 7
1512 makedev rd/c${unit}d${ld}p$part b $major $minor $disk
1513 minor=`math $minor + 1`
1519 for ld in 1 2 3 4 5 6 7
1522 makedev dpti${ld} c $major $minor $disk
1526 for ctr in 0 1 2 # 3 4 5 6 7
1528 $0 $opts ataraid.$ctr
1534 chown root:root ataraid
1537 unit=`suffix $arg ataraid.`
1539 minor=`math $unit \* 16`
1540 makedev ataraid/d${unit} b $major $minor $disk
1541 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1543 minor=`math $minor + 1`
1544 makedev ataraid/d${unit}p$part b $major $minor $disk
1548 for ctr in 0 1 2 # 3 4 5 6 7
1559 unit=`suffix $arg ida.`
1560 major=`math 72 + $unit`
1562 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1564 makedev ida/c${unit}d${ld} b $major $minor $disk
1565 minor=`math $minor + 1`
1566 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1568 makedev ida/c${unit}d${ld}p$part b $major $minor $disk
1569 minor=`math $minor + 1`
1574 for ctr in 0 1 2 # 3 4 5 6 7
1582 chown root:root cciss
1585 unit=`suffix $arg cciss.`
1586 major=`math 104 + $unit`
1588 for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1590 makedev cciss/c${unit}d${ld} b $major $minor $disk
1591 minor=`math $minor + 1`
1592 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1594 makedev cciss/c${unit}d${ld}p$part b $major $minor $disk
1595 minor=`math $minor + 1`
1600 major=`Major rom 31`
1601 for i in 0 1 2 3 4 5 6 7
1603 makedev rom$i b $major $i $disk
1604 makedev rrom$i b $major `math $i +8` $disk
1605 makedev flash$i b $major `math $i +16` $disk
1606 makedev rflash$i b $major `math $i +24` $disk
1610 major=`Major nbd 43` || continue
1611 minor=`suffix $arg nb`
1612 makedev nb$minor b $major $minor $disk
1615 for part in 0 1 2 3 4 5 6 7
1617 makedev loop$part b 7 $part $disk
1620 loop[0-9]|loop[1-9][0-9]|loop1[0-9][0-9]|loop2[0-4][0-9]|loop25[0-5])
1621 minor=`suffix $arg loop`
1622 makedev loop$minor b 7 $minor $disk
1625 major=`Major md 9` || continue
1626 for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
1627 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
1629 makedev md$part b $major $part $disk
1634 unit=`suffix $arg st`
1635 makedev st${unit} c $major $unit $tape
1636 makedev nst${unit} c $major `math 128 + $unit` $tape
1638 makedev st${unit}l c $major `math 32 + $unit` $tape
1639 makedev nst${unit}l c $major `math 160 + $unit` $tape
1641 makedev st${unit}m c $major `math 64 + $unit` $tape
1642 makedev nst${unit}m c $major `math 192 + $unit` $tape
1644 makedev st${unit}a c $major `math 96 + $unit` $tape
1645 makedev nst${unit}a c $major `math 224 + $unit` $tape
1648 major=`Major tpqic02 12`
1649 makedev ntpqic11 c $major 2 $tape
1650 makedev tpqic11 c $major 3 $tape
1651 makedev ntpqic24 c $major 4 $tape
1652 makedev tpqic24 c $major 5 $tape
1653 makedev ntpqic120 c $major 6 $tape
1654 makedev tpqic120 c $major 7 $tape
1655 makedev ntpqic150 c $major 8 $tape
1656 makedev tpqic150 c $major 9 $tape
1657 makedev rmt8 c $major 6 $tape
1658 makedev rmt16 c $major 8 $tape
1659 makedev tape-d c $major 136 $tape
1660 makedev tape-reset c $major 255 $tape
1664 major=`Major qft 27` || continue
1667 makedev qft$unit c $major $unit $tape
1668 makedev nqft$unit c $major `math $unit + 4` $tape
1669 makedev zqft$unit c $major `math $unit + 16` $tape
1670 makedev nzqft$unit c $major `math $unit + 20` $tape
1671 makedev rawqft$unit c $major `math $unit + 32` $tape
1672 makedev nrawqft$unit c $major `math $unit + 36` $tape
1675 symlink nftape nqft0
1678 major=`Major sr 11` || continue
1679 for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1681 makedev scd$unit b $major $unit $cdrom
1682 symlink sr$unit scd$unit
1689 makedev pktcdvd$unit b $major $unit $cdrom
1693 makedev cfs0 c 67 0 $coda
1695 scd[0-9]|scd[0-1][0-9])
1696 major=`Major sr 11` || continue
1697 unit=`suffix $arg scd`
1698 makedev scd$unit b $major $unit $cdrom
1699 symlink sr$unit scd$unit
1701 ttyI[0-9]|ttyI[1-5][0-9]|ttyI[6][0-3])
1703 unit=`suffix $arg ttyI`
1704 makedev ttyI$unit c $major $unit $dialout
1708 makedev ppp c $major 0 $dip
1710 ippp[0-9]|ippp[1-5][0-9]|ippp[6][0-3])
1712 unit=`suffix $arg ippp`
1713 minor=`math $unit + 128`
1714 makedev ippp$unit c $major $minor $dialout
1716 isdn[0-9]|isdn[1-5][0-9]|isdn[6][0-3])
1718 unit=`suffix $arg isdn`
1719 minor=`math $unit + 0`
1720 makedev isdn$unit c $major $minor $dialout
1722 isdnctrl[0-9]|isdnctrl[1-5][0-9]|isdnctrl[6][0-3])
1724 unit=`suffix $arg isdnctrl`
1725 minor=`math $unit + 64`
1726 makedev isdnctrl$unit c $major $minor $dialout
1729 makedev isdninfo c 45 255 $private
1733 for unit in 0 1 2 3 4 5 6 7
1735 makedev ttyI$unit c $major $unit $dialout
1740 for unit in 0 1 2 3 4 5 6 7
1742 makedev ippp$unit c $major `math $unit + 128` $dialout
1746 for unit in 0 1 2 3 4 5 6 7
1748 makedev isdn$unit c 45 $unit $dialout
1749 makedev isdnctrl$unit c 45 `math $unit + 64` $dialout
1750 makedev ippp$unit c 45 `math $unit + 128` $dialout
1752 makedev isdninfo c 45 255 $dialout
1755 major=`Major sonycd 15` || continue
1756 makedev $arg b $major 0 $cdrom
1759 major=`Major mcd 23` || continue
1760 makedev $arg b $major 0 $cdrom
1763 major=`Major $arg 20` || continue
1764 for unit in 0 1 2 3 4
1766 makedev mcdx$unit b $major $unit $cdrom
1768 test -r mcdx || symlink mcdx mcdx0
1771 makedev $arg b 24 0 $cdrom
1774 makedev $arg b 24 0 $cdrom
1777 major=`Major $arg 25` || continue
1778 base=`suffix ${arg}0 sbpcd`
1779 for minor in 0 1 2 3
1782 unit=$(substr 0123456789abcdef $(( $base * 4 + $minor + 1 )) )
1783 makedev sbpcd$unit b $major $minor $cdrom
1785 [ $arg = sbpcd ] && symlink $arg ${arg}0
1788 major=`Major $arg 29` || continue
1789 makedev ${arg}0 b $major 0 $cdrom
1792 major=`Major $arg 30` || continue
1793 makedev ${arg}0 b $major 0 $cdrom
1796 major=`Major $arg 16` || continue
1797 makedev ${arg}0 b $major 0 $cdrom
1802 makedev pcd$unit b 46 $unit $cdrom
1806 makedev $arg b 41 0 $cdrom
1809 makedev $arg b 17 0 $cdrom
1812 makedev $arg b 18 0 $cdrom
1815 makedev cfs0 c 67 0 $private
1818 makedev xfs0 c 103 0 $private
1819 makedev nnpfs0 c 103 0 $private
1822 major=`Major logiscan` || continue
1823 makedev $arg c $major 0 $scanner
1826 major=`Major $arg 10` || continue
1827 makedev $arg c $major 181 root root 0666
1830 major=`Major m105` || continue
1831 makedev $arg c $major 0 $scanner
1834 major=`Major ac4096` || continue
1835 makedev $arg c $major 0 $scanner
1838 major=`Major sound 14`
1839 makedev mixer c $major 0 $audio
1840 makedev mixer1 c $major 16 $audio
1841 makedev mixer2 c $major 32 $audio
1842 makedev mixer3 c $major 48 $audio
1843 makedev sequencer c $major 1 $audio
1844 makedev midi00 c $major 2 $audio
1845 makedev midi01 c $major 18 $audio
1846 makedev midi02 c $major 34 $audio
1847 makedev midi03 c $major 50 $audio
1848 makedev dsp c $major 3 $audio
1849 makedev dsp1 c $major 19 $audio
1850 makedev dsp2 c $major 35 $audio
1851 makedev dsp3 c $major 51 $audio
1852 makedev audio c $major 4 $audio
1853 makedev audio1 c $major 20 $audio
1854 makedev audio2 c $major 36 $audio
1855 makedev audio3 c $major 52 $audio
1856 makedev sndstat c $major 6 $audio
1857 makedev audioctl c $major 7 $audio
1859 makedev mpu401data c $major 0 $audio
1860 makedev mpu401stat c $major 1 $audio
1864 makedev midi$i c $major $i $audio
1865 makedev rmidi$i c $major `math $i + 64` $audio
1866 makedev smpte$i c $major `math $i + 128` $audio
1870 major=`Major pcsp 13` || continue
1871 makedev pcmixer c $major 0 $audio
1872 makedev pcsp c $major 3 $audio
1873 makedev pcaudio c $major 4 $audio
1875 video|video4linux|v4l|radio)
1876 # video4linux api includes radio, teletext, etc.
1877 major=`Major video 81` || continue
1879 until [ $minor -gt 63 ]
1881 makedev video$minor c $major $minor $video
1882 makedev radio$minor c $major `math $minor + 64` $video
1883 minor=`math $minor + 1`
1885 symlink radio radio0
1887 until [ $minor -gt 31 ]
1889 makedev vtx$minor c $major `math $minor + 192` $video
1890 makedev vbi$minor c $major `math $minor + 224` $video
1891 minor=`math $minor + 1`
1893 symlink video video0
1897 until [ $minor -gt 1 ]
1899 makedev winradio$minor c $major $minor $video
1900 minor=`math $minor + 1`
1903 makedev vtx c $major 0 $video
1904 makedev vttuner c $major 16 $video
1907 # making it possible to create an arbitrary number of i2c
1908 # devices might be good, but 8 should suffice for now
1909 major=`Major i2c 89` || continue
1911 until [ $minor -gt 7 ]
1913 makedev i2c-$minor c $major $minor $private
1914 minor=`math $minor + 1`
1920 until [ $minor -gt 3 ] # tell me if 3 is wrong...
1922 makedev tlk$minor c $major $minor $video
1923 minor=`math $minor + 1`
1927 makedev srnd0 c 110 0 $video
1928 makedev srnd1 c 110 1 $video
1931 makedev mmetfgrab c 40 0 $video
1932 makedev wvisfgrab c 26 0 $video
1933 for i in 0 1 # more?
1935 makedev iscc$i c 93 $i $video
1936 makedev isccctl$i c 93 `math $i + 128` $video
1938 for i in 0 1 # more?
1940 makedev dcxx$i c 94 $i $video
1945 for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1947 makedev sg$unit c $major $unit $scsi
1954 makedev pg$unit c $major $unit $scsi
1958 # not really devices, we use the /proc filesystem
1959 symlink fd $procfs/self/fd
1965 major=`Major ibcs2 30` || continue
1966 makedev socksys c $major 0 $ibcs2
1967 symlink nfsd socksys
1968 makedev spx c $major 1 $ibcs2
1973 makedev route c $major 0 $private
1974 makedev skip c $major 1 $private
1978 makedev enskip c $major 0 $private
1982 makedev ipl c $major 0 $private
1983 makedev ipnat c $major 1 $private
1984 makedev ipstate c $major 2 $private
1985 makedev ipauth c $major 3 $private
1988 makedev qng c 77 0 $private
1991 major=`Major mouse 10` || continue
1992 makedev apm_bios c $major 134 $mouse
1995 major=`Major dcf` || continue
1996 makedev $arg c $major 0 $system
1999 major=`Major hw` || continue
2000 makedev helloworld c $major 0 $public
2003 # For the Free S/WAN (http://www.xs4all.nl/~freeswan/)
2004 # implementation of IPSEC
2005 makedev ipsec c 36 10 $ipsec
2009 for minor in 0 1 2 3
2011 makedev comedi$minor c $major $minor $public
2017 makedev tipar$i c 115 $i $printer
2018 makedev tiser$i c 115 `math 8 + $i` $dialout
2022 makedev tiusb$i c 115 `math 16 + $i` $dialout
2026 # check if kernel-version is >= 2.6.8, if yes, create dvb-devices with
2027 # major-number 212, in the other case 250
2029 kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
2030 kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
2031 kern_rev3=`uname -r | sed -e 's@^[^.]*\.[^.]*\.\([^.][0-9]*\).*@\1@'`
2035 if [ $kern_rev1 -gt 2 ] || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -gt 6 ]) \
2036 || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -eq 6 ] && [ $kern_rev3 -ge 8 ])
2044 mkdir -p dvb/adapter$i
2045 makedev dvb/adapter$i/video0 c $dvb_major `math 64 \* $i + 0` $video
2046 makedev dvb/adapter$i/audio0 c $dvb_major `math 64 \* $i + 1` $video
2047 makedev dvb/adapter$i/frontend0 c $dvb_major `math 64 \* $i + 3` $video
2048 makedev dvb/adapter$i/demux0 c $dvb_major `math 64 \* $i + 4` $video
2049 makedev dvb/adapter$i/dvr0 c $dvb_major `math 64 \* $i + 5` $video
2050 makedev dvb/adapter$i/ca0 c $dvb_major `math 64 \* $i + 6` $video
2051 makedev dvb/adapter$i/net0 c $dvb_major `math 64 \* $i + 7` $video
2052 makedev dvb/adapter$i/osd0 c $dvb_major `math 64 \* $i + 8` $video
2058 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2060 makedev usb/lp$i c $major $i $printer
2061 makedev usb/mouse$i c $major `math $i + 16` $mouse
2062 makedev usb/ez$i c $major `math $i + 32` $system
2063 makedev usb/scanner$i c $major `math $i + 48` $scanner
2064 makedev usb/hiddev$i c $major `math $i + 96` $system
2065 makedev ttyACM$i c 166 $i $dialout
2066 makedev ttyUSB$i c 188 $i $dialout
2068 makedev usb/rio500 c $major 64 $audio
2069 makedev usb/usblcd c $major 65 $audio
2070 makedev usb/cpad0 c $major 66 $audio
2074 for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
2075 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2077 makedev rfcomm$i c $major $i $dialout
2079 makedev vhci c 10 250 $dialout
2080 for i in 0 1 2 3; do
2081 makedev ttyUB$i c 216 $i $dialout
2082 makedev ccub$i c 217 $i $dialout
2089 base=`index abcd $unit`
2090 base=`math $base \* 16`
2091 makedev pd$unit b $major $base $disk
2092 for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
2094 makedev pd$unit$part b $major $(( $base + $part )) $disk
2099 makedev pcd$i b 46 $i $cdrom
2100 makedev pf$i b 47 $i $floppy
2105 if [ ! -f $procfs/devices ]
2107 echo "$0: warning: can't read $procfs/devices" >&2
2109 exec 3<$procfs/devices
2110 while read major device extra <&3
2112 device=`echo $device | sed 's#/.*##'`
2117 eval "major_$device=$major"
2118 devices="$devices $device"
2127 echo "$0: don't appear to have any devices" >&2
2132 echo "$0: can't delete an update" >&2
2141 while read device major <&3
2143 eval now=\$major_$device
2146 delete="$delete `cvt $device`"
2148 elif [ "$now" != $major ]
2150 create="$create "`cvt $device`
2152 devs=`strip " $devs " $device`
2156 create="$create "`cvt $devs`
2157 [ "$delete" != "" ] && $0 $opts -d $delete
2158 [ "$create" != " " ] && $0 $opts $create
2159 [ "$opt_n" ] && continue
2160 for device in $devices
2162 if [ "`cvt $device`" ]
2164 eval echo $device \$major_$device
2169 echo "$0: don't know how to make device \"$arg\"" >&2