Imported Debian patch 2.3.1-76 debian/2.3.1-76
authorBdale Garbee <bdale@gag.com>
Mon, 7 Feb 2005 20:47:00 +0000 (13:47 -0700)
committerBdale Garbee <bdale@gag.com>
Thu, 5 Jun 2008 23:24:31 +0000 (17:24 -0600)
15 files changed:
MAKEDEV
MAKEDEV.man
Makefile
debian/README.Debian [new file with mode: 0644]
debian/changelog [new file with mode: 0644]
debian/conffiles [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/dirs [new file with mode: 0644]
debian/init.d [new file with mode: 0644]
debian/old/README.debian [new file with mode: 0644]
debian/old/devices.sgml [new file with mode: 0644]
debian/postinst [new file with mode: 0644]
debian/preinst [new file with mode: 0644]
debian/rules [new file with mode: 0755]

diff --git a/MAKEDEV b/MAKEDEV
index 8a9f490bb68228b6ad71457e691415884f304946..62d6ee6e59c392286ce84024334f6c3518765836 100644 (file)
--- a/MAKEDEV
+++ b/MAKEDEV
@@ -1,6 +1,5 @@
 #! /bin/sh -
-
-RCSID='$Id: MAKEDEV 2.3 1997/09/29 19:03:13 johnsonm Exp $'
+# $Id$
 
 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
 # Customisation:
@@ -10,25 +9,66 @@ RCSID='$Id: MAKEDEV 2.3 1997/09/29 19:03:13 johnsonm Exp $'
 # system, and you may change the permissions to suit your preference.  These
 # lines _must_ be of the format "user group perm".
 
- public="  root sys    666"
- system="  root sys    660"
-   kmem="  root kmem   660"
-    tty="  root tty    666"
-   cons="  root tty    622"    # 622 for console?
-    vcs="  root sys    600"
-dialout="  root uucp   660"
-  mouse="  root sys    666"
-printer="  root daemon 660"
- floppy="  root floppy 660"
-   disk="  root disk   660"
-   scsi="  root sys    600"
-  cdrom="  root disk   660"
-   tape="  root disk   660"
-  audio="  root sys    666"
-  ibcs2="  root sys    666"
-scanner="  root sys    666"
-
-MAXVT=8
+ public="  root root   0666"
+private="  root root   0600"
+ system="  root root   0660"
+   kmem="  root kmem   0640"
+    tty="  root tty    0666"
+   cons="  root tty    0600"
+dialout="  root dialout 0660"
+    dip="  root dip    0660"
+  mouse="  root root   0660"
+printer="  root lp     0660"
+ floppy="  root floppy 0660"
+   disk="  root disk   0660"
+   scsi="  root root   0600"
+  cdrom="  root cdrom  0660"
+   tape="  root tape   0660"
+  audio="  root audio  0660"
+  video="  root video  0660"
+  ibcs2="  root root   0666"
+scanner="  root root   0666"
+   coda="  root root   0600"
+  ipsec="  root root   0200"
+readable="  root root   0444"
+
+MAXVT=63
+
+# defaults for $major_*
+major_ide0=3
+major_ide1=22
+major_sd=8
+major_lp=6
+
+# Remark: OSS/Linux becomes major_OSSLinux
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+# if udev is running, and we're in /dev, relocate ourselves 
+if [ -d /.dev/ ] && [ "`pwd`" = /dev ] && [ -e /proc/mounts ] \
+   && grep -qE '^[^ ]+ /\.dev' /proc/mounts; then
+       cd /.dev/
+fi
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+# don't stomp on devfs users
+if  [ -c .devfsd ]
+then
+    echo ".devfsd presence implies active DevFS.  Aborting MAKEDEV invocation."
+    # use exit 0, not 1, so postinst scripts don't fail on this
+    exit 0
+fi
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+# don't stomp on non-Linux users
+if [ "$(uname -s)" != "Linux" ]
+then
+    echo "Results undefined on non-Linux systems, aborting MAKEDEV invocation."
+    # use exit 0, not 1, so postinst scripts don't fail on this
+    exit 0
+fi
 
 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
 
@@ -53,7 +93,8 @@ done
 
 if [ "$opt_V" ]
 then
-       echo "$RCSID"
+       echo "This is Debian MAKEDEV.  For version info, try 'dpkg --list makedev'"
+       echo "See /usr/share/doc/makedev/ for more information on Debian MAKEDEV."
        exit 0
 fi
 
@@ -61,6 +102,10 @@ opts="${opt_n:+-n} ${opt_v:+-v} ${opt_d:+-d}"
 
 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
 
+devicename () {        # translate device names to something safe
+       echo "$*" | sed -e 's/[^A-Za-z0-9_]/_/g'
+}
+
 makedev () {   # usage: makedev name [bcu] major minor owner group mode
        if [ "$opt_v" ]
        then    if [ "$opt_d" ]
@@ -68,16 +113,28 @@ makedev () {       # usage: makedev name [bcu] major minor owner group mode
                else    echo "create $1 $2 $3 $4 $5:$6 $7" 
                fi
        fi
+       # missing parameters are a bug - bail - should we do an exit 1 here?
+       case :$1:$2:$3:$4:$5:$6:$7: in
+               *::*) echo "Warning: MAKEDEV $@ is missing parameter(s)." >&2;;
+       esac
        if [ ! "$opt_n" ]
-       then    if [ "$opt_d" ]
+       then    
+               if [ "$opt_d" ]
                then
                        rm -f $1
                else
                        rm -f $1-
-                       mknod $1- $2 $3 $4 &&
-                       chown $5:$6 $1- &&
-                       chmod $7 $1- &&
-                       mv $1- $1
+                       if mknod $1- $2 $3 $4 &&
+                          chown $5:$6 $1- &&
+                          chmod $7 $1- &&
+                          mv $1- $1
+                       then
+                               :       # it worked
+                       else
+                                       # Didn't work, clean up any mess...
+                               echo "makedev $@: failed"
+                               rm -f $1-
+                       fi
                fi
        fi
 }
@@ -94,41 +151,30 @@ symlink () {       # usage: symlink name target
 
 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
 
-# For bash and ksh, we can use faster builtin routines to do manipulation,
-# otherwise (ash) fall back to slower method using `expr'.
-# The extra level of indirection using `eval' is necessary a) for ksh, and
-# b) to get past ash.
+# Debian allows us to assume /bin/sh is a POSIX compliant shell, so go for it!
 
-if [ "$RANDOM" != "$RANDOM" ]
-then
-       math () {
-               eval echo "\$(($*))"
-       }
-       index () {      # index string c
-               eval "I=\${1%$2*}"
-               eval echo "\${#I}"
-       }
-       suffix () {
-           eval echo "\${1#$2}"
-       }
-       strip () {
-               eval echo "\${1% $2 *} \${1#* $2 }"
-       }
-else
-       math () {
-               expr "$@"
-       }
-       index () {      # index string c
-               expr $1 : ".*$2" - 1
-       }
-       suffix () {
-               expr "$1" : "$2\(.*\)"
-       }
-       strip () {
-               echo "[$1][$2]" >&2
-               echo "`expr \"$1\" : \"\(.*\) $2 \"` `expr \"$1\" : \".* $2 \(.*\)\"`"
-       }
-fi
+math () {
+       eval echo "\$(($*))"
+}
+index () {     # index string c
+       eval "I=\${1%$2*}"
+       eval echo "\${#I}"
+}
+suffix () {
+       eval echo "\${1#$2}"
+}
+strip () {
+       eval echo "\${1% $2 *} \${1#* $2 }"
+}
+first () {
+       echo "${1%%?}"
+}
+second () {
+       echo "${1##?}"
+}
+substr () {
+       echo $1 | dd bs=1 count=1 skip=$(( $2 - 1 )) 2> /dev/null
+}
 
 #---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
 
@@ -138,13 +184,15 @@ then
        echo "$0: warning: can't read $procfs/devices" >&2
 else
        exec 3<$procfs/devices
-       while read major device <&3
+       while read major device extra <&3
        do
+               device=`echo $device | sed 's#/.*##'`
                case "$major" in
                        Character|Block|'')
                                ;;
                        *)
-                               eval "major_$device=$major"
+                               safedevname=`devicename $device`
+                               eval "major_$safedevname=$major"
                                devices="$devices $device"
                                ;;
                esac
@@ -154,11 +202,12 @@ fi
 
 Major () {
        device=$2
+       devname=`devicename $1`
        if [ "$opt_d" ]
        then
                echo -1 # don't care
        else
-               eval echo \${major_$1:-\${device:?\"unknown major number for $1\"}}
+               eval echo \${major_$devname:-\${device:?\"unknown major number for $1\"}}
        fi
 }
 
@@ -166,7 +215,7 @@ cvt () {
        while [ $# -ne 0 ]
        do
                case "$1" in
-                       mem|tty|ttyp|cua|cub)   ;;
+                       mem|tty|ttyp|cua|cub|cui)       ;;
                        hd)     (for d in a b c d e f g h ; do
                                        echo -n hd$d " "
                                 done) ; echo
@@ -175,13 +224,28 @@ cvt () {
                        ide1)   echo hdc hdd ;;
                        ide2)   echo hde hdf ;;
                        ide3)   echo hdg hdh ;;
-                       sd)     echo sda sdb ;;
-                       sr)     echo scd0 ;;
+                       ide4)   echo hdi hdj ;;
+                       ide5)   echo hdk hdl ;;
+                       ide6)   echo hdm hdn ;;
+                       ide7)   echo hdo hdp ;;
+                       ide8)   echo hdq hdr ;;
+                       ide9)   echo hds hdt ;;
+                       sd)     echo sda sdb sdc sdd ;;
+                       dasd)   (for d in a b c d e f g h i j k l m \
+                                       n o p q r s t u v w x y z ; do
+                                       echo -n dasd$d " "
+                               done) ; echo
+                               ;;
+                       raw)    echo raw ;;
+                       sg)     echo sg ;;
+                       sr)     echo scd ;;
                        st)     echo st0 ;;
                        xd)     echo xda xdb ;;
+                       ad)     echo ada adb ;;
                        fd)     echo fd0 fd1 ;;
                        lp)     echo lp ;;
                        mt)     echo ftape ;;
+                       qft)    echo ftape ;;
                        loop)   echo loop ;;
                        md)     echo md ;;
                        ibcs2)  echo ibcs2 ;;
@@ -191,35 +255,337 @@ cvt () {
                        ac4096)         echo ac4096 ;;
                        hw)     echo helloworld ;;
                        sbpcd | sbpcd[123])     echo $1 ;;
-                       Joystick)       echo js ;;
+                       joystick)       echo js ;;
+                       input)  echo input ;;
                        apm_bios)       echo apm ;;
                        dcf)            echo dcf ;;
                        aztcd)          echo aztcd ;;
+                       cm206cd)        echo cm206cd ;;
+                       gscd)           echo gscd ;;
                        pcmcia) ;; # taken care of by its own driver
                        ttyC)   echo cyclades ;;
+                       isdn)   echo isdnmodem isdnbri dcbri ;;
                        vcs)    ;;
+                       pty)    echo pty ;;
+                       misc)   echo misc ;;
+                       3dfx)   echo 3dfx ;;
+                       agpgart)        echo agpgart ;;
+                       microcode)      echo microcode ;;
+                       ipmi|ipmikcs)   echo ipmi ;;
+                       fb)     echo fb ;;
+                       nb|drbd)        echo nb0 nb1 nb2 nb3 nb4 nb5 nb6 nb7;;
+                       netlink)        echo netlink ;;
+                       tap)    echo netlink ;;
+                       hamradio)       echo hamradio ;;
+                       snd)    ;;
+                       ptm)    ;;
+                       pts)    ;;
+                       ttyB)   (for l in 0 1 2 3 4 5 6 7 ; do
+                                       echo -n ttyB$l " "
+                                done) ; echo
+                               ;;
+                       ttyS)   echo ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ;;
+                       ttyI)   echo ttyI0 ttyI1 ttyI2 ttyI3 ;;
+                       ircomm|irlpt)   irda ;;
+                       ppp)    echo ppp ;;
+                       usb)    echo usb ;;
+                       dpt_i2o)        echo dpti ;;
+                       bluetooth)      echo bluetooth ;;
+                       lvm)    ;; # taken care of by LVM userspace tools
+                       ramdisk)        echo ram ;;
                        *)      echo "$0: don't know what \"$1\" is" >&2 ;;
                esac
                shift
        done
 }
 
-for arg
+for arg in $*
 do
+#      case `cvt $arg` in
        case $arg in
        generic)
+               # pick the right generic-<arch> using dpkg's knowledge
+               case `dpkg --print-installation-architecture` in
+                       alpha)
+                               $0 $opts generic-alpha
+                               ;;
+                       arm)
+                               $0 $opts generic-arm
+                               ;;
+                       hppa)
+                               $0 $opts generic-hppa
+                               ;;
+                       i386)
+                               $0 $opts generic-i386
+                               ;;
+                       amd64)
+                               $0 $opts generic-i386
+                               ;;
+                       ia64)
+                               $0 $opts generic-ia64
+                               ;;
+                       m68k)
+                               $0 $opts generic-m68k
+                               ;;
+                       mips)
+                               $0 $opts generic-mips
+                               ;;
+                       mipsel)
+                               $0 $opts generic-mipsel
+                               ;;
+                       powerpc)
+                               $0 $opts generic-powerpc
+                               ;;
+                       ppc64)
+                               $0 $opts generic-powerpc
+                               ;;
+                       s390)
+                               $0 $opts generic-s390
+                               ;;
+                       sh*)    
+                               $0 $opts generic-sh
+                               ;;
+                       sparc)
+                               $0 $opts generic-sparc
+                               ;;
+                       *)
+                               echo "$0: no support for generic on this arch" >&2
+                               exit 1
+                               ;;
+               esac
+               ;;
+       generic-alpha)
                $0 $opts std
                $0 $opts fd
                $0 $opts fd0 fd1
-               $0 $opts hda hdb
+               $0 $opts hda hdb hdc hdd
+               $0 $opts xda xdb
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+               $0 $opts busmice
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts audio
+               $0 $opts fb
+               $0 $opts dac960
+               ;;
+       generic-arm)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb hdc hdd
+               $0 $opts xda xdb
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+               $0 $opts busmice
+               makedev sunmouse  c 10 6 $mouse
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts audio
+               $0 $opts fb
+               ;;
+       generic-hppa)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb hdc hdd
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+               $0 $opts ttyB0 ttyB1 ttyB2 ttyB3 ttyB4 ttyB5 ttyB6 ttyB7
+               $0 $opts busmice
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts audio
+               $0 $opts fb
+               $0 $opts rtc
+               ;;
+       generic-i386)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb hdc hdd
                $0 $opts xda xdb
-               $0 $opts sda sdb
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+               $0 $opts busmice
+               $0 $opts input
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts audio
+               $0 $opts fb
+               $0 $opts isdn-io eda edb sonycd mcd mcdx cdu535
+               $0 $opts optcd sjcd cm206cd gscd 
+               $0 $opts lmscd sbpcd aztcd bpcd dac960 dpti ida ataraid cciss
+               $0 $opts i2o.hda i2o.hdb i2o.hdc i2o.hdd
+               ;;
+       generic-ia64)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb hdc hdd
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5
+               $0 $opts busmice
+               $0 $opts input
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts audio
+               $0 $opts fb
+               $0 $opts efirtc
+               ;;
+       generic-m68k)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb hdc hdd
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts sg
+               $0 $opts ada adb adc add ade adf
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4 ttyS5
+               $0 $opts m68k-mice
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts nvram
+               $0 $opts audio
+               $0 $opts fb
+               ;;
+       generic-mips)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts audio
+               $0 $opts fb
+               $0 $opts busmice
+               ;;
+       generic-mipsel)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts audio
+               $0 $opts fb
+               $0 $opts rtc
+               ;;
+       generic-powerpc)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb hdc hdd
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
                $0 $opts pty
                $0 $opts console
-               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
                $0 $opts busmice
+               $0 $opts m68k-mice
+               $0 $opts input
+               $0 $opts lp
+               $0 $opts par
+               $0 $opts nvram
+               $0 $opts audio
+               $0 $opts adb
+               $0 $opts fb
+               $0 $opts rtc
+               $0 $opts isdn-io
+               ;;
+       generic-s390)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts dasda dasdb dasdc dasdd dasde dasdf dasdg dasdh \
+                       dasdi dasdj dasdk dasdl dasdm dasdn dasdo dasdp \
+                       dasdq dasdr dasds dasdt dasdu dasdv dasdw dasdx \
+                       dasdy dasdz
+               $0 $opts pty
+               $0 $opts consoleonly
+               $0 $opts rtc
+               ;;
+       generic-sh)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4  
+               $0 $opts ttySC0 ttySC1 ttySC2 ttySC3 
                $0 $opts lp
                $0 $opts par
+               $0 $opts audio
+               $0 $opts fb
+               $0 $opts rtc
+               ;;
+       generic-sparc)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb hdc hdd
+               $0 $opts sda sdb sdc sdd
+               $0 $opts scd0 scd1
+               $0 $opts st0 st1
+               $0 $opts sg
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3 ttyS4
+               $0 $opts busmice
+               $0 $opts fb
+               $0 $opts rtc
+               makedev kbd  c 11 0 $cons
+               makedev sunmouse  c 10 6 $mouse
+               symlink mouse sunmouse
+               makedev openprom  c 10 139 root root 0664
                ;;
        local)
                $0.local $opts
@@ -232,41 +598,142 @@ do
                makedev zero c 1 5 $public
                symlink core $procfs/kcore
                makedev full c 1 7 $public
-               $0 ram
+               makedev random c 1 8 $public
+               makedev urandom c 1 9 $readable
                makedev tty  c 5 0 $tty
+               $0 $opts ram
+               $0 $opts loop
+               ;;
+       hamradio)
+               $0 $opts scc
+               $0 $opts bc
+               ;;
+       scc)
+               for unit in 0 1 2 3 4 5 6 7 
+               do
+                       makedev scc$unit c 34 $unit $system
+               done
+               ;;
+       bc)     
+               for unit in 0 1 2 3
+               do
+                       makedev bc$unit c 51 $unit $system
+               done
+               ;;
+       random)
+               makedev random c 1 8 $public
+               ;;
+       urandom)
+               makedev urandom c 1 9 $readable
                ;;
        ram)
-               for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
+               for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
                        makedev ram$i  b 1 $i $disk
                done
-               ln -sf ram1 ram
+               symlink ram ram1
                ;;
-       console)
-               major=`Major vcs`       # not fatal
-               # console
+       ram[0-9]|ram1[0-6])
+               unit=`suffix $arg ram`
+               makedev ram$unit b 1 $unit $disk
+               ;;
+       initrd)
+               makedev initrd b 1 250 $disk
+               ;;
+       raw)
+               makedev rawctl c 162 0 $disk
+               mkdir -p raw
+               for i in 1 2 3 4 5 6 7 8; do
+                       makedev raw/raw$i c 162 $i $disk
+               done
+               ;;
+       consoleonly)
                makedev tty0 c 4 0 $cons
-               symlink console tty0
-               [ "$major" ] && makedev vcs0 c $major 0 $vcs
-               [ "$major" ] && makedev vcsa c $major 128 $vcs
+               #       new kernels need a device, old ones a symlink... sigh
+               kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
+               kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
+               if [ $kern_rev1 -gt 2 ]
+               then
+                       makedev console c 5 1 $cons
+               else
+                       if [ $kern_rev1 -eq 2 ] && [ $kern_rev2 -ge 1 ]
+                       then
+                               makedev console c 5 1 $cons
+                       else
+                               symlink console tty0
+                       fi
+               fi
+               ;;
+       console)
+               $0 $opts consoleonly
+               major=`Major vcs 7`       # not fatal
+               [ "$major" ] && makedev vcs0 c $major 0 $cons
+               symlink vcs vcs0
+               [ "$major" ] && makedev vcsa0 c $major 128 $cons
+               symlink vcsa vcsa0
                # individual vts
                line=1
-               while [ $line -le $MAXVT -a $line -le 63 ]
+               while [ $line -le $MAXVT ] && [ $line -le 63 ]
                do
-                       makedev tty$line c 4 $line $tty
-                       [ "$major" ] && makedev vcs$line c $major $line $vcs
-                       [ "$major" ] && makedev vcsa$line c $major `math $line + 128` $vcs
+                       makedev tty$line c 4 $line $cons
+                       [ "$major" ] && makedev vcs$line c $major $line $cons
+                       [ "$major" ] && makedev vcsa$line c $major `math $line + 128` $cons
                        line=`math $line + 1`
                done
                ;;
+       adb)
+               # pick the right arch device using dpkg's knowledge
+               case `dpkg --print-installation-architecture` in
+                       powerpc)
+                               # ADB bus devices (char)
+                               makedev adb c 56 0 $mouse
+                               makedev adbmouse c 10 10 $mouse
+                               ;;
+                       m68k)
+                               # ACSI disk 2, whole device (block)
+                               makedev adb b 28 16 $disk
+                               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+                               do
+                                       minor=$(( 16 + $part ))
+                                       makedev adb$part b 28 $minor $disk
+                               done
+                               ;;
+                       *)
+                               echo "no support for adb on this arch" >&2
+                               exit 1
+                               ;;
+               esac
+               ;;
+       raw1394)
+               makedev raw1394 c 171 0 $disk
+               ;;
+       video1394)
+               rm -f video1394
+               mkdir -p video1394
+               for i in `seq 0 15`
+               do
+                       makedev video1394/$i c 171 `math 16 + $i` $video
+               done
+               ;;
+       nvram)
+               makedev nvram c 10 144 $mouse
+               ;;
        tty[1-9]|tty[1-5][0-9]|tty[6][0-3])
                line=`suffix $arg tty`
-               makedev tty$line c 4 $line $tty
+               makedev tty$line c 4 $line $cons
                ;;
        ttyS[0-9]|ttyS[1-5][0-9]|ttyS[6][0-3])
                line=`suffix $arg ttyS`
                minor=`math 64 + $line`
-               makedev ttyS$line c 4 $minor $tty
-               makedev cua$line c 5 $minor $dialout
+               makedev ttyS$line c 4 $minor $dialout
+               ;;
+       ttySC[0-3])
+               line=`suffix $arg ttySC`
+               minor=`math 8 + $line`
+               makedev ttySC$line c 204 $minor $dialout
+               ;;
+       ttyB[0-7])
+               minor=`suffix $arg ttyB`
+               makedev ttyB$minor c 11 $minor $dialout
                ;;
        pty[a-ep-z])
                bank=`suffix $arg pty`
@@ -285,138 +752,574 @@ do
                do
                        ptysufs="$ptysufs pty$i"
                done
-               $0 $opts $ptysufs
+               $0 $opts $ptysufs ptmx
+               ;;
+       ptmx)
+               # master pty multiplexer for 2.1 kernels
+               makedev ptmx c 5 2 $tty
                ;;
-       cyclades)
-               major1=`Major ttyC` || continue
-               major2=`Major cub` || continue
+       cyclades|ttyC)
+               major1=`Major ttyC 19` || continue
+               #major2=`Major cub 20` || continue
                for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
-                         16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
+                         16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 
                do
-                       makedev ttyC$i c $major1 $i $tty
-                       makedev cub$i c $major2 $i $dialout
+                       makedev ttyC$i c $major1 $i $dialout
+                       #makedev cub$i c $major2 $i $dialout
                done
                ;;
-       lp)
-               major=`Major lp` || continue
-               makedev ${arg}0 c $major 0 $printer
-               makedev ${arg}1 c $major 1 $printer
-               makedev ${arg}2 c $major 2 $printer
+       stallion|ttyE)
+               major1=`Major ttyE 24` || continue
+               #major2=`Major cue 25` || continue
+               majorc=28
+               minor=0
+               until [ $minor -gt 256 ]
+               do
+                       makedev ttyE$minor c $major1 $minor $dialout
+                       #makedev cue$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
+               done
+               for i in 0 1 2 3
+               do
+                       makedev staliomem$i c $majorc $i $private
+               done
                ;;
-       par)
-               major=`Major lp` || continue
-               makedev ${arg}0 c $major 0 $printer
-               makedev ${arg}1 c $major 1 $printer
-               makedev ${arg}2 c $major 2 $printer
+       chase|ttyH)
+               major1=`Major ttyH 17` || continue
+               #major2=`Major cuh 18` || continue
+               minor=0
+               until [ $minor -gt 16 ] # tell me if 16 is wrong
+               do
+                       makedev ttyH$minor c $major1 $minor $dialout
+                       #makedev cuh$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
+               done
                ;;
-       busmice)
-               major=`Major mouse 10` || continue
-               makedev logimouse c $major 0 $mouse
-               makedev psmouse   c $major 1 $mouse
-               makedev msmouse   c $major 2 $mouse
-               makedev atimouse  c $major 3 $mouse
-               makedev jmouse    c $major 4 $mouse
+       rocketport|ttyR)
+               major1=`Major ttyR 46` || continue
+               #major2=`Major cur 47` || continue
+               minor=0
+               until [ $minor -gt 64 ] # tell me if 64 is wrong
+               do
+                       makedev ttyR$minor c $major1 $minor $dialout
+                       #makedev cur$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
+               done
                ;;
-       js)
-               major=`Major Joystick` || continue
-               makedev js0 c $major 0 $mouse
-               makedev js1 c $major 1 $mouse
+       ttyV)
+               major1=`Major ttyV 105` || continue
+               #major2=`Major cuv 106` || continue
+               minor=0
+               until [ $minor -gt 16 ] # tell me if 16 is wrong
+               do
+                       makedev ttyV$minor c $major1 $minor $dialout
+                       #makedev cuv$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
+               done
                ;;
-       fd[0-7])
-               major=`Major fd 2` || continue
-               base=`suffix $arg fd`
-               if [ $base -ge 4 ]
-               then
-                       base=`math $base + 124`
-               fi
-               makedev ${arg} b $major $base $floppy
-               makedev ${arg}d360  b $major `math $base +  4` $floppy
-               makedev ${arg}h1200 b $major `math $base +  8` $floppy
-               makedev ${arg}D360  b $major `math $base + 12` $floppy
-               makedev ${arg}D720  b $major `math $base + 16` $floppy
-               makedev ${arg}h360  b $major `math $base + 20` $floppy
-               makedev ${arg}h720  b $major `math $base + 24` $floppy
-               makedev ${arg}H1440 b $major `math $base + 28` $floppy
-               makedev ${arg}E2880 b $major `math $base + 32` $floppy
-               makedev ${arg}CompaQ b $major `math $base + 36` $floppy
-
-               symlink ${arg}H360 ${arg}D360
-               symlink ${arg}H720 ${arg}D720
-
-               makedev ${arg}h1440 b $major `math $base + 40` $floppy
-               makedev ${arg}H1680 b $major `math $base + 44` $floppy
-               makedev ${arg}h410  b $major `math $base + 48` $floppy
-               makedev ${arg}H820  b $major `math $base + 52` $floppy
-               makedev ${arg}h1476 b $major `math $base + 56` $floppy
-               makedev ${arg}H1722 b $major `math $base + 60` $floppy
-               makedev ${arg}h420  b $major `math $base + 64` $floppy
-               makedev ${arg}H830  b $major `math $base + 68` $floppy
-               makedev ${arg}h1494 b $major `math $base + 72` $floppy
-               makedev ${arg}H1743 b $major `math $base + 76` $floppy
-               makedev ${arg}h880  b $major `math $base + 80` $floppy
-               makedev ${arg}D1040 b $major `math $base + 84` $floppy
-               makedev ${arg}D1120 b $major `math $base + 88` $floppy
-               makedev ${arg}h1600 b $major `math $base + 92` $floppy
-               makedev ${arg}H1760 b $major `math $base + 96` $floppy
-               makedev ${arg}H1920 b $major `math $base + 100` $floppy
-               makedev ${arg}E3200 b $major `math $base + 104` $floppy
-               makedev ${arg}E3520 b $major `math $base + 108` $floppy
-               makedev ${arg}E3840 b $major `math $base + 112` $floppy
-               makedev ${arg}H1840 b $major `math $base + 116` $floppy
-               makedev ${arg}D800  b $major `math $base + 120` $floppy
-               makedev ${arg}H1600 b $major `math $base + 124` $floppy
+       digi|ttyD)
+               major1=`Major ttyD 22` || continue
+               #major2=`Major cud 23` || continue
+               minor=0
+               until [ $minor -gt 16 ] # tell me if 16 is wrong
+               do
+                       makedev ttyD$minor c $major1 $minor $dialout
+                       #makedev cud$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
+               done
                ;;
-       hd[a-b])
-               major=`Major ide0` || major=`Major hd 3` || continue
-               unit=`suffix $arg hd`
-               base=`index ab $unit`
-               base=`math $base \* 64`
-               makedev hd$unit b $major $base $disk
-               for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
+       specialix|ttyX)
+               major1=`Major ttyX 32` || continue
+               #major2=`Major cux 33` || continue
+               minor=0
+               until [ $minor -gt 16 ] # tell me if 16 is wrong
                do
-                       makedev hd$unit$part b $major `math $base + $part` $disk
+                       makedev ttyX$minor c $major1 $minor $dialout
+                       #makedev cux$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
                done
                ;;
-       hd[c-d])
-               major=`Major ide1 22` || continue
-               unit=`suffix $arg hd`
-               base=`index cd $unit`
-               base=`math $base \* 64`
-               makedev hd$unit b $major $base $disk
-               for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
+       specialixIO8|ttyW)
+               major1=`Major ttyW 75` || continue
+               #major2=`Major cuw 76` || continue
+               minor=0
+               until [ $minor -gt 16 ] # tell me if 16 is wrong
                do
-                       makedev hd$unit$part b $major `expr $base + $part` $disk
+                       makedev ttyW$minor c $major1 $minor $dialout
+                       #makedev cuw$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
                done
                ;;
-       hd[e-f])
-               major=`Major ide2 33` || continue
-               unit=`suffix $arg hd`
-               base=`index ef $unit`
-               base=`math $base \* 64`
-               makedev hd$unit b $major $base $disk
-               for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
+       PAM|ttyM)
+               major1=`Major ttyM 79` || continue
+               #major2=`Major cum 80` || continue
+               minor=0
+               until [ $minor -gt 16 ] # tell me if 16 is wrong
                do
-                       makedev hd$unit$part b $major `expr $base + $part` $disk
+                       makedev ttyM$minor c $major1 $minor $dialout
+                       #makedev cum$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
                done
                ;;
-       hd[g-h])
-               major=`Major ide3 34` || continue
-               unit=`suffix $arg hd`
+       riscom|ttyL)
+               major=`Major ttyL 48` || continue
+               minor=0
+               until [ $minor -gt 16 ] # tell me if 16 is wrong
+               do
+                       makedev ttyL$minor c $major $minor $dialout
+                       minor=`math $minor + 1`
+               done
+               ;;
+       computone|ttyF)
+               major=`Major ttyF 71` || continue
+               #major2=`Major cuf 72` || continue
+               minor=0
+               until [ $minor -gt 255 ]
+               do
+                       makedev ttyF$minor c $major $minor $dialout
+                       #makedev cuf$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
+               done
+               major=73
+               for i in 0 4 8 12
+               do
+                       makedev ip2ipl$i  c $major $i $private
+                       makedev ip2stat$i c $major `math $i + 1` $private
+               done
+               ;;
+       ESP|ttyP)
+               major=`Major ttyP 57` || continue
+               #major2=`Major cup 58` || continue
+               minor=0
+               until [ $minor -gt 4 ] # tell me if 4 is wrong
+               do
+                       makedev ttyP$minor c $major $minor $dialout
+                       #makedev cup$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
+               done
+               ;;
+       COMX|comx)
+               major=`Major comx 88` || continue
+               minor=0
+               until [ $minor -gt 4 ] # tell me if 4 is wrong
+               do
+                       makedev comx$minor c $major $minor $private
+                       minor=`math $minor + 1`
+               done
+               ;;
+       isdnmodem|ttyI)
+               major1=`Major ttyI 43` || continue
+               #major2=`Major cui 44` || continue
+               minor=0
+               until [ $minor -gt 63 ]
+               do
+                       makedev ttyI$minor c $major1 $minor $dialout
+                       #makedev cui$minor c $major2 $minor $dialout
+                       minor=`math $minor + 1`
+               done
+               ;;
+       isdnbri)
+               major=45
+               minor=0
+               until [ $minor -gt 63 ]
+               do
+                       makedev isdn$minor c $major $minor $dialout
+                       makedev isdnctrl$minor c $major `math $minor + 64` $dialout
+                       makedev ippp$minor c $major `math $minor + 128` $dialout
+                       minor=`math $minor + 1`
+               done
+               makedev isdninfo c $major 255 $private
+               ;;
+       dcbri)
+               major=52
+               for i in 0 1 2 3
+               do
+                       makedev dcbri$i c $major $i $dialout
+               done
+               ;;
+       capi)
+               major=68
+               makedev capi20 c $major 0 $dialout
+               for i in 0 1 2 3 4 5 6 7 8 9
+               do
+                       makedev capi20.0$i c $major `math $i + 1` $dialout
+               done
+               for i in 10 11 12 13 14 15 16 17 18 19
+               do
+                       makedev capi20.$i c $major `math $i + 1` $dialout
+               done
+               ;;
+       ubd)
+               major=98
+               for devicenum in 0 1 2 3 4 5 6 7
+               do
+                       device=ubd`substr abcdefgh $(($devicenum + 1))`
+                       baseminor=`math $devicenum \* 16`
+                       makedev $device b $major $baseminor $disk
+                       for partition in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+                       do
+                               minor=`math $baseminor + $partition`
+                               makedev $device$partition b $major $minor $disk
+                       done
+               done
+               ;;
+       fb)
+               for i in 0 1 2 3 4 5 6 7
+               do
+                       makedev fb$i c 29 $i $video
+               done
+               ;;
+       fb[0-7])
+               dev=`suffix $arg fb`
+               makedev fb$dev c 29 $dev $video
+               ;;
+       netlink|tap|tap[0-9]|tap1[0-5])
+               makedev route     c 36 0 $coda
+               makedev skip      c 36 1 $coda
+               makedev fwmonitor c 36 3 $coda
+               for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                       makedev tap$i c 36 `math $i + 16` $coda
+               done
+               ;;
+       tun)
+               mkdir -p net
+               makedev net/tun c 10 200 $system
+               ;;
+       lp)
+               major=`Major lp 6` || continue
+               makedev ${arg}0 c $major 0 $printer
+               makedev ${arg}1 c $major 1 $printer
+               makedev ${arg}2 c $major 2 $printer
+               ;;
+       par)
+               major=`Major lp 6` || continue
+               makedev ${arg}0 c $major 0 $printer
+               makedev ${arg}1 c $major 1 $printer
+               makedev ${arg}2 c $major 2 $printer
+               ;;
+       parport)
+               major=`Major parport 99` || continue
+               makedev ${arg}0 c $major 0 $printer
+               makedev ${arg}1 c $major 1 $printer
+               makedev ${arg}2 c $major 2 $printer
+               ;;
+       slm)
+               major=`Major slm 28` || continue
+               for i in 0 1 2 3
+               do
+                       makedev slm c $major $i $printer
+               done
+               ;;
+       input)
+               major=`Major pcsp 13` || continue
+               mkdir -p input
+               for i in 0 1 2 3
+               do
+                       makedev input/js$i c $major $i $mouse
+                       makedev input/mouse$i c $major `math $i + 32` $mouse
+                       makedev input/event$i c $major `math $i + 64` $mouse
+               done
+               makedev input/mice c $major 63 $mouse
+               ;;
+       busmice)
+               major=`Major mouse 10` || continue
+               makedev logibm    c $major 0 $mouse
+               makedev psaux     c $major 1 $mouse
+               makedev inportbm  c $major 2 $mouse
+               makedev atibm     c $major 3 $mouse
+               makedev jbm       c $major 4 $mouse
+               ;;
+       m68k-mice)
+               major=`Major mouse 10` || continue
+               makedev amigamouse c $major 4 $mouse
+               makedev atarimouse c $major 5 $mouse
+               makedev amigamouse1 c $major 7 $mouse
+               makedev adbmouse  c $major 10 $mouse
+               ;;
+       3dfx)
+               major=`Major $arg 107` || continue
+               makedev $arg    c $major 0 $video
+               ;;
+       agpgart)
+               major=`Major $arg 10` || continue
+               makedev $arg    c $major 175 $video
+               ;;
+       hwrandom)
+               major=`Major $arg 10` || continue
+               makedev $arg    c $major 183 $private
+               ;;
+       cpu|microcode)
+               mkdir -p cpu
+               makedev cpu/microcode c 10 184 $private
+               for i in 0 1 2 3
+               do
+                       mkdir -p cpu/$i
+                       makedev cpu/$i/msr   c 202 $i $private
+                       makedev cpu/$i/cpuid c 203 $i $private
+               done
+               ;;
+       ipmi|ipmikcs)
+               major=`Major ipmikcs 10` || continue
+               makedev ipmikcs c $major 173 $private
+               ;;
+       irda)
+               for i in 0 1
+               do
+                       makedev ircomm$i c 161 $i $dialout
+                       makedev irlpt$i  c 161 `math $i + 16` $printer
+               done
+               ;;
+       irnet)
+               makedev irnet c 10 187 $system
+               ;;
+       misc)
+               major=`Major mouse 10` || continue
+               makedev logibm    c $major 0 $mouse
+               makedev psaux     c $major 1 $mouse
+               makedev inportbm  c $major 2 $mouse
+               makedev atibm     c $major 3 $mouse
+               makedev jbm       c $major 4 $mouse
+               makedev amigamouse c $major 4 $mouse
+               makedev atarimouse c $major 5 $mouse
+               makedev sunmouse  c $major 6 $mouse
+               makedev amigamouse1 c $major 7 $mouse
+               makedev smouse    c $major 8 $mouse
+               makedev pc110pad  c $major 9 $mouse
+               makedev adbmouse  c $major 10 $mouse
+               makedev beep      c $major 128 $mouse
+               makedev modreq    c $major 129 $mouse
+               makedev watchdog  c $major 130 $mouse
+               makedev temperature c $major 131 $mouse
+               makedev hwtrap    c $major 132 $mouse
+               makedev exttrp    c $major 133 $mouse
+               makedev apm_bios  c $major 134 $mouse
+               makedev rtc       c $major 135 $mouse
+               makedev openprom  c $major 139 root root 0664
+               makedev relay8    c $major 140 $mouse
+               makedev relay16   c $major 141 $mouse
+               makedev msr       c $major 142 $mouse
+               makedev pciconf   c $major 143 $mouse
+               makedev nvram     c $major 144 $mouse
+               makedev hfmodem   c $major 145 $mouse
+               makedev led       c $major 151 $mouse
+               makedev mergemem  c $major 153 $mouse
+               makedev pmu       c $major 154 $mouse
+               ;;
+       pmu)
+               makedev pmu       c $major 154 $mouse
+               ;;
+       thinkpad)
+               major=`Major mouse 10` || continue
+               mkdir -p thinkpad
+               makedev thinkpad/thinkpad c $major 170 $mouse
+               ;;
+        rtc)
+               major=`Major mouse 10` || continue
+               makedev rtc       c $major 135 $mouse
+               ;;
+       efirtc)
+               major=`Major mouse 10` || continue
+               makedev efirtc    c $major 136 $mouse
+               ;;
+       mwave)
+               makedev mwave     c 10 219 $mouse
+               ;;
+       systrace)
+               makedev systrace  c 10 226 $private
+               ;;
+       js)
+               major=`Major Joystick 13` || continue
+               for unit in 0 1 2 3
+               do
+                       makedev js$unit c $major $unit $readable
+                       makedev djs$unit c $major `math $unit + 128` $readable
+               done
+               ;;
+       fd[0-7])
+               major=`Major fd 2` || continue
+               base=`suffix $arg fd`
+               if [ $base -ge 4 ]
+               then
+                       base=`math $base + 124`
+               fi
+               makedev ${arg} b $major $base $floppy
+               makedev ${arg}d360  b $major `math $base +  4` $floppy
+               makedev ${arg}h1200 b $major `math $base +  8` $floppy
+               makedev ${arg}u360  b $major `math $base + 12` $floppy
+               makedev ${arg}u720  b $major `math $base + 16` $floppy
+               makedev ${arg}h360  b $major `math $base + 20` $floppy
+               makedev ${arg}h720  b $major `math $base + 24` $floppy
+               makedev ${arg}u1440 b $major `math $base + 28` $floppy
+               makedev ${arg}u2880 b $major `math $base + 32` $floppy
+               makedev ${arg}CompaQ b $major `math $base + 36` $floppy
+
+               makedev ${arg}h1440 b $major `math $base + 40` $floppy
+               makedev ${arg}u1680 b $major `math $base + 44` $floppy
+               makedev ${arg}h410  b $major `math $base + 48` $floppy
+               makedev ${arg}u820  b $major `math $base + 52` $floppy
+               makedev ${arg}h1476 b $major `math $base + 56` $floppy
+               makedev ${arg}u1722 b $major `math $base + 60` $floppy
+               makedev ${arg}h420  b $major `math $base + 64` $floppy
+               makedev ${arg}u830  b $major `math $base + 68` $floppy
+               makedev ${arg}h1494 b $major `math $base + 72` $floppy
+               makedev ${arg}u1743 b $major `math $base + 76` $floppy
+               makedev ${arg}h880  b $major `math $base + 80` $floppy
+               makedev ${arg}u1040 b $major `math $base + 84` $floppy
+               makedev ${arg}u1120 b $major `math $base + 88` $floppy
+               makedev ${arg}h1600 b $major `math $base + 92` $floppy
+               makedev ${arg}u1760 b $major `math $base + 96` $floppy
+               makedev ${arg}u1920 b $major `math $base + 100` $floppy
+               makedev ${arg}u3200 b $major `math $base + 104` $floppy
+               makedev ${arg}u3520 b $major `math $base + 108` $floppy
+               makedev ${arg}u3840 b $major `math $base + 112` $floppy
+               makedev ${arg}u1840 b $major `math $base + 116` $floppy
+               makedev ${arg}u800  b $major `math $base + 120` $floppy
+               makedev ${arg}u1600 b $major `math $base + 124` $floppy
+               ;;
+       ed[a-b])
+               major=`Major ed 36` || continue
+               unit=`suffix $arg ed`
+               base=`index ab $unit`
+               base=`math $base \* 64`
+               makedev ed$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev ed$unit$part b $major `math $base + $part` $disk
+               done
+               ;;
+       hd[a-b])
+               major=`Major ide0` || major=`Major hd 3` || continue
+               unit=`suffix $arg hd`
+               base=`index ab $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major `math $base + $part` $disk
+               done
+               ;;
+       hd[c-d])
+               major=`Major ide1 22` || continue
+               unit=`suffix $arg hd`
+               base=`index cd $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
+               done
+               ;;
+       hd[e-f])
+               major=`Major ide2 33` || continue
+               unit=`suffix $arg hd`
+               base=`index ef $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
+               done
+               ;;
+       hd[g-h])
+               major=`Major ide3 34` || continue
+               unit=`suffix $arg hd`
                base=`index gh $unit`
                base=`math $base \* 64`
                makedev hd$unit b $major $base $disk
-               for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
+               done
+               ;;
+       hd[i-j])
+               major=`Major ide4 56` || continue
+               unit=`suffix $arg hd`
+               base=`index ij $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
+               done
+               ;;
+       hd[k-l])
+               major=`Major ide5 57` || continue
+               unit=`suffix $arg hd`
+               base=`index kl $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
+               done
+               ;;
+       hd[m-n])
+               major=`Major ide6 88` || continue
+               unit=`suffix $arg hd`
+               base=`index mn $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
                do
-                       makedev hd$unit$part b $major `expr $base + $part` $disk
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
                done
                ;;
-       ht)
+       hd[o-p])
+               major=`Major ide7 89` || continue
+               unit=`suffix $arg hd`
+               base=`index op $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
+               done
+               ;;
+       hd[q-r])
+               major=`Major ide8 90` || continue
+               unit=`suffix $arg hd`
+               base=`index qr $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
+               done
+               ;;
+       hd[s-t])
+               major=`Major ide9 91` || continue
+               unit=`suffix $arg hd`
+               base=`index st $unit`
+               base=`math $base \* 64`
+               makedev hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
+               do
+                       makedev hd$unit$part b $major $(( $base + $part )) $disk
+               done
+               ;;
+       ub|uba) 
+               major=180
+               makedev uba b $major 0 $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                       makedev uba$part b $major $part $disk
+               done
+               ;;
+       ht0)
                major=`Major ht0 37` || continue
                # Only one IDE tape drive is currently supported; ht0.
                makedev ht0 c $major 0 $tape
-               makedev ht0 c $major 0 $tape
                makedev nht0 c $major 128 $tape
                ;;
+       pt)
+               major=`Major pt 96` || continue
+               for i in 0 1 2 3
+               do
+                       makedev pt$i c $major $i $tape
+                       makedev npt$i c $major `math $i + 128` $tape
+               done
+               ;;
        xd[a-d])
                major=`Major xd 13` || continue
                unit=`suffix $arg xd`
@@ -425,31 +1328,270 @@ do
                makedev xd$unit b $major $base $disk
                for part in 1 2 3 4 5 6 7 8 # 9 10 11 12 13 14 15 16 17 18 19 20
                do
-                       makedev xd$unit$part b $major `expr $base + $part` $disk
+                       makedev xd$unit$part b $major $(( $base + $part )) $disk
                done
                ;;
-       sd[a-h])
+       sd[a-z])
                major=`Major sd 8` || continue
                unit=`suffix $arg sd`
-               base=`index abcdefgh $unit`
-               base=`math $base \* 16`
+               base=`index abcdefghijklmnopqrstuvwxyz $unit`
+               base=$(( $base * 16 ))
+               if [ $base -lt 256 ]; then
+                       major=8
+               else
+                       major=65
+                       base=$(( $base - 256 ))
+               fi
                makedev sd$unit b $major $base $disk
-               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
                do
-                       minor=`expr $base + $part`
+                       minor=$(( $base + $part ))
                        makedev sd$unit$part b $major $minor $disk
                done
                ;;
+       sd[a-d][a-z])
+               unit=`suffix $arg sd`
+               unitmaj=`first $unit`
+               unitmin=`second $unit`
+               basemaj=`index Xabcd $unitmaj`
+               basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
+               basemaj=`math $basemaj \* 416`
+               basemin=`math $basemin \* 16`
+               base=`math $basemaj + $basemin`
+               basemaj=`math $base / 256`
+               base=`math $base % 256`
+               major=`math basemaj \+ 64`
+               if [ $major -gt 71 ]; then
+                       echo "$0: don't know how to make device \"$arg\"" >&2
+                       exit 0
+               fi
+               makedev sd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                       minor=$(( $base + $part ))
+                       makedev sd$unit$part b $major $minor $disk
+               done
+                ;;
+       i2o.hd[a-z])
+               [ -d i2o ] || {
+                       mkdir i2o
+                       chown root:root i2o
+                       chmod 755 i2o
+                       [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
+               }
+               unit=`suffix $arg i2o.hd`
+               base=`index abcdefghijklmnopqrstuvwxyz $unit`
+               base=$(( $base * 16 ))
+               if [ $base -lt 256 ]; then
+                       major=80
+               else
+                       major=81
+                       base=$(( $base - 256 ))
+               fi
+               makedev i2o/hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                       minor=$(( $base + $part ))
+                       makedev i2o/hd$unit$part b $major $minor $disk
+               done
+               ;;
+       i2o.hd[a-d][a-z])
+               [ -d i2o ] || {
+                       mkdir i2o
+                       chown root:root i2o
+                       chmod 755 i2o
+                       [ -e i2o/ctl ] || makedev i2o/ctl c 10 166 $disk
+               }
+               unit=`suffix $arg i2o.hd`
+               unitmaj=`first $unit`
+               unitmin=`second $unit`
+               basemaj=`index Xabcd $unitmaj`
+               basemin=`index abcdefghijklmnopqrstuvwxyz $unitmin`
+               basemaj=`math $basemaj \* 416`
+               basemin=`math $basemin \* 16`
+               base=`math $basemaj + $basemin`
+               basemaj=`math $base / 256`
+               base=`math $base % 256`
+               major=`math basemaj \+ 80`
+               if [ $major -gt 87 ]; then
+                       echo "$0: don't know how to make device \"$arg\"" >&2
+                       exit 0
+               fi
+               makedev i2o/hd$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                       minor=$(( $base + $part ))
+                       makedev i2o/hd$unit$part b $major $minor $disk
+               done
+               ;;
+       dasd[a-z])
+               major=`Major dasd 94` || continue
+               unit=`suffix $arg dasd`
+               base=`index abcdefghijklmnopqrstuvwxyz $unit`
+               base=$(( $base * 4 ))
+               if [ $base -lt 256 ]; then
+                       major=94
+               else
+                       major=65
+                       base=$(( $base - 256 ))
+               fi
+               makedev dasd$unit b $major $base $disk
+               for part in 1 2 3
+               do
+                       minor=$(( $base + $part ))
+                       makedev dasd$unit$part b $major $minor $disk
+               done
+               ;;
+       ad[a-p])
+               major=`Major ad 28` || continue
+               unit=`suffix $arg ad`
+               base=`index abcdefghijklmnop $unit`
+               base=`math $base \* 16`
+               makedev ad$unit b $major $base $disk
+               for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                       minor=$(( $base + $part ))
+                       makedev ad$unit$part b $major $minor $disk
+               done
+               ;;
+       dac960)
+               for ctr in 0 1 2 3 4 5 6 7
+               do
+                       $0 $opts dac960.$ctr
+               done
+               makedev dac960_gam c 10 252 $disk
+               ;;
+       dac960.[0-7])
+               [ -d rd ] || {
+                       mkdir rd
+                       chown root:root rd
+                       chmod 755 rd
+               }
+               unit=`suffix $arg dac960.`
+                   major=`math 48 + $unit`
+                   minor=0
+                   for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 \
+                           17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
+                   do
+                       makedev rd/c${unit}d${ld} b $major $minor $disk
+                       minor=`math $minor + 1`
+                       for part in 1 2 3 4 5 6 7
+                       do
+                           makedev rd/c${unit}d${ld}p$part b $major $minor $disk
+                           minor=`math $minor + 1`
+                       done
+                   done
+               ;;
+       dpti)
+               major=151
+               for ld in 1 2 3 4 5 6 7
+               do
+                  minor=`math $ld -1`
+                  makedev dpti${ld} c $major $minor $disk
+                done
+                ;;
+       ataraid)
+               for ctr in 0 1 2 # 3 4 5 6 7
+               do
+                       $0 $opts ataraid.$ctr
+               done
+               ;;
+       ataraid.[0-7])
+               [ -d ataraid ] || {
+                       mkdir ataraid
+                       chown root:root ataraid
+                       chmod 755 ataraid
+               }
+                unit=`suffix $arg ataraid.`
+                major=114
+                minor=`math $unit \* 16`
+                makedev ataraid/d${unit} b $major $minor $disk
+                for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+                do
+                   minor=`math $minor + 1`
+                   makedev ataraid/d${unit}p$part b $major $minor $disk
+                done
+               ;;
+       ida)
+               for ctr in 0 1 2 # 3 4 5 6 7
+               do
+                       $0 $opts ida.$ctr
+               done
+               ;;
+       ida.[0-7])
+               [ -d ida ] || {
+                       mkdir ida
+                       chown root:root ida
+                       chmod 755 ida
+               }
+               unit=`suffix $arg ida.`
+               major=`math 72 + $unit`
+               minor=0
+               for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                   makedev ida/c${unit}d${ld} b $major $minor $disk
+                   minor=`math $minor + 1`
+                   for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+                   do
+                       makedev ida/c${unit}d${ld}p$part b $major $minor $disk
+                       minor=`math $minor + 1`
+                   done
+               done
+               ;;
+       cciss)
+               for ctr in 0 1 2 # 3 4 5 6 7
+               do
+                       $0 $opts cciss.$ctr
+               done
+               ;;
+       cciss.[0-7])
+               [ -d cciss ] || {
+                       mkdir cciss
+                       chown root:root cciss
+                       chmod 755 cciss
+               }
+               unit=`suffix $arg cciss.`
+               major=`math 104 + $unit`
+               minor=0
+               for ld in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                   makedev cciss/c${unit}d${ld} b $major $minor $disk
+                   minor=`math $minor + 1`
+                   for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+                   do
+                       makedev cciss/c${unit}d${ld}p$part b $major $minor $disk
+                       minor=`math $minor + 1`
+                   done
+               done
+               ;;
+       rom)
+               major=`Major rom 31`
+               for i in 0 1 2 3 4 5 6 7
+               do
+                       makedev rom$i    b $major $i $disk
+                       makedev rrom$i   b $major `math $i +8` $disk
+                       makedev flash$i  b $major `math $i +16` $disk
+                       makedev rflash$i b $major `math $i +24` $disk
+               done
+               ;;
+       nb[0-7])
+               major=`Major nbd 43` || continue
+               minor=`suffix $arg nb`
+               makedev nb$minor b $major $minor $disk
+               ;;
        loop)
-               major=`Major loop` || continue
                for part in 0 1 2 3 4 5 6 7
                do
-                       makedev loop$part b $major $part $disk
+                       makedev loop$part b 7 $part $disk
                done
                ;;
+       loop[0-9]|loop[1-9][0-9]|loop1[0-9][0-9]|loop2[0-4][0-9]|loop25[0-5])
+               minor=`suffix $arg loop`
+               makedev loop$minor b 7 $minor $disk
+               ;;
        md)
-               major=`Major md` || continue
-               for part in 0 1 2 3
+               major=`Major md 9` || continue
+               for part in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
                do
                        makedev md$part b $major $part $disk
                done
@@ -457,42 +1599,140 @@ do
        st[0-7])
                major=`Major st 9`
                unit=`suffix $arg st`
-               makedev st$unit c $major $unit $tape
-               makedev nst$unit c $major `math 128 + $unit` $tape
+               makedev st${unit}   c $major $unit $tape
+               makedev nst${unit}  c $major `math 128 + $unit` $tape
+
+               makedev st${unit}l  c $major `math 32 + $unit` $tape
+               makedev nst${unit}l c $major `math 160 + $unit` $tape
+
+               makedev st${unit}m  c $major `math 64 + $unit` $tape
+               makedev nst${unit}m c $major `math 192 + $unit` $tape
+
+               makedev st${unit}a  c $major `math 96 + $unit` $tape
+               makedev nst${unit}a c $major `math 224 + $unit` $tape
                ;;
        qic)
                major=`Major tpqic02 12`
+               makedev ntpqic11   c $major   2 $tape
+               makedev tpqic11    c $major   3 $tape
+               makedev ntpqic24   c $major   4 $tape
+               makedev tpqic24    c $major   5 $tape
+               makedev ntpqic120  c $major   6 $tape
+               makedev tpqic120   c $major   7 $tape
+               makedev ntpqic150  c $major   8 $tape
+               makedev tpqic150   c $major   9 $tape
                makedev rmt8       c $major   6 $tape
                makedev rmt16      c $major   8 $tape
                makedev tape-d     c $major 136 $tape
                makedev tape-reset c $major 255 $tape
+               $0 $opts qft
                ;;
        ftape)
-               major=`Major mt 27` || continue
+               major=`Major qft 27` || continue
+               for unit in 0 1 2 3
+               do
+                       makedev qft$unit     c $major $unit $tape
+                       makedev nqft$unit    c $major `math $unit + 4` $tape
+                       makedev zqft$unit    c $major `math $unit + 16` $tape
+                       makedev nzqft$unit   c $major `math $unit + 20` $tape
+                       makedev rawqft$unit  c $major `math $unit + 32` $tape
+                       makedev nrawqft$unit c $major `math $unit + 36` $tape
+               done
+               symlink ftape qft0
+               symlink nftape nqft0
+               ;;
+       sr|scd|scd-all)
+               major=`Major sr 11` || continue
+               for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+               do
+                       makedev scd$unit b $major $unit $cdrom
+                       symlink sr$unit scd$unit
+               done
+               ;;
+       pktcdvd)
+               major=97
                for unit in 0 1 2 3
                do
-                       makedev rft$unit c $major $unit $tape
-                       makedev nrft$unit c $major `math $unit + 4` $tape
+                       makedev pktcdvd$unit b $major $unit $cdrom
                done
-               symlink ftape rft0
-               symlink nftape nrft0
                ;;
-       scd[0-7])
+       cfs0)
+               makedev cfs0 c 67 0 $coda
+               ;;
+       scd[0-9]|scd[0-1][0-9])
                major=`Major sr 11` || continue
                unit=`suffix $arg scd`
                makedev scd$unit b $major $unit $cdrom
+               symlink sr$unit scd$unit 
+               ;;
+       ttyI[0-9]|ttyI[1-5][0-9]|ttyI[6][0-3])
+               major=43
+               unit=`suffix $arg ttyI`
+               makedev ttyI$unit c $major $unit $dialout
+               ;;
+       ppp)
+               major=108
+               makedev ppp c $major 0 $dip
+               ;;
+       ippp[0-9]|ippp[1-5][0-9]|ippp[6][0-3])
+               major=45
+               unit=`suffix $arg ippp`
+               minor=`math $unit + 128`
+               makedev ippp$unit c $major $minor $dialout
+               ;;
+       isdn[0-9]|isdn[1-5][0-9]|isdn[6][0-3])
+               major=45
+               unit=`suffix $arg isdn`
+               minor=`math $unit + 0`
+               makedev isdn$unit c $major $minor $dialout
+               ;;
+       isdnctrl[0-9]|isdnctrl[1-5][0-9]|isdnctrl[6][0-3])
+               major=45
+               unit=`suffix $arg isdnctrl`
+               minor=`math $unit + 64`
+               makedev isdnctrl$unit c $major $minor $dialout
+               ;;
+       isdninfo)
+               makedev isdninfo c 45 255 $private
+               ;;
+       isdn-tty)
+               major=43
+               for unit in 0 1 2 3 4 5 6 7
+               do
+                       makedev ttyI$unit c $major $unit $dialout
+               done
+               ;;
+       isdn-ippp)
+               major=45
+               for unit in 0 1 2 3 4 5 6 7
+               do
+                       makedev ippp$unit c $major `math $unit + 128` $dialout
+               done
+               ;;
+       isdn-io)
+               for unit in 0 1 2 3 4 5 6 7
+               do
+                       makedev isdn$unit c 45 $unit $dialout
+                       makedev isdnctrl$unit c 45 `math $unit + 64` $dialout
+                       makedev ippp$unit c 45 `math $unit + 128` $dialout
+               done
+               makedev isdninfo c 45 255 $dialout
                ;;
        sonycd)
-               major=`Major cdu31a` || continue
+               major=`Major sonycd 15` || continue
                makedev $arg b $major 0 $cdrom
                ;;
        mcd)
                major=`Major mcd 23` || continue
                makedev $arg b $major 0 $cdrom
                ;;
-       mcdx)
-               major=`Major mcdx 20` || continue
-               makedev $arg b $major 0 $cdrom
+       mcdx|mcdx[0-4])
+               major=`Major $arg 20` || continue
+               for unit in 0 1 2 3 4
+               do
+                       makedev mcdx$unit b $major $unit $cdrom
+               done
+               test -r mcdx || symlink mcdx mcdx0
                ;;
        cdu535)
                makedev $arg b 24 0 $cdrom
@@ -501,28 +1741,58 @@ do
                makedev $arg b 24 0 $cdrom
                ;;
        sbpcd|sbpcd[123])
-               major=`Major $arg` || continue
+               major=`Major $arg 25` || continue
                base=`suffix ${arg}0 sbpcd`
-               # base=`expr ${arg}0 : "sbpcd\(.\)"`
                for minor in 0 1 2 3
                do
                        # XXX
-                       unit=`expr substr 0123456789abcdef \( $base \* 4 + $minor + 1 \) 1`
+                       unit=$(substr 0123456789abcdef $(( $base * 4 + $minor + 1 )) )
                        makedev sbpcd$unit b $major $minor $cdrom
                done
                [ $arg = sbpcd ] && symlink $arg ${arg}0
                ;;
        aztcd)
-               major=`Major $arg` || continue
+               major=`Major $arg 29` || continue
+               makedev ${arg}0 b $major 0 $cdrom
+               ;;
+       cm206cd)
+               major=`Major $arg 30` || continue
+               makedev ${arg}0 b $major 0 $cdrom
+               ;;
+       gscd)
+               major=`Major $arg 16` || continue
                makedev ${arg}0 b $major 0 $cdrom
                ;;
+       pcd)
+               for unit in 0 1 2 3 
+               do
+                       makedev pcd$unit b 46 $unit $cdrom
+               done
+               ;;
        bpcd)
                makedev $arg b 41 0 $cdrom
                ;;
+       optcd)
+               makedev $arg b 17 0 $cdrom
+               ;;
+       sjcd)
+               makedev $arg b 18 0 $cdrom
+               ;;
+       cfs|coda)
+               makedev cfs0 c 67 0 $private
+               ;;
+       xfs|nnpfs|arla)
+               makedev xfs0 c 103 0 $private
+               makedev nnpfs0 c 103 0 $private
+               ;;
        logiscan)
                major=`Major logiscan` || continue
                makedev $arg c $major 0 $scanner
                ;;
+       toshiba)
+               major=`Major $arg 10` || continue
+               makedev $arg c $major 181 root root 0666
+               ;;
        m105scan)
                major=`Major m105` || continue
                makedev $arg c $major 0 $scanner
@@ -534,34 +1804,121 @@ do
        audio)
                major=`Major sound 14`
                makedev mixer      c $major  0 $audio
+               makedev mixer1     c $major 16 $audio
+               makedev mixer2     c $major 32 $audio
+               makedev mixer3     c $major 48 $audio
                makedev sequencer  c $major  1 $audio
                makedev midi00     c $major  2 $audio
-               makedev dsp        c $major  3 $audio
-               makedev audio      c $major  4 $audio
-               makedev sndstat    c $major  6 $audio
-#              makedev sequencer2 c $major  8 $audio
-               makedev mixer1     c $major 16 $audio
-#              makedev patmgr0    c $major 17 $audio
                makedev midi01     c $major 18 $audio
-               makedev dsp1       c $major 19 $audio
-               makedev audio1     c $major 20 $audio
-#              makedev patmgr1    c $major 33 $audio
                makedev midi02     c $major 34 $audio
                makedev midi03     c $major 50 $audio
+               makedev dsp        c $major  3 $audio
+               makedev dsp1       c $major 19 $audio
+               makedev dsp2       c $major 35 $audio
+               makedev dsp3       c $major 51 $audio
+               makedev audio      c $major  4 $audio
+               makedev audio1     c $major 20 $audio
+               makedev audio2     c $major 36 $audio
+               makedev audio3     c $major 52 $audio
+               makedev sndstat    c $major  6 $audio
+               makedev audioctl   c $major  7 $audio
+               major=31
+               makedev mpu401data c $major 0  $audio
+               makedev mpu401stat c $major 1  $audio
+               major=35
+               for i in 0 1 2 3
+               do
+                       makedev midi$i  c $major $i $audio
+                       makedev rmidi$i c $major `math $i + 64` $audio
+                       makedev smpte$i c $major `math $i + 128` $audio
+               done
                ;;
        pcaudio)
-               major=`Major pcsp` || continue
+               major=`Major pcsp 13` || continue
                makedev pcmixer c $major 0 $audio
                makedev pcsp    c $major 3 $audio
                makedev pcaudio c $major 4 $audio
                ;;
-       sg)
+       video|video4linux|v4l|radio)
+               # video4linux api includes radio, teletext, etc.
+               major=`Major video 81` || continue
+               minor=0
+               until [ $minor -gt 63 ]
+               do
+                       makedev video$minor c $major $minor $video
+                       makedev radio$minor c $major `math $minor + 64` $video
+                       minor=`math $minor + 1`
+               done
+               symlink radio radio0
+               minor=0
+               until [ $minor -gt 31 ]
+               do
+                       makedev vtx$minor c $major `math $minor + 192` $video
+                       makedev vbi$minor c $major `math $minor + 224` $video
+                       minor=`math $minor + 1`
+               done
+               symlink video video0
+               symlink vbi vbi0
+               major=82
+               minor=0
+               until [ $minor -gt 1 ]
+               do
+                       makedev winradio$minor c $major $minor $video
+                       minor=`math $minor + 1`
+               done
+               major=83
+               makedev vtx     c $major 0 $video
+               makedev vttuner c $major 16 $video
+               ;;
+       i2c)
+               # making it possible to create an arbitrary number of i2c
+               # devices might be good, but 8 should suffice for now
+               major=`Major i2c 89` || continue
+               minor=0
+               until [ $minor -gt 7 ] 
+               do
+                       makedev i2c-$minor c $major $minor $private
+                       minor=`math $minor + 1`
+               done
+               ;;
+       tlk)
+               major=102
+               minor=0
+               until [ $minor -gt 3 ] # tell me if 3 is wrong...
+               do
+                       makedev tlk$minor c $major $minor $video
+                       minor=`math $minor + 1`
+               done
+               ;;
+       srnd)
+               makedev srnd0 c 110 0 $video
+               makedev srnd1 c 110 1 $video
+               ;;
+       fgrab)
+               makedev mmetfgrab c 40 0 $video
+               makedev wvisfgrab c 26 0 $video
+               for i in 0 1 # more?
+               do
+                       makedev iscc$i    c 93 $i $video
+                       makedev isccctl$i c 93 `math $i + 128` $video
+               done
+               for i in 0 1 # more?
+               do
+                       makedev dcxx$i c 94 $i $video
+               done
+               ;;
+       sg|sg-all)
                major=`Major sg 21`
-               for unit in a b c d e f g h
+               for unit in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+               do
+                       makedev sg$unit c $major $unit $scsi
+               done
+               ;;
+       pg)
+               major=`Major pg 97`
+               for unit in 0 1 2 3
                do
-                       minor=`index abcdefgh $unit`
-                       # minor=`expr abcdefgh : ".*$unit" - 1`
-                       makedev $arg$unit c $major $minor $scsi
+                       makedev pg$unit c $major $unit $scsi
                done
                ;;
        fd)
@@ -572,15 +1929,34 @@ do
                symlink stderr fd/2
                ;;
        ibcs2)
-               major=`Major ibcs2` || continue
+               major=`Major ibcs2 30` || continue
                makedev socksys c $major 0 $ibcs2
                symlink nfsd socksys
                makedev spx     c $major 1 $ibcs2
                symlink X0R null
                ;;
+       netlink)
+               major=36
+               makedev route c $major 0 $private
+               makedev skip  c $major 1 $private
+               ;;
+       enskip)
+               major=64
+               makedev enskip c $major 0 $private
+               ;;
+       ipfilt*)
+               major=95
+               makedev ipl     c $major 0 $private
+               makedev ipnat   c $major 1 $private
+               makedev ipstate c $major 2 $private
+               makedev ipauth  c $major 3 $private
+               ;;
+       qng)
+               makedev qng c 77 0 $private
+               ;;
        apm)
-               major=`Major apm_bios` || continue
-               makedev $arg c $major 0 $system
+               major=`Major mouse 10` || continue
+               makedev apm_bios  c $major 134 $mouse
                ;;
        dcf)
                major=`Major dcf` || continue
@@ -590,7 +1966,129 @@ do
                major=`Major hw` || continue
                makedev helloworld c $major 0 $public
                ;;
+       ipsec)
+               # For the Free S/WAN (http://www.xs4all.nl/~freeswan/)
+               # implementation of IPSEC
+               makedev ipsec c 36 10 $ipsec
+               ;;
+       comedi)
+               major=98
+               for minor in 0 1 2 3
+               do
+                       makedev comedi$minor c $major $minor $public
+               done
+               ;;
+       tilp)
+               for i in `seq 0 7`
+               do
+                       makedev tipar$i c 115 $i $printer
+                       makedev tiser$i c 115 `math 8 + $i` $dialout
+               done
+               for i in `seq 0 31`
+               do
+                       makedev tiusb$i c 115 `math 16 + $i` $dialout
+               done
+               ;;
+       dvb)
+               # check if kernel-version is >= 2.6.8, if yes, create dvb-devices with
+               # major-number 212, in the other case 250
+               
+               kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
+               kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
+               kern_rev3=`uname -r | sed -e 's@^[^.]*\.[^.]*\.\([^.][0-9]*\).*@\1@'`
+      
+               dvb_major=250
+
+               if [ $kern_rev1 -gt 2 ] || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -gt 6 ]) \
+                       || ([ $kern_rev1 -eq 2 ] && [ $kern_rev2 -eq 6 ] && [ $kern_rev3 -ge 8 ])
+               then 
+                       dvb_major=212 
+               fi
+
+               mkdir -p dvb
+               for i in 0 1 2 3
+               do
+                       mkdir -p dvb/adapter$i
+                       makedev dvb/adapter$i/video0    c $dvb_major `math 64 \* $i + 0` $video
+                       makedev dvb/adapter$i/audio0    c $dvb_major `math 64 \* $i + 1` $video
+                       makedev dvb/adapter$i/frontend0 c $dvb_major `math 64 \* $i + 3` $video
+                       makedev dvb/adapter$i/demux0    c $dvb_major `math 64 \* $i + 4` $video
+                       makedev dvb/adapter$i/dvr0      c $dvb_major `math 64 \* $i + 5` $video
+                       makedev dvb/adapter$i/ca0       c $dvb_major `math 64 \* $i + 6` $video
+                       makedev dvb/adapter$i/net0      c $dvb_major `math 64 \* $i + 7` $video
+                       makedev dvb/adapter$i/osd0      c $dvb_major `math 64 \* $i + 8` $video
+               done
+               ;;
+       usb)
+               mkdir -p usb
+               major=180
+               for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+                       makedev usb/lp$i c $major $i $printer
+                       makedev usb/mouse$i c $major `math $i + 16` $mouse
+                       makedev usb/ez$i c $major `math $i + 32` $system
+                       makedev usb/scanner$i c $major `math $i + 48` $scanner
+                       makedev usb/hiddev$i c $major `math $i + 96` $system
+                       makedev ttyACM$i c 166 $i $dialout
+                       makedev ttyUSB$i c 188 $i $dialout
+               done
+               makedev usb/rio500 c $major 64 $audio
+               makedev usb/usblcd c $major 65 $audio
+               makedev usb/cpad0 c $major 66 $audio
+               ;;
+       bluetooth)
+               major=216
+               for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \
+                       16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
+               do
+                       makedev rfcomm$i c $major $i $dialout
+               done
+               makedev vhci c 10 250 $dialout
+               for i in 0 1 2 3; do
+                       makedev ttyUB$i c 216 $i $dialout
+                       makedev ccub$i c 217 $i $dialout
+               done
+               ;;
+       paride)
+                major=45
+                for unit in a b c d
+               do
+                    base=`index abcd $unit`
+                    base=`math $base \* 16`
+                    makedev pd$unit b $major $base $disk
+                    for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+                    do
+                       makedev pd$unit$part b $major $(( $base + $part )) $disk
+                    done
+               done
+               for i in 0 1 2 3
+               do
+                   makedev pcd$i b 46 $i $cdrom
+                   makedev pf$i  b 47 $i $floppy
+               done
+                ;;
        update)
+               devices=
+               if [ ! -f $procfs/devices ]
+               then
+                       echo "$0: warning: can't read $procfs/devices" >&2
+               else
+                       exec 3<$procfs/devices
+                       while read major device extra <&3
+                       do
+                               device=`echo $device | sed 's#/.*##'`
+                               case "$major" in
+                                       Character|Block|'')
+                                               ;;
+                                       *)
+                                               eval "major_$device=$major"
+                                               devices="$devices $device"
+                                               ;;
+                               esac
+                       done
+                       exec 3<&-
+               fi
+
                if [ ! "$devices" ]
                then
                        echo "$0: don't appear to have any devices" >&2
@@ -619,7 +2117,6 @@ do
                                        create="$create "`cvt $device`
                                fi
                                devs=`strip " $devs " $device`
-                               # devs=`expr "$devs" : "\(.*\) $device"``expr "$devs" : ".* $device\(.*\)"`
                        done
                        exec 3<&-
                fi
@@ -637,6 +2134,7 @@ do
                ;;
        *)
                echo "$0: don't know how to make device \"$arg\"" >&2
+               exit 1
                ;;
        esac
 done
index 72fb9aad43647c54c4f0bcee9874b9e2a982cf5c..8b455b56eb9fd3e0a2ccee2177c1b373c559e2e9 100644 (file)
@@ -1,16 +1,18 @@
-.\" $Id: MAKEDEV.man,v 2.2 1995/05/21 17:55:30 alfie Exp $
-.TH MAKEDEV 8 "14th August 1994" Linux "Linux Programmer's Manual"
+.\" $Id: MAKEDEV.man,v 3.0 2002/05/17 22:47 toff Exp $
+.TH MAKEDEV 8 "May 17 2002" Linux "Make Linux Devices"
 .SH NAME
 MAKEDEV \- create devices
 .SH SYNOPSIS
-.B "cd dev; ./MAKEDEV -V"
+.B "cd /dev; ./MAKEDEV [ -n ] [ -v ] [ update ]"
 .br
-.B "cd dev; ./MAKEDEV [ -n ] [ -v ] update"
+.B "cd /dev; ./MAKEDEV [ -n ] [ -v ] [ generic ] [ local ] [ group-keyword ... device ... ]"
 .br
-.BI "cd dev; ./MAKEDEV [ -n ] [ -v ] [ -d ]" " device ..."
+.BI "cd /dev; ./MAKEDEV [ -n ] [ -v ] [ -d ]" " device ..."
 .SH DESCRIPTION
 .B MAKEDEV
-is a script that will create the devices in \fC/dev\fP used to interface
+is a script that will create the devices in 
+.B /dev
+used to interface
 with drivers in the kernel.
 .PP
 Note that programs giving the error ``ENOENT: No such file or
@@ -19,9 +21,6 @@ directory'' normally means that the device file is missing, whereas
 driver configured or loaded.
 .SH OPTIONS
 .TP
-.B \-V
-Print out version (actually RCS version information) and exit.
-.TP
 .B \-n
 Do not actually update the devices, just print the actions that would be
 performed.
@@ -43,9 +42,7 @@ to reflect your site's settings.  Near the top of the file is a mapping
 from device type to user, group and permissions (e.g. all CD-ROM devices
 are set from the \fC$cdrom\fP variable).  If you wish to change the
 defaults, this is the section to edit.
-.SH DEVICES
-.TP
-.B General Options
+.SH GENERAL OPTIONS
 .TP
 .B update
 This only works on kernels which have \fC/proc/interrupts\fP (introduced
@@ -56,95 +53,246 @@ Devices which are new since then or have a different major number are
 created, and those which are no longer configured are deleted.
 .TP
 .B generic
-Create a generic subset of devices.  This is the standard devices, plus
-floppy drives, various hard drives, pseudo-terminals, console devices,
-basic serial devices, busmice, and printer ports.
-.TP
-.B
-std
-Standard devices.
-These are:
+Create a generic subset of devices.  This subset consists of the
+standard devices, plus floppy drives, various hard drives, CD-ROM
+drives, pseudo-terminals, console devices, basic serial devices,
+busmice, audio devices, video framebuffers, printer ports, and some
+specialized devices. The generic subset varies somewhat according to
+architecture; see the 
+.B /dev/MAKEDEV
+script itself for details.
+.TP 
+.B local
+This simply runs 
+.BR MAKEDEV.local .
+This is a script that can create any local devices.
+.SH DEVICE GROUPS 
+.B MAKEDEV 
+creates groups of devices when passed keywords for the group.
+Each listing below shows the 
+.B MAKEDEV 
+keyword and then lists the devices which will be created. Many 
+devices can also be specified individually.
+.SH STANDARD DEVICES
+.TP
+.B std
+Creates this group of standard devices:
 .B mem
-\- acess to physical memory;
+for access to physical memory,
 .B kmem
-\- access to kernel virtual memory;
+for access to kernel virtual memory,
 .B null
-\- null device (infinite sink);
+the null device (infinite sink),
 .B port
-\- access to I/O ports;
+for access to I/O ports,
 .B zero
-\- null byte source (infinite source);
-.B core
-\- symlink to /proc/kcore (for kernel debugging);
+the null byte source (infinite source),
+.BR core ,
+a symlink to /proc/kcore (for kernel debugging),
 .B full
-\- always returns ENOSPACE on write;
-.B ram
-\- ramdisk;
+which always returns ENOSPACE on write,
+.BR random " and " urandom
+random byte generators, and
 .B tty
-\- to access the controlling tty of a process.
+to access the controlling tty of a process. The
+loopback disk devices
+.B loop0 
+through 
+.BR loop7 
+are also created in the 
+.B std
+group.  These allow you to use a regular file as a
+block device. A filesystem image can be mounted,
+and used as though it were a filesystem on a partition or other 
+block device.  
+.B loop
+may also be used as a separate keyword to create the 8 loop devices. Finally, the
+.B ram
+group of memory devices is also created by the 
+.B std 
+keyword (see below).
+.SH MEMORY DEVICES
+.TP
+.B ram
+This is the keyword used to generate the ramdisk devices 
+.BI ram {0..16}
+and the 
+.B ram 
+symlink. This group does not include 
+.BR initrd .
+.TP
+.B initrd
+Ramdisk which has been pre-initialized by a bootloader. 
+.B initrd
+is not created in the 
+.B ram
+group; it must be specifically included 
+in the command line if you want it to be created.
+.TP
+.IR cpu " or " microcode
+Creates the CPU microcode update interface in the 
+.B cpu/
+folder, with devices 
+.BR microcode ,
+and subfolders 
+.BR {0..3}
+each containing devices 
+.BR msr " and " cpuid .
+.TP
+.B rom
+Creates the 
+.BI rom {0..7} " rrom" {0..7} " flaxh" {0..7} 
+and
+.BI rflash {0..7}  
+flash memory card devices. 
+.BR rrom " and " rflash
+devices are read-only.
+.SH CONSOLE DEVICES
+.TP
+.B console
+This keyword creates virtual consoles;
+.BI tty {0..63}
+devices, the corresponding 
+.B vcs
+and 
+.B vcsa
+devices which are used to generate screen-dumps, and the 
+.B console 
+device itself plus appropriate symlinks.
+To create the console device alone, use 
+.BR consoleonly .
+The device 
+.B tty0 
+is the currently active virtual console. The 
+.B console
+device serves the same function.
+.SH PSEUDO TERMINALS
 .TP 
-.B local
-This simply runs 
-.BR MAKEDEV.local .
-This is a script that can create any local devices.
+.B pty
+This keyword creates the Pseudo-TTY masters 
+.BI pty {a..e,p..z}
+and corresponding 
+.BI tty {a..e,p..z}
+devices, along with 
+.BR ptmx . 
+Each possible argument will create a bank of 16 master and slave pairs.
+The master pseudo-terminals are 
+.BR pty{p..s}{0..9a..f} ,
+and the slaves are
+.BR tty{p..s}{0..9a..f} .
+.SH SERIAL DEVICES
 .TP
-.B Virtual Terminals
+.I ttyS{0..63}
+Standard serial ports. There is no group keyword, you must 
+specify these individually. However 
+.BI ttyS{0..3}
+are created under the 
+.B generic
+option for most architectures.
 .TP
-.I console
-This creates the devices associated with the console.  This is the virtual
-terminals
-.RI tty x ,
-where
-.I x
-can be from 0 though 63.  The device tty0 is the currently active vt, and
-is also known as \fCconsole\fP.  For each vt, there are two devices
-.RI vcs x
+.BR cyclades " or " ttyC
+Creates Cyclades ports 
+.BI ttyC {0..31} \fR.
+.TP
+.BR digi " or " ttyD
+Creates Digiboard serial card ports
+.BI ttyD {0..15} \fR.
+.TP
+.BR stallion " or " ttyE
+Creates Stallion devices 
+.BI ttyE {0..255} 
+and 
+.BI staliomem {0..3} \fR.
+.TP
+.BR computone " or " ttyF
+Creates CompuTone serial card ports
+.BI ttyH {0..255} 
+and special devices 
+.B ip2ipl{0,4,8,12}
 and
-.RI vcsa x ,
-which are used to generate screen-dumps of the vt (the
-.BI vcs x
-is just the text,
+.BR ip2stat{1,5,9,13} \fR.
+.TP
+.BR chase " or " ttyH
+Creates Chase serial card ports
+.BI ttyH {0..15} \fR.
+.TP
+.BR isdnmodem " or " ttyI
+Creates isdn4linux virtual modem ports
+.BI ttyI {0..63} \fR.
+.TP
+.BR isdn-tty
+Also creates isdn4linux virtual modem ports
+.BI ttyI {0..7} \fR.
+.TP
+.B isdnbri
+Creates ISDN BRI driver devices
+.B isdn{0..63} isdnctrl{0..63} ippp{0..63} 
 and
-.BI vcsa x
-includes the attributes).
+.BR isdninfo .
 .TP
-.B Serial Devices
+.B isdn-io
+Also creates ISDN BRI driver devices
+.B isdn{0..7} isdnctrl{0..7} ippp{0..7} 
+and
+.BR isdninfo .
+The
+.B isdn-ippp 
+keyword can be used separately to create only the 
+.BI ippp {0..7} 
+devices.
 .TP
-.I ttyS{0..63}
-Serial ports and corresponding dialout device.  For device
-.BI ttyS x ,
-there is also the device
-.BI cua x
-which is used to dial out with.  This can avoid the need for cooperative
-locks in simple situations.
-.TP
-.I cyclades
-Dial-in and dial-out devices for the cyclades intelligent I/O serial card.
-The dial in device is
-.BI ttyC x
-and the corresponding dial-out device is
-.BI cub x 
-By default devices for 7 lines are created, but this can be changed to
-15 by removing the comment.
-.TP
-.B Pseudo Terminals
-.TP
-.I pty[p-s]
-Each possible argument will create a bank of 16 master and slave
-pairs.  The current kernel (1.2) is limited to 64 such pairs.
-The master pseudo-terminals are 
-.BR pty[p-s][0-9a-f] ,
-and the slaves are
-.BR tty[p-s][0-9a-f] .
+.B ppp
+Creates a device independent PPP interface.
 .TP
-.B Parallel Ports
+.B dcbri
+Creates Spellcaster DataComm/BRI ISDN card devices 
+.BR dcbri{0..3} .
 .TP
-.I lp
-Standard parallel ports.  The devices are created 
+.BR riscom " or " ttyL
+Creates Riscom serial card ports
+.BI ttyL {0..15} \fR.
+.TP
+.BR PAM " or " ttyM
+Creates PAM multimodem (or ISI serial card) ports 
+.BI ttyM {0..15} \fR.
+.TP
+.BR ESP " or " ttyP
+Creates ESP ports 
+.BI ttyP {0..4} \fR.
+.TP
+.BR rocketport " or " ttyR
+Creates Rocketport devices
+.BI ttyR {0..63} \fR.
+.TP
+.BR ttyV
+Creates Comtrol VS-1000 serial controller ports 
+.BI ttyV {0..15} \fR.
+.TP
+.BR specialixIO8 " or " ttyW
+Creates Specialix IO8+ ports 
+.BI ttyW {0..15} \fR.
+.TP
+.BR specialix " or " ttyX
+Creates Specialix ports 
+.BI ttyX {0..15} \fR.
+.TP
+.BI i2c
+Creates 
+.BI i2c {0..7}
+devices for the I2C bus interface.
+.TP
+.BI tlk
+Philips SAA5249 Teletext signal decoder {2.6} ports 
+.BI tlk {0..3} \fR.
+.SH PARALLEL PORTS
+.TP
+.IR lp
+Creates the standard parallel ports 
 .BR lp0 , 
 .BR lp1 ,
 and 
-.BR lp2 .
+.BR lp2 
+normally used for printers.
 These correspond to ports at 0x3bc, 0x378 and 0x278.
 Hence, on some machines, the first printer port may actually be
 .BR lp1 .
@@ -152,27 +300,128 @@ Hence, on some machines, the first printer port may actually be
 .I par
 Alternative to
 .IR lp .
-Ports are named
-.BI par x
+The same ports are created, but are named
+.BI par {0..2}
 instead of
-.BI lp x .
+.BI lp {0..2} \fR.
+.TP
+.I parport
+Creates raw parallel ports
+.BR parport0 , 
+.BR parport1 ,
+and 
+.BR parport2 .
+.TP
+.B slm
+Creates the Atari SLM ACSI laser printer (68k/Atari) ports
+.BI slm {0..3} \fR.
+.TP
+.B pg
+Parallel port generic ATAPI interface (devices 
+.BI pg {0..3} \fR.
 .TP
-.B Bus Mice
+.B paride
+Parallel port IDE disk devices 
+.BI pd {a..d}
+with 15 partitions on each. Also creates
+.BR pcd{0..3} " and " pf{0..3} . 
+.SH OTHER BUS PORTS
+.TP
+.BR netlink " or " tap
+Creates NetLink devices 
+.B route skip fwmonitor
+and
+.BI tap {0..15} 
+Ethertap devices.
+The
+.BI tap x
+virtual ethernet device was designed as low level kernel support for
+Ethernet tunneling. Userland application can write Ethernet frame to
+.BI /dev/tapX
+and the kernel will receive this frame from tapX interface. 
+Every frame the kernel writes to a
+.BI tapX
+interface can be read by a userland application from the corresponding
+.BI /dev/tapX
+device.
+.TP 
+.B enskip
+ENskip kernel encryption package.
+.TP
+.B qng
+ComScire Quantum Noise Generator.
+.TP
+.B ipsec
+The Free S/WAN implementation of IPSEC.
+.TP 
+.B adb
+On powerpc, creates 
+.B adb
+for the Apple Data Bus and 
+.BR adbmouse .
+On m68k, 
+.B adb
+creates the ACSI disk device 
+.B adb
+and partitions
+.B adb1 
+through 
+.BR adb15 .
+.TP
+.B hamradio
+Creates the 
+.BI scc {0..7} 
+and 
+.BI bc {0..3} 
+device groups.
+.TP 
+.B comx
+Creates COMX devices
+.BI comx {0..4} \fR.
+.TP
+.B irda
+Creates IrCOMM devices (IrDA serial/parallel emulation)
+.B ircomm0 ircomm1 irlpt0
+and
+.BR irlpt1 .
+.TP
+.B comedi
+Control and Measurement devices 
+.BI comedi {0..3} \fR.
+.SH MOUSE DEVICES
 .TP
 .I busmice
-The various bus mice devices.  This creates the following devices:
-.B logimouse
+This keyword creates the following devices:
+.B logibm
 (Logitech bus mouse),
-.B psmouse
+.B psaux
 (PS/2-style mouse),
-.B msmouse
+.B inportbm
 (Microsoft Inport bus mouse) and
-.B atimouse
+.B atibm
 (ATI XL bus mouse) and
-.B jmouse
+.B jbm
 (J-mouse).
 .TP
-.B Joystick Devices
+.I m68k-mice
+Creates mouse devices for the m68k architecture, including:
+.BR amigamouse ,
+.BR amigamouse1 ,
+.B atarimouse 
+and
+.BR adbmouse .
+.TP
+.I input
+On powerpc, this keyword creates the 
+.I input 
+folder which groups input devices
+.BR mice , 
+.BI mouse {0..3} \fR,
+.BI event {0..3} \fR,
+and 
+.BI js {0..3}
+(joystick), and creates these devices inside. 
+.SH JOYSTICK DEVICES
 .TP
 .I js
 Joystick.  Creates 
@@ -180,28 +429,61 @@ Joystick.  Creates
 and 
 .BR js1 .
 .TP
-.B Disk Devices
+.I djs
+Digital joystick. Creates 
+.B djs0
+and 
+.BR djs1 .
+.SH USB DEVICES
 .TP
-.I fd[0-7]
+.B usb
+USB is a general purpose I/O bus which can serve many purposes. The
+.B usb
+keyword creates a 
+.B usb
+folder, and devices in the folder:
+.BI lp {0..15}
+(printer),
+.BI mouse {0..15}
+(USB connected mice),
+.BI ez {0..15}
+(firmware loaders)
+.BI scanner {0..15}
+(scanner interfaces),
+.BI ttyACM {0..15} 
+and
+.BI ttyUSB {0..15}
+(dialout devices),
+and 
+.B rio500
+the Diamond Rio 500 device. 
+.SH DISK DEVICES
+.TP
+.BI fd {0..7}
 Floppy disk devices.  The device
 .BI fd x
-is the device which autodetects the format, and the additional devices are
+is the device which autodetects the format, 
+and the additional devices are
 fixed format (whose size is indicated in the name).
 The other devices are named as
-.BI fd xLn .
-The single letter
-.I L
-identifies the type of floppy disk (d = 5.25" DD, h = 5.25" HD, D = 3.5"
-DD, H = 3.5" HD, E = 3.5" ED).  The number
+.BI fd x{dqhu}n .
+The single letter 
+.RI ( d ,
+.IR q , 
+.IR h or 
+.IR u )
+signifies the type of drive: 5.25" Double Density (d),
+5.25" Quad Density (q), 5.25" High Density (h) or 3.5"
+(any model, u). The number
 .I n
-represents the capacity of that format in K.  Thus the standard formats
-are
+represents the capacity of that format in K.  
+Thus the standard formats are
 .BI fd x d360 ,
 .BI fd x h1200 ,
-.BI fd x D720 ,
-.BI fd x H1440 ,
+.BI fd x 720 ,
+.BI fd x 1440 ,
 and
-.RI fd x E2880 .
+.BI fd x 2880 .
 .IP
 For more information see Alain Knaff's fdutils package.
 .IP
@@ -215,12 +497,16 @@ through
 .BI fd7 *
 are floppy disks on the second controller.
 .TP
-.I hd[a-d]
-AT hard disks.  The device
+.BI fd {0..7} -bare
+Creates just the autodetecting floppy device specified, without the fixed 
+format devices.
+.TP
+.BI hd {a..l}
+AT (ide) hard disks.  The device
 .BI hd x
 provides access to the whole disk, with the partitions being
-.BI hd x [0-20].
-The four primary partitions are
+.BI hd x {1..63}.
+For i386, the four primary partitions are
 .BI hd x 1
 through
 .BI hd x 4,
@@ -228,95 +514,237 @@ with the logical partitions being numbered from
 .BI hd x 5
 though
 .BI hd x 20.
-(A primary partition can be made into an extended partition, which can hold
-4 logical partitions).
-By default, only the devices for 4 logical partitions are made.  The
-others can be made by uncommenting them.
+(A primary partition can be made into an extended partition, which can
+hold 4 logical partitions). Other architectures may not differentiate
+partition types.  By default, devices for 20 logical partitions are
+made. The kernel supports up to 63 partitions per device.
 .IP
-Drives hda and hdb are the two on the first controller.  If using the new
-IDE driver (rather than the old HD driver), then hdc and hdd are the two
+Drives 
+.B hda 
+and  
+.B hdb 
+are the two on the primary controller
+.B hdc 
+and
+.B hdd 
+are the two
 drives on the secondary controller.  These devices can also be used to
-acess IDE CDROMs if using the new IDE driver.
+access IDE CDROMs. Additional devices 
+.BI hd {e..l} 
+can be created.
 .TP
-.I xd[a-d] 
-XT hard disks.  Partitions are the same as IDE disks.
+.BI xd {a..d} 
+XT hard disks.  Partitions are the same as IDE disks, except only 8 
+partitions are created. 
 .TP
-.I sd[a-h]
+.BI sd {a..h}
 SCSI hard disks.  The partitions are similar to the IDE disks, but there
 is a limit of 11 logical partitions
-.RI (sd x 5
+.BI sd x 5
 through
-.RI sd x 15).
-This is to allow there to be 8 SCSI disks.
+.BI sd x 15, 
+to allow there to be 8 SCSI disks on a system 
+(addresses 0 through 7). 
 .TP
-.I loop
-Loopback disk devices.  These allow you to use a regular file as a
-block device.  This means that images of filesystems can be mounted,
-and used as normal.  This creates 8 devices loop0 through loop7.
+.BI sd {i..z} 
+and 
+.BI sd {a..d}{a..z}
+The kernel (and MAKEDEV) can handle up to 128 SCSI disks (up to 
+.BR sddx ).
+15 partition devices are created for each.
+.TP
+.B eda edb
+MCA ESDI hard disk. Partitions are handled the same as hd.
+.TP
+.BI dasd {a..z}
+Direct Access Storage Devices for the s390 architecture. Currently
+only one device partition is created (for example, 
+.BR dasda1 ).
+.TP
+.BI ada {a..p}
+ACSI disk (68k/Atari). 15 partitions are created for each.
+.TP
+.BI dac960. {0..7} 
+Mylex DAC960 PCI RAID controller. For this device, an 
+.B rd
+directory is created. 32 logical devices
+.BI c x d {0..31}
+are created for each unit 
+.I x
+specified, each with 7 partitions 
+.BI c x d {0..31} p {1..7} \fR.
+The 
+.B dac960
+keyword will create all 7 units at once.
 .TP
-.B Tape Devices
+.BI dpti
+Adaptec I2O RAID and DPT SmartRAID V I2O controllers. Creates
+7 devices for handling up to 7 controllers.
 .TP
-.I st[0-7]
-SCSI tapes.  This creates the rewinding tape device
+.BI ataraid. {0..7} 
+Obsolete, device not in current devices.txt. For this device, an 
+.B ataraid
+directory is created. 
+.BI d x 
+is created for each unit 
+.I x
+specified, and 15 partitions 
+.BI d x p {1..15} \fR.
+The 
+.B ataraid
+keyword will create all 7 units at once.
+.TP
+.BI i2o.hd{a..d}{a..z}
+I2O based harddisk drives. Device nodes are located in the
+.B i2o
+directory. The filename is followed by a number that specifies the partition on
+each disk. The numbers are handled the same as hd.
+.TP
+.BI ida. {0..7} 
+Compaq Intelligent Drive Array. For this device, an 
+.B ida
+directory is created. 16 logical devices
+.BI c x d {0..15}
+are created for each unit 
+.I x
+specified, each with 15 partitions 
+.BI c x d {0..15} p {1..15} \fR.
+The 
+.B ida
+keyword will create the first three units.
+.TP
+.BI cciss. {0..7} 
+Compaq Next Generation Drive Array. For this device, a
+.B cciss
+directory is created. 16 logical devices
+.BI c x d {0..15}
+are created for each unit 
+.I x
+specified, each with 15 partitions 
+.BI c x d {0..15} p {1..15} \fR.
+The 
+.B cciss
+keyword will create the first three units.
+.TP
+.BI md
+Creates Metadisk (RAID) disk array with 16 devices.
+.SH TAPE DEVICES
+.TP
+.I st{0..7}
+SCSI tape devices.  This creates the rewinding tape device
 .BI st x
 and the non-rewinding tape device
-.BI nst x .
+.BI nst x ,
+for each of modes 0 through 3.
 .TP
 .I qic
-QIC-80 tapes.  The devices created are
+QIC-11, -24, -120, and -150 tapes.  The devices created are
+.B ntpqic11 tpqic11 ntpqic24 tpqic24 ntpqic120 tpqic120 ntpqic150
+and 
+.B tpqic150
+tape devices, along with
 .BR rmt8 ,
 .BR rmt16 ,
 .BR tape-d ,
 and
 .BR tape-reset .
 .TP
-.I ftape
+.I ftape               
 Floppy driver tapes (QIC-117).  There are 4 methods of access depending on
 the floppy tape drive.  For each of access methods 0, 1, 2 and 3, the
 devices
-.BI rft x
+.BI qft x
+.BI zqft x
+and
+.BI rawqftx
 (rewinding) and
-.BI nrft x
-(non-rewinding) are created.  For compatability, devices
+.BI nqft x
+.BI nzqft x
+.BI nrawqdt x
+(non-rewinding) are created.  For compatibility, devices
 .B ftape
 and
 .B nftape
 are symlinks to
-.B rft0
+.B qft0
 and
-.B nrft0
+.B nqft0
 respectively.
 .TP
-.B CDROM Devices
+.B ht0
+Creates IDE tape devices 
+.B ht0
+and
+.BR nht0 .
+.TP
+.BI pt {0..3}
+Creates parallel port ATAPI tape devices
+.B pt{0..3}
+and
+.BR npt{0..3} .
+.SH CDROM DEVICES
+.TP
+.BR sr " or " scd " or " scd-all
+Creates 
+.BI scd {0..16}
+SCSI CD players and 
+.BI sr {0..16}
+symlinks for these devices.
+.B cdrom 
+is a symlink which can be created by the user to the active CD device.
+It is not created by 
+.BR MAKEDEV .
+.TP
+.B pktcdvd
+Provides packet writing devices 
+.BI pktcdvd {0..3}
+for CD/DVD.
 .TP
-.I scd[0-7]
-SCSI CD players.
+.I pcd{0..3}
+Parallel port ATAPI CD-ROM devices
 .TP
-.I sonycd
-Sony CDU-31A CD player.
+.I sonycd 
+Sony CDU-31a CD-ROM
 .TP
-.I mcd
-Mitsumi CD player.
+.I mcd 
+Mitsumi CD-ROM
+.TP
+.I mcdx
+Obsolete, device not in current devices.txt.
 .TP
 .I cdu535
-Sony CDU-535 CD player.
+Sony CDU-535 CD-ROM
+.TP
+.IR lmscd
+Philips LMS CM-205 CD-ROM. The newer name for this device is 
+.IR cm205 ,
+but MAKEDEV creates only lmscd at this time.
+.TP
+.I cm206cd
+Philips LMS CM-206 CD-ROM
+.TP
+.I bpcd
+MicroSolutions BackPack parallel port CD-ROM (Obsolete - use pcd)
+.TP
+.I sbpcd{0..15}
+Matsushita (Panasonic/SoundBlaster) CD-ROM. Units {0..3} are created with the keyword
+.BR sbpcd .
 .TP
-.I lmscd
-LMS/Philips CD player.
+.I aztcd
+Aztech/Orchid/Okano/Wearnes CD-ROM
 .TP
-.I sbpcd{,1,2,3}
-Sound Blaster CD player.  The kernel is capable of supporting 16 CDROMs,
-each of which is accessed as
-.BR sbpcd[0-9a-f] .
-These are assigned in groups of 4 to each controller.
-.B sbpcd
-is a symlink to
-.BR sbpcd0 .
-.\" .TP
-.\" .I idecd
-.\" NEC CDR-260 (note: this will probably be obsoleted by the new IDE driver).
+.I gscd 
+GoldStar CD-ROM
 .TP
-.B Scanner
+.I optcd
+Optics Storage CD-ROM
+.TP
+.I sjcd
+Sanyo CD-ROM
+.TP
+.I hitcd
+Hitachi CD-ROM
+.SH SCANNERS
 .TP
 .I logiscan
 Logitech ScanMan32 & ScanMan 256.
@@ -326,34 +754,105 @@ Mustek M105 Handscanner.
 .TP
 .I ac4096
 A4Tek Color Handscanner.
-.TP
-.B Audio
+.SH AUDIO DEVICES
 .TP
 .I audio
 This creates the audio devices used by the sound driver.  These include
-.BR mixer ,
-.BR sequencer ,
-.BR dsp ,
+.B mixer mixer{1..3}
+(Mixer controls), 
+.B sequencer
+(Audio sequencer),
+.B dsp dsp{1..3}
+(Digital audio),
+.B sndstat
+(Sound card status information),
+.B audioctl
+(SPARC audio control device)
 and
-.BR audio .
+.B audio audio{1..3} 
+(Sun-compatible digital audio). MIDI devices are 
+.B midi00
+through
+.BR midi03 ,
+.BI midi {0..3} \fR,
+.BI rmidi {0..3} \fR,
+.BI smpte {0..3} \fR.
+In addition, devices 
+.B mpu401data
+and
+.B mpu401stat
+are created.
 .TP
 .I pcaudio
 Devices for the PC Speaker sound driver.  These are
-.BR pcmixer .
+.BR pcmixer ,
 .BR pxsp ,
 and
 .BR pcaudio .
+.SH VIDEO DEVICES
+.TP
+.B fb
+Creates framebuffer devices
+.BI fb {0..7} \fR,
+.BI fb {0..7} current \fR,
+.BI fb {0..7} autodetect \fR.
 .TP
-.B Miscellaneous
+.B fb{0..7}
+If the framebuffer number 
+.I x 
+is specifed, a group of  
+.BI fb x user {0..7} 
+devices is created.
 .TP
-.I sg
+.B 3dfx
+is the 3Dfx Voodoo Graphics device.
+.TP
+.B agpgart
+AGP Graphics Address Remapping Table
+.TP
+.I "video video4linux v4l radio"
+Each of these keywords produces the same result:
+Video capture/overlay devices
+.BI video {0..63} \fR,
+Radio devices
+.BI radio {0..63} \fR,
+Teletext devices 
+.BI vtx {0..31} \fR,
+and Vertical blank interrupt devices
+.BI vbi {0..31} \fR. 
+In addition, the 
+.BR winradio0 " and " winradio1 " devices,"
+and 
+.BR vtx " and " vttuner " devices,"
+and symlinks
+.BR "radio video" " and " vbi
+are created. 
+.TP
+.BI srnd
+miroMEDIA Surround board devices 
+.BR srnd0 " and " srnd1 .
+.TP
+.B fgrab
+Matrox Meteor frame grabber {2.6}. Creates 
+.BR mmetfgrab ,
+.BR wvisfgrab ,
+.BR iscc0 ,
+.BR iscc1 ,
+.BR isccctl0 ,
+.BR isccctl1 ,
+.BR dcxx0 ,
+and
+.BR dcxx1 .
+.SH MISCELLANEOUS DEVICES
+.TP
+.IR sg " or " sg-all
 Generic SCSI devices.  The devices created are 
-.B sg0 through 
-.BR sg7 .
-These
-allow arbitary commands to be sent to any SCSI device.  This allows for
-querying information about the device, or controlling SCSI devices that
-are not one of disk, tape or CDROM (e.g. scanner, writeable CDROM).
+.B sg0 
+through 
+.BR sg16 .
+These allow arbitary commands to be sent to any SCSI device, to query
+information or control SCSI devices that are not disk, tape or CDROM
+(for example, scanner or writeable CDROM).
 .TP
 .I fd
 To allow an arbitary program to be fed input from file descriptor
@@ -361,17 +860,22 @@ To allow an arbitary program to be fed input from file descriptor
 use
 .BI /dev/fd/ x
 as the file name.  This also creates 
-BR /dev/stdin ,
-BR /dev/stdout ,
+.BR /dev/stdin ,
+.BR /dev/stdout ,
 and
-BR /dev/stderr .
+.BR /dev/stderr .
 (Note, these are just symlinks into /proc/self/fd).
 .TP
 .I ibcs2
-Devices (and symlinks) needed by the IBCS2 emulation.
+Devices 
+.B socksys spx 
+(and symlinks 
+.BR "nfsd XOR" ) 
+needed by the IBCS2 emulation.
 .TP
 .I apm
-Devices for power management.
+.B apm_bios 
+Advanced Power Management BIOS device.
 .TP
 .I dcf
 Driver for DCF-77 radio clock.
@@ -379,12 +883,351 @@ Driver for DCF-77 radio clock.
 .I helloworld
 Kernel modules demonstration device.  See the modules source.
 .TP
+.BR xfs " or " arla
+Arla XFS network file system.
+.TP
+.B capi
+CAPI 2.0 interface ports
+.BI capi20 {01..20} \fR.
+.TP
+.B ubd
+User-mode block devices
+.BI ubd {0..255} \fR.
+.TP
+.BI nb {0..7}
+Network block devices.
+.TP 
+.B raw
+Creates the raw block device interface 
+.B raw
+device, the 
+.B rawctl 
+symlink, and 
+.BI raw {1..8} \fR.
+.TP
+.B raw1394
+IEEE 1394 (Firewire).
+.TP
+.B misc
+This keyword creates all the following devices. You may find the 
+device explanations in other categories in this man page, many 
+under OTHER DEVICES below.
+.BR logibm ,
+.BR psaux ,
+.BR inportbm ,
+.BR atibm ,
+.BR jbm ,
+.BR amigamouse ,
+.BR atarimouse ,
+.BR sunmouse ,
+.BR amigamouse1 ,
+.BR smouse ,
+.BR pc110pad ,
+.BR adbmouse ,
+.BR beep ,
+.BR modreq ,
+.BR watchdog ,
+.BR temperature ,
+.BR hwtrap ,
+.BR exttrp ,
+.BR apm_bios ,
+.BR rtc ,
+.BR openprom ,
+.BR relay8 ,
+.BR relay16 ,
+.BR msr ,
+.BR pciconf ,
+.BR nvram ,
+.BR hfmodem ,
+.BR led ,
+.BR mergemem ,
+.BR pmu .
+.TP
 .B "Network Devices"
 Linux used to have devices in /dev for controlling network devices, but
 that is no longer the case.  To see what network devices are known by the
 kernel, look at /proc/net/dev.
+.SH OTHER DEVICES
+.TP
+Many of these devices are architecture-specific.
+.TP
+.I scc
+Z8530 HDLC driver (HAM radio)
+.TP
+.I bc
+Baycom radio modem (HAM radio)
+.TP
+.IR cfs0 " or " cfs " or " coda
+Coda network file system
+.TP
+.I sunmouse 
+Sun mouse
+.TP
+.I smouse 
+Simple serial mouse driver
+.TP
+.I pc110pad 
+IBM PC-110 digitizer pad
+.TP
+.I vrtpanel 
+Vr41xx embedded touch panel
+.TP
+.I vpcmouse
+Connectix Virtual PC Mouse
+.TP
+.I beep
+Fancy beep device
+.TP
+.I modreq
+Kernel module load request {2.6}
+.TP
+.I watchdog
+Watchdog timer port
+.TP
+.I temperature
+Machine internal temperature
+.TP
+.I hwtrap
+Hardware fault trap
+.TP
+.I exttrp
+External device trap
+.TP
+.I rtc
+Real Time Clock
+.TP
+.I efirtc
+Real Time Clock
+.TP
+.I openprom
+SPARC OpenBoot PROM
+.TP
+.I relay8
+Berkshire Products Octal relay card
+.TP
+.I relay16
+Berkshire Products ISO-16 relay card
+.TP
+.I msr 
+x86 model-specific registers {2.6}
+.TP
+.I pciconf
+PCI configuration space
+.TP
+.I nvram
+Non-volatile configuration RAM
+.TP
+.I hfmodem
+Soundcard shortwave modem control {2.6}
+.TP
+.I graphics
+Linux/SGI graphics device
+.TP
+.I opengl
+Linux/SGI OpenGL pipe
+.TP
+.I gfx
+Linux/SGI graphics effects device
+.TP
+.I lcd
+Front panel LCD display
+.TP
+.I led
+Front panel LEDs
+.TP
+.I mergemem
+Memory merge device
+.TP
+.I pmu
+Macintosh PowerBook power manager
+.TP
+.I isictl
+MultiTech ISICom serial control
+.TP
+.I ac
+Applicom Intl Profibus card
+.TP
+.I nwbutton
+Netwinder external button
+.TP
+.I nwdebug
+Netwinder debug interface
+.TP
+.I nwflash
+Netwinder flash memory
+.TP
+.I userdma
+User-space DMA access
+.TP
+.I smbus
+System Management Bus
+.TP
+.I lik
+Logitech Internet Keyboard
+.TP
+.I ipmo
+Intel Intelligent Platform Management
+.TP
+.I vmmon
+VMWare virtual machine monitor
+.TP
+.I tcldrv
+Technology Concepts serial control
+.TP
+.I specialix_sxctl
+Specialix serial control
+.TP
+.I specialix_rioctl
+Specialix RIO serial control
+.TP
+.IR smapi " or " thinkpad
+IBM Thinkpad 
+.B smapi
+device, and a symlink 
+.BR thinkpad .
+.TP
+.I srripc
+QNX4 API IPC manager
+.TP
+.I usemaclone
+Semaphore clone device
+.TP
+.IR ipmi " or " ipmikcs
+Intelligent Platform Management
+.TP
+.I uctrl
+SPARCbook 3 microcontroller
+.TP
+.I gtrsc
+Gorgy Timing radio clock
+.TP
+.I cbm
+Serial CBM bus
+.TP
+.I jsflash
+JavaStation OS flash SIMM
+.TP
+.I xsvc
+High-speed shared-mem/semaphore service
+.TP
+.I vrbuttons
+Vr41xx button input device
+.TP
+.I toshiba
+Toshiba laptop SMM support
+.TP
+.I perfctr
+Performance-monitoring counters
+.TP
+.I intel_rng
+Intel i8x0 random number generator
+.TP
+.I atomicps
+Atomic shapshot of process state data
+.TP
+.I irnet
+IrNET device
+.TP
+.I smbusbios
+SMBus BIOS
+.TP
+.I ussp_ctl
+User space serial port control
+.TP
+.I crash
+Mission Critical Linux crash dump facility
+.TP
+.I nas_xbus
+NAS xbus LCD/buttons access
+.TP
+.I d7s
+SPARC 7-segment display
+.TP
+.I zkshim
+Zero-Knowledge network shim control
+.TP
+.I sexec
+Signed executable interface
+.TP
+.I kchuid
+Inter-process chuid control
+.TP
+.I mptctl
+Message passing technology (MPT) control
+.TP
+.I button/gulpb
+Transmeta GULP-B buttons
+.TP
+.I compaq/cpqphpc
+Compaq PCI Hot Plug Controller
+.TP
+.I compaq/cpqrid
+Compaq Remote InsightDriver
+.TP
+.I elographics/e2201
+Elographics touchscreen E271-2201
+.TP
+.I fujitsu/apanel
+Fujitsu/Siemens application panel
+.TP
+.I i2o/ctl
+I2O configuration manager
+.TP
+.I impi/bt
+IMPI coprocessor block transfer
+.TP
+.I impi/smic
+IMPI coprocessor stream interface
+.TP
+.I input/mouse
+Linux/SGI Irix emulation mouse
+.TP
+.I input/keyboard
+Linux/SGI Irix emulation keyboard
+.TP
+.I modems/mwave
+MWave modem firmware upload
+.TP
+.I mvista/hssdsi
+Montavista PICMG hot swap system driver
+.TP
+.I mvista/hasi
+Montavista PICMG high availability
+.TP
+.I net/tun
+TAP/TUN network device
+.TP
+.I ni/natmotn
+National Instruments Motion
+.TP
+.I scanners/cuecat 
+:CueCat barcode scanner
+.TP
+.I touchscreen/ucb1x00
+UCB 1x00 touchscreen
+.TP
+.I touchscreen/mk712
+MK712 touchscreen
+.TP
+.I video/em8300
+EM8300 DVD decoder control
+.TP
+.I video/em8300_mv
+EM8300 DVD decoder video
+.TP
+.I video/em8300_ma
+EM8300 DVD decoder audio
+.TP
+.I video/em8300_sp
+EM8300 DVD decoder subpicture
+.TP
+.I watchdogs/{0..3}
+Watchdog devices 0 through 3
+
 .SH "SEE ALSO"
 Linux Allocated Devices, maintained by H.\ Peter Anvin,
-<Peter.Anvin@linux.org>.
+<Peter.Anvin@linux.org>, and devices.txt in the Linux 
+kernel source.
 .SH AUTHOR
-Nick Holloway, <Nick.Hollowa
\ No newline at end of file
+Nick Holloway, rewritten and updated by Chris Tillman
+
index e66a26b4f92c4271b769adc995998058d63b4d1b..a3757cb805ec7dd8e63c42fc8b413646cacde009 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,15 @@
 # $Id: Makefile,v 2.2 1995/05/21 17:45:18 alfie Exp $
 
+BINDIR  = $(ROOT)/sbin
 DEVDIR  = $(ROOT)/dev
-MANDIR  = $(ROOT)/usr/man
+MANDIR  = $(ROOT)/usr/share/man
 MANEXT  = 8
 
 default:
        @echo Nothing to make.
        
 install:
-       install -m 755 MAKEDEV $(DEVDIR)
+       install -m 755 MAKEDEV $(BINDIR)
        install -m 644 MAKEDEV.man $(MANDIR)/man$(MANEXT)/MAKEDEV.$(MANEXT)
 
 clean:
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644 (file)
index 0000000..f6481f3
--- /dev/null
@@ -0,0 +1,3 @@
+This version of makedev is not particularly happy on systems running devfs.  
+All bugs regarding devfs interaction will be retained at severity 'wishlist'
+until we figure out what makedev's interaction with devfs should be...
diff --git a/debian/changelog b/debian/changelog
new file mode 100644 (file)
index 0000000..b98bafe
--- /dev/null
@@ -0,0 +1,1081 @@
+makedev (2.3.1-76) unstable; urgency=low
+
+  * make ppc64 an alias for powerpc, closes: #282687
+  * add ttyB[0-7] to generic-hppa for console on K-class, etc, closes: #293705
+  * add initial support for uba*, closes: #278237
+  * add a target pmu duplicating pmu part of misc, closes: #267670, #277195
+  * fix man page bug with mcdx, closes: #285258
+  * add dac960_gam creation to dac960 target, closes: #272333
+
+ -- Bdale Garbee <bdale@gag.com>  Mon,  7 Feb 2005 13:47:00 -0700
+
+makedev (2.3.1-75) unstable; urgency=low
+
+  * fix one more POSIX compliance issue in postinst, closes: #261477
+  * patch from Thomas Schmidt to fix problems in handling DVB devices,
+    which change major number at kernel 2.6.8, closes: #263136
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 18 Aug 2004 12:42:40 -0600
+
+makedev (2.3.1-74) unstable; urgency=low
+
+  * add dac960 to generic-alpha, closes: #261320
+
+ -- Bdale Garbee <bdale@gag.com>  Mon, 26 Jul 2004 00:17:59 -0700
+
+makedev (2.3.1-73) unstable; urgency=low
+
+  * support all three dasd partitions instead of just one, closes: #261347
+
+ -- Bdale Garbee <bdale@gag.com>  Sun, 25 Jul 2004 19:51:42 -0700
+
+makedev (2.3.1-72) unstable; urgency=low
+
+  * fix typo in nnpfs0 creation, closes: #261012
+  * abort if not running Linux, just like if devfs detected, closes: #257037
+
+ -- Bdale Garbee <bdale@gag.com>  Fri, 23 Jul 2004 23:54:14 -0600
+
+makedev (2.3.1-71) unstable; urgency=low
+
+  * incorporate NMU from Marco d'Itri ... thanks!
+  * handle arla change from xfs to nnpfs, closes: #257854
+  * sparc generic now needs fd, eliminate fd*-bare targets, closes: #257927
+  * fix some POSIX compliance issues in conditionals, closes: #259285
+
+ -- Bdale Garbee <bdale@gag.com>  Tue, 20 Jul 2004 16:22:07 -0400
+
+makedev (2.3.1-70) unstable; urgency=medium
+
+  * NMU to move /etc/udev/.dev/ to /.dev/, Conflict with udev <= 0.024-7.
+  * Do not fail if /proc is not mounted. (Closes: #246421)
+
+ -- Marco d'Itri <md@linux.it>  Thu, 27 May 2004 22:50:44 +0200
+
+makedev (2.3.1-69) unstable; urgency=medium
+
+  * one more tweak to the udev detection
+  * put $tty back to 0666, use it for /dev/tty (instead of $public which is
+    group root) and for pty devices.  no other devices still use $tty...  It
+    turns out I already fixed the /dev/tty[0-9]* permissions way back in -59,
+    we just hadn't done anything in postinst to force them tighter on upgrade,
+    ergo the confusion in -67 and -68.  [large sigh]
+  * MAKEDEV creates /dev/tty[0-9]* as 0600, and mesg wiggles the group write 
+    bit, so make the postinst do 'chmod g-r,o= /dev/tty[0-9]*' instead of "o="
+
+ -- Bdale Garbee <bdale@gag.com>  Tue, 27 Apr 2004 09:38:30 -0600
+
+makedev (2.3.1-68) unstable; urgency=medium
+
+  * oops, we need to leave 'tty' as 0666 as we tighten the permissions on 
+    other tty* devices, closes: #245761, #245737, #244735, #245718
+  * mountpoint -q doesn't work in all cases to detect udev, try a different
+    approach, closes: #245777, #245739
+  * have the postinst do '/bin/chmod o= /dev/tty[0-9]*' to further address
+    the console DOS potential raised in bug #244751
+
+ -- Bdale Garbee <bdale@gag.com>  Sun, 25 Apr 2004 16:14:25 -0600
+
+makedev (2.3.1-67) unstable; urgency=medium
+
+  * change default permission on tty devices from 0666 to 0660, which makes
+    denial of service attacks on the console by local users harder,
+    closes: #244751
+  * if udev is running and we're in /dev, relocate to /etc/udev/.dev/,
+    thus avoiding the need for a diversion, closes: #245441
+  * urgency cranked up to get these into testing soonish
+
+ -- Bdale Garbee <bdale@gag.com>  Fri, 23 Apr 2004 16:06:41 -0600
+
+makedev (2.3.1-66) unstable; urgency=low
+
+  * make amd64 use generic-i386 instead of being unhandled, closes: #238486
+  * add support for mwave, closes: #229926
+  * rename intel_rng to hwrandom, closes: #234366
+  * add suport for making loop[0..255], closes: #227369
+  * add usblcd and cpad0 per lanana creation to usb target, closes: #184740
+  * force update of fb devices in postinst if kernel >= 2.4 and they already
+    exist, closes: #232108
+  * recognize 'drbd' as an alias for the 'nb' target, and up the default from
+    2 to 8 nb devices created, closes: #235676
+  * eliminate -V option from man page, closes: #235679
+  * add 'input' to generic-i386 and generic-ia64, closes: #238081
+  * add support for dvb, closes: #113602
+  * add support for tilb, closes: #140004
+  * add support for systrace, closes: #171640
+  * rework video1394 support to create video1394/[0-15] devices, closes: #178634
+  * add support for irnet, closes: #193179
+  * add ttyS4 to generic targets to ease PCI modem use, closes: #193938
+  * apply patch to improve tap device documentation in man page, closes: #198517
+  * make the long description a bit more verbose, closes: #210034
+  * add hiddev devices to usb target, closes: #214846
+
+ -- Bdale Garbee <bdale@gag.com>  Fri,  2 Apr 2004 02:56:04 -0700
+
+makedev (2.3.1-65) unstable; urgency=low
+
+  * patch from John Darrah to avoid choking on Equinox serial ports which put
+    extra tokens on the line in /proc/devices
+  * patch from Henrique de Moraes Holschuh to protect against unexpected chars
+    in /proc/devices entries, closes: #224582
+  * use permission class 'dialout' for bluetooth devices, and increase 
+    robustness of the 'makedev' function, closes: #177118
+  * freshen fb targets to reflect new minor numbers, closes: #186486, #186410
+
+ -- Bdale Garbee <bdale@gag.com>  Sun, 25 Jan 2004 18:35:43 -0700
+
+makedev (2.3.1-64) unstable; urgency=low
+
+  * change fb permissions from 0620 to 0660 to allow mmap I/O
+  * fix major number for hd[m-t] broken by typos, closes: #215443
+  * repair openprom lines broken by typo in 2.3.1-60, closes: #218165
+
+ -- Bdale Garbee <bdale@gag.com>  Tue,  2 Dec 2003 12:38:20 -0700
+
+makedev (2.3.1-63) unstable; urgency=low
+
+  * fix MIME mangling of dpti patch, closes: #178266
+  * add support for video1394, closes: #178634
+  * add support for remaining ide controllers
+  * move from "." to ":" in chown calls, closes: #205365
+
+ -- Bdale Garbee <bdale@gag.com>  Sat, 23 Aug 2003 15:29:35 -0600
+
+makedev (2.3.1-62) unstable; urgency=low
+
+  * patch from Stephen Frost to add tun support, closes: #147499
+  * patch from Matt Zimmerman to make ubd support match current UML usage,
+    closes: #174474
+  * patch from Don Armstrong that actually closes 158763, mistakenly closed
+    in 2.3.1-61... thanks to Eduard Bloch for pointing out my mistake.
+  * make -V provide useful output instead of the ancient upstream RCSID, as
+    per a non-BTS request from Jim Shofstall
+
+ -- Bdale Garbee <bdale@gag.com>  Fri, 27 Dec 2002 14:39:33 -0700
+
+makedev (2.3.1-61) unstable; urgency=low
+
+  * patch from Eduard Bloch to add i2o raid support for use by boot-floppies
+    on i386, closes: #158763, #144879
+
+ -- Bdale Garbee <bdale@gag.com>  Thu, 26 Dec 2002 17:45:26 -0700
+
+makedev (2.3.1-60) unstable; urgency=low
+
+  * remove xd[ab] from generic-ia64, closes: #168833
+  * add scd[01] to generic-m68k, closes: #157816
+  * abort postinst without action if devfs detected, closes: #152279
+  * make openprom world readable, closes: #157328
+  * use symlink function, not explicit ln -f, closes: #159443
+  * make rawctl and raw/raw* match structure in devices.txt, closes: #159863
+  * eliminate smapi, move thinkpad to /dev/thinkpad/thinkpad, closes: #165701
+  * fix broken for loop, closes: #167674
+  * add target ttyB and ttyB[0..7] for parisc mux card, closes: #168304
+  * add bluetooth target, closes: #163869
+  * stop forcing /dev/full to 0622 in postinst, closes: #162261
+  * move parsing of /proc/devices inside the update clause, closes: #159442
+  * add SuperH support, closes: #155132
+
+ -- Bdale Garbee <bdale@gag.com>  Thu, 12 Dec 2002 00:17:35 -0700
+
+makedev (2.3.1-59) unstable; urgency=low
+
+  * add 'sunmouse' to generic-arm, closes: #141391
+  * add hd[abcd] to generic-hppa
+  * 2.3.1-48 tightened permissions on (virtual) consoles, but not allp ways
+    the devices could be created were caught.  finish cleaning up console
+    permissions, simplifying things a bit in the process, closes: #25847
+  * patches from Ian Zimmerman <itz@speakeasy.org> to eliminate dependencies
+    on programs that live in /usr/bin, closes: #147144
+  * rewritten man page for MAKEDEV from Chris Tillman, a vast improvement!
+    closes: #147324, #30809, #69056
+  * fix bashisms in first() and second(), closes: #151684
+
+ -- Bdale Garbee <bdale@gag.com>  Sat,  6 Jul 2002 10:31:04 -0600
+
+makedev (2.3.1-58) unstable; urgency=low
+
+  * remove the word 'special' from the short description as it's redundant,
+    thanks to Hendrik Naumann for pointing this out while translating it.
+  * change default groups for irda devices to better match their use,
+    closes: #135207
+  * add support for ataraid using patch from Eduard Bloch, closes: #121863
+  * add support for cciss using patch from Matt Kraai, 
+    closes: #132864, #132975, #136016
+
+ -- Bdale Garbee <bdale@gag.com>  Sat,  2 Mar 2002 17:46:52 -0700
+
+makedev (2.3.1-57) unstable; urgency=low
+
+  * use group dip for /dev/ppp, closes: #123251
+  * lose 'usbmouse' from the bus mice, since 10/32 is no longer a current
+    device as far as I can see.
+  * add target 'usb' which creates usb/{lp*,mouse*,ez*,scanner*}, usb/rio500,
+    ttyACM*, and ttyUSB* devices.  These are all the USB devices I see listed
+    in the 2.4.17 devices.txt file.  Since USB is a hotplug medium, 
+    mass-creation seems like a good strategy.  closes: #62222, #89932
+  * add target 'paride' which creates pd[abcd]*, pcd[0-3], pf[0-3] devices
+    in support of parallel port IDE controllers, closes: #113122
+  * add recognition of 'ppp', 'usb', 'ramdisk' when running MAKEDEV update, 
+    don't whine about 'lvm' since no makedev support is required, leave 'nbd'
+    unrecognized since I don't know what it is, closes: #113231
+
+ -- Bdale Garbee <bdale@gag.com>  Wed,  2 Jan 2002 15:34:19 -0700
+
+makedev (2.3.1-56) unstable; urgency=medium
+
+  * add support for pktcdvd devices 0..3, closes: #99725
+  * add support for ppp device, closes: #101172
+  * add support for comedi devices 0..3, closes: #105417
+  * increase number of raw devices from 4 to 8, and add rawctl symlink to 
+    raw, closes: #106087, #108296, #117846, #85694
+  * set priority to medium since we'd like this in woody
+
+ -- Bdale Garbee <bdale@gag.com>  Fri, 23 Nov 2001 15:20:13 -0700
+
+makedev (2.3.1-55) unstable; urgency=low
+
+  * add efirtc support, and add efirtc to generic-ia64 per Richard Hirst
+  * add busmice to generic-mips to support ps2 mouse on Indy, closes: #115578
+  * change some default permissions to improve consistency, closes: #114649
+  * add ubd target to create ubd[0..255] for user mode linux, closes: #114585
+
+ -- Bdale Garbee <bdale@gag.com>  Mon, 29 Oct 2001 10:36:13 -0700
+
+makedev (2.3.1-54) unstable; urgency=low
+
+  * add ttyS4 and ttyS5 to generic-ia64, needed for ACPI serial consoles
+  * cosmetic tweaks to address lintian warnings
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 26 Sep 2001 13:54:11 -0600
+
+makedev (2.3.1-53) unstable; urgency=low
+
+  * add support for mipsel, closes: #97529
+  * update joystick major number to 13 consistently, closes: #96537
+  * recognize ide4 and ide5 during update, closes: #92995
+  * oops, /dev/cpu/microcode should be char, not block device, 
+    closes: #93160, #82720
+  * add rtc to generic-hppa, closes: #94246
+  * add 'raw' target for /dev/raw and /dev/raw[0-3], closes: #98064
+  * add 'cpu' target as an alias for microcode, and have it create enough
+    msr and cpuid devices for up to 4-way SMP, closes: #98266
+  * add 'intel_rng' target, closes: #99774
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 13 Jun 2001 13:40:04 -0600
+
+makedev (2.3.1-52) unstable; urgency=low
+
+  * add support for hppa and ia64
+  * add support for s390, closes: #85228
+  * change m68k, sparc, i386, and powerpc generic targets for boot-floppies,
+    closes: #90995, #90996, #90997, #90999
+  * check for .devfsd in current dir, not /dev, since that's where MAKEDEV
+    creates devices, closes: #89857, #88050
+  * create a new target 'input' and add it to generic-powerpc to support the
+    new input subsystem currently used only for USB devices.  This addresses 
+    part of 62222 and 89932, and closes: #87854
+  * fix remaining lintian warnings
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 28 Mar 2001 21:00:28 -0700
+
+makedev (2.3.1-51) unstable; urgency=low
+
+  * patch to reduce noise from % in /proc/devices from Daniel Jacobowitz,
+    add a bail-out check at the top of the MAKEDEV script to exit before trying
+    to do anything if devfs is mounted... since MAKEDEV and devfsd don't mix!
+    closes: #78018, #78170, #78200, #81326, #81434
+    closes: #59513, #63458, #63953, #70648, #70737, #70961, #78127, #78497
+  * fix typo regarding ide4/ide5 when creating hd[k-l], closes: #80828
+  * fix backwards sunmouse/mouse linking, closes: #80871, #83035
+  * make /dev/random writeable, as per Ted Ts'o, closes: #81748
+  * add initial support for mips, closes: #82345
+  * add support for cpu/microcode, closes: #82720
+ -- Bdale Garbee <bdale@gag.com>  Mon,  5 Feb 2001 20:59:26 -0700
+
+makedev (2.3.1-50) unstable; urgency=low
+
+  * make /dev/agpgart in postinst if it's not already present, closes: #78216
+  * fix backwards symlink for smapi/thinkpad, closes: #78700
+  * use group dialout instead of private for ISDN devices, closes: #79594
+  * no fix yet for the %d sometimes in new kernel /proc/devices, release
+    anyway to get the above fixes in circulation
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 20 Dec 2000 10:57:49 -0700
+
+makedev (2.3.1-49) unstable; urgency=low
+
+  * add raw1394 device, closes: #77946
+
+ -- Bdale Garbee <bdale@gag.com>  Sat, 25 Nov 2000 13:21:20 -0700
+
+makedev (2.3.1-48) unstable; urgency=low
+
+  * tighten up permissions on /dev/tty[0-XX] and /dev/kbd, closes: #77168
+
+ -- Bdale Garbee <bdale@gag.com>  Sat, 25 Nov 2000 09:45:42 -0700
+
+makedev (2.3.1-47) unstable; urgency=low
+
+  * incorporate changes from NMU's by Adam Di Carlo, closes: #74786
+  * the tap* devices are created in the netlink target, make tap* work on the
+    command line as aliases for netlink, closes: #70520
+  * increase number of i2c devices made from 2 to 8, closes: #71633
+  * add support for pcd parallel-port CDROM drives, closes: #74781
+  * change permissions of fb* devices to root.video 0620, closes: #77593
+  * the mix of devices created by makedev in various circumstances are not
+    unreasonable.  Closes: #59558
+  * the current framebuffer minor numbers match devices.txt in the 2.4.0 test
+    kernel sources, closes: #60688
+  * update postinst to always recreate /dev/console, so that the change from
+    a symlink between kernel versions 2.0 and later gets handled correctly,
+    closes: #60746
+  * modify init.d fragment to only create /dev/MAKEDEV if it isn't already a
+    symlink, closes: #63501
+
+ -- Bdale Garbee <bdale@gag.com>  Fri, 24 Nov 2000 19:34:16 -0700
+
+makedev (2.3.1-46.2) stable unstable; urgency=low
+
+  * non-maintainer update
+  * argh, target stable and unstable
+
+ -- Adam Di Carlo <aph@debian.org>  Sun, 15 Oct 2000 14:01:16 -0400
+
+makedev (2.3.1-46.1) unstable; urgency=low
+
+  * non-maintainer update
+  * 'symlink mcdx mcdx0' was reversed (one line patch)
+
+ -- Adam Di Carlo <aph@debian.org>  Sun, 15 Oct 2000 04:36:30 -0400
+
+makedev (2.3.1-46) stable unstable; urgency=medium
+
+  * fix silly symlink loop between ram and ram1, closes: #69475, #69351
+  * fix similar symlink reversal between scd and sr devices, and make 'sr'
+    a valid target, not just when using 'update', closes: #69500
+  * change agpart to agpgart as per devices.txt, closes: #69319
+  * add sg* devices to generic targets that include SCSI, closes: #69231
+
+ -- Bdale Garbee <bdale@gag.com>  Tue, 29 Aug 2000 01:13:30 -0600
+
+makedev (2.3.1-45) stable unstable; urgency=low
+
+  * incorporates work done by Martin Schulze <joey@finlandia.infodrom.north.de>
+    with my profound thanks.
+  * Added gscd and cm206cd device files, closes: #69057
+  * Corrected mcdx drivers, support all five drives, closes: #69058
+  * Corrected symlink creation (i.e. use symlink() instead of ln -s)
+  * Added /dev/toshiba (Toshiba laptop SMM support), closes: #54729, #59242
+  * Added sdc and sdd to generic-m68k since they were missing, closes: #61027
+  * Made joystick devices readable by everybody (closes: Bug#61499)
+  * Added '$opts' whenever $0 aka MAKEDEV gets called, thus `-n' is passed
+    to the child properly, closes: #63159
+  * Added hyphen `-' between i2c and the number as described by devices.txt, 
+    closes: #63523
+  * Fixed wrong creation of hdi hdj hdk and hdl, closes: #64881
+  * Added hdc and hdd to generic-powerpc since they were missing, 
+    closes: #65852
+  * Added support for ttyI and cui (ignored) to 'update' target by
+    modifying cvt(), closes: #66838
+  * Corrected a whole bunch of math errors where a `$' was missing, trying
+    to add 1 to 'minor', closes: #68915
+  * Fixed /proc/devices-parser to ignore slashes, closes: #31854
+  * Removed out-dated Replaces, closes: #61256
+  * Added audioctl, closes: #60755
+  * Added agpart, closes: #61084
+  * Adjusted 3dfx to have file mode $video instead of $audio
+  * Added ipmikcs (Intelligent Platform Management) with mode 0600 (mode
+    may be unpracticable), closes: #67431
+
+ -- Bdale Garbee <bdale@gag.com>  Tue, 15 Aug 2000 21:52:23 -0600
+
+makedev (2.3.1-44) frozen unstable; urgency=low
+
+  * patch from tausq for a case I missed when converting expr to $(( )),
+    fixes problem creating sbpcd devices.  Target frozen since this was
+    marked release-critical.  Closes: #63585
+
+ -- Bdale Garbee <bdale@gag.com>  Sat,  6 May 2000 20:24:40 -0600
+
+makedev (2.3.1-43) frozen unstable; urgency=low
+
+  * add invocation of '/sbin/MAKEDEV std' to postinst to ensure key devices
+    have proper owner/group/perms on upgrades, closes: #61367
+  * replace /dev/MAKEDEV references with /sbin/MAKEDEV references in the
+    postinst
+  * target frozen since broken perms on /dev/tty keeps xterm from working
+    which is very confusing and frustrating on upgrades.
+
+ -- Bdale Garbee <bdale@gag.com>  Wed,  3 May 2000 14:27:04 -0600
+
+makedev (2.3.1-42) frozen unstable; urgency=low
+
+  * eliminate the use of expr, since it is in /usr, which may not be mounted
+    during system recovery when makedev is often needed.  Target frozen since
+    this was tagged release critical, closes: #62925
+
+ -- Bdale Garbee <bdale@gag.com>  Mon, 24 Apr 2000 22:27:18 -0600
+
+makedev (2.3.1-41) frozen unstable; urgency=low
+
+  * Arrange for all scd* devices to have hardlinked sr* counterparts as per
+    devices.txt.  Target frozen since this is release critical, closes: #61862
+
+ -- Bdale Garbee <bdale@gag.com>  Fri,  7 Apr 2000 20:01:39 -0600
+
+makedev (2.3.1-40) frozen unstable; urgency=low
+
+  * fix flakey code for discovering proper major numbers for several device
+    types.  This broke the raidtools postinst in some cases, which I think
+    makes this worth adding to frozen, even though there's no bug in the BTS
+    about it (problem reported and fixed during an IRC session).  There are
+    still a few potential major number problems in MAKEDEV, but they're all
+    for obscure devices that are not in devices.txt, and which I'll therefore 
+    probably remove entirely when rewriting makedev for woody.
+  * fix type, smtpe should be smpte, closes: #59061
+
+ -- Bdale Garbee <bdale@gag.com>  Sun, 19 Mar 2000 20:28:30 -0700
+
+makedev (2.3.1-39) frozen unstable; urgency=low
+
+  * add missing major number clause to thinkpad/smapi device, closes: #57381
+    target frozen since this is clearly release-critical
+
+ -- Bdale Garbee <bdale@gag.com>  Wed,  9 Feb 2000 12:07:07 -0700
+
+makedev (2.3.1-38) frozen unstable; urgency=low
+
+  * target frozen since 56724 was tagged release-critical
+  * rework ftape stuff to match 2.2 kernel device definitions, closes: #56724
+  * add code to create /dev/smapi and symlink it as /dev/thinkpad.  This can
+    be called as either smapi or thinkpad.  Closes: #54714
+  * add /dev/radio symlink to radio0, closes: #55649
+  * update the netlink target to create fwmonitor and the tap* devices,
+    closes: #54772
+  * add IRDA device support, closes: #47296
+
+ -- Bdale Garbee <bdale@gag.com>  Thu,  3 Feb 2000 23:51:58 -0700
+
+makedev (2.3.1-37) unstable; urgency=low
+
+  * add openprom entry for Sparc systems, closes: #54296
+
+ -- Bdale Garbee <bdale@gag.com>  Fri,  7 Jan 2000 20:03:00 -0700
+
+makedev (2.3.1-36) unstable; urgency=low
+
+  * fix cyclades target to make 32 instead of 33 devices, and update man page
+    to match what the code does, closes: #51892
+  * add st0/st1/scd0/scd1 to generic-i386 and generic-alpha to improve the
+    consistency across platforms, closes: #52871
+  * create an initial generic-arm target, anticipating the need as debian-arm
+    struggles to get ready to release with potato.
+  * update handling of network block devices (nb) so that specifying a single
+    device works as expected.  calling for 'nb' will give nb0 and nb1.  
+    Closes: #53781
+  * support digital joysticks (djs) in joystick/js target, closes: #53314
+  * update to current policy rev, add Build-Depends.
+
+ -- Bdale Garbee <bdale@gag.com>  Fri,  7 Jan 2000 02:14:24 -0700
+
+makedev (2.3.1-35) unstable; urgency=low
+
+  * change group of video4linux devices to new group video appearing in
+    base-passwd 3.0.4, closes: 51429
+
+ -- Bdale Garbee <bdale@gag.com>  Sun, 28 Nov 1999 20:00:12 -0700
+
+makedev (2.3.1-34) unstable; urgency=low
+
+  * re-craft 'ida' target the same way we did dac960 to allow the boot-floopies
+    folks to create just one or two cards worth.  Closes: #51341
+
+ -- Bdale Garbee <bdale@gag.com>  Fri, 26 Nov 1999 17:54:56 -0700
+
+makedev (2.3.1-33) unstable; urgency=low
+
+  * add usbmouse support to busmice target, closes: #50326
+
+ -- Bdale Garbee <bdale@gag.com>  Tue, 16 Nov 1999 03:20:03 -0700
+
+makedev (2.3.1-32) unstable; urgency=low
+
+  * add 'audio' to the targets for generic-i386, closes: #49935
+  * craft an initial generic-alpha target to make the boot-floppies stuff
+    work right.  For now, just clone the i386 target since I have no idea
+    what is really needed...  closes: #49934
+  * add support for creating ramN devices one at a time, closes: #49853
+  * add target 'consoleonly' that creates the minimum number of devices to
+    support /dev/console, and recraft the 'console' target to use it and then
+    add all the vcs* devices, et al.  Closes: #49852
+  * re-craft 'dac960' target to be a loop around targets dac960.[0-7] so that
+    boot-floppies creators can create just one or two cards worth of devices
+    instead of having to do them all.  Closes: #49864
+
+ -- Bdale Garbee <bdale@gag.com>  Mon, 15 Nov 1999 22:38:43 -0700
+
+makedev (2.3.1-31) unstable; urgency=low
+
+  * fixes for major numbers on some oddball CDROM types, needed for boot disks
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 10 Nov 1999 23:58:56 -0700
+
+makedev (2.3.1-30) unstable; urgency=low
+  
+  * fill in a few more audio devices, closes: #49107
+
+ -- Bdale Garbee <bdale@gag.com>  Wed,  3 Nov 1999 20:28:54 -0700
+
+makedev (2.3.1-29) unstable; urgency=low
+
+  * the /dev/vcs* handling is correct, closes: #42035
+  * fix case construct for ht0, closes: #42519
+  * fix major number determination for several devices, closes: #43560
+  * add js2, js3 to joystick device creation, but leave owner/group/mode
+    the same as for mice until/unless some more compelling argument is
+    presented, closes: #43790
+  * improve consistency of vcs device creation, making vcs0 and vcsa0, with
+    symlinks for vcs and vcsa, closes: #45698
+  * add support for /dev/3dfx, closes: #48734
+  * /dev/sr* is obsolete, use /dev/scd*, closes: #32723
+  * RH 2.5 was merged as of 2.3.1-24, closes: #45153
+  * FHS compliance
+
+ -- Bdale Garbee <bdale@gag.com>  Sat, 30 Oct 1999 16:53:32 -0600
+
+makedev (2.3.1-28) unstable; urgency=medium
+
+  * /o\ oops... -27 was broken badly.  Close 42355, 42359, 42361. 
+
+ -- Bdale Garbee <bdale@gag.com>  Tue,  3 Aug 1999 02:38:06 -0600
+
+makedev (2.3.1-27) unstable; urgency=medium
+
+  * fix loop's major number, closes 38559.
+  * fix group of scd* to be cdrom, not disk.  Closes 41227, 41812.
+  * add vbi symlink, closes 39406
+
+ -- Bdale Garbee <bdale@gag.com>  Mon,  2 Aug 1999 00:59:19 -0600
+
+makedev (2.3.1-26) unstable; urgency=medium
+
+  * fix another syntax error introduced in -25...  /o\
+
+ -- Bdale Garbee <bdale@gag.com>  Sat, 29 May 1999 03:12:32 -0600
+
+makedev (2.3.1-25) unstable; urgency=medium
+
+  * fix *ugly* typos introduced in -24, closes 38489, 38465.
+  * update MAKEDEV to install the mouse -> sunmouse link in generic-sparc,
+    in addition to making it in the postinst if needed.  Closes 38432.
+  * have MAKEDEV exit with error 1 if we hit a "don't know how to make device"
+    situation.  I'm a bit concerned about this since it *might* break a
+    package postinst somewhere.  However, it is clearly the right thing to do
+    on a purely conceptual level.  Closes 29974.
+  * add support for Free S/WAN (IPSEC) device, closes 38372.
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 26 May 1999 14:00:29 -0600
+
+makedev (2.3.1-24) unstable; urgency=low
+
+  * fold in patch from Espy to provide all the functionality of the RedHat
+    makedev 2.5.  Leave our version number as 2.3.1-XX for now, since we're
+    not actually cleanly derived from the 2.5 RedHat bits. Closes 37795, 28616.
+  * make 'scd' act like 'scd-all', closes 37071
+  * patch for postinst typo, closes 37612
+  * move MAKEDEV to /sbin, create an init.d fragment to put a symlink in the
+    /dev directory at boot time.  This should allow devfs to do its thing,
+    closing 37795, 33025.
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 26 May 1999 14:00:29 -0600
+
+makedev (2.3.1-23) stable unstable; urgency=low
+
+  * fix problems with st* and adb pointed out by Hartmut
+
+ -- Bdale Garbee <bdale@gag.com>  Thu, 15 Apr 1999 08:39:39 -0600
+
+makedev (2.3.1-22) unstable; urgency=low
+
+  * add 'hamradio' as a target, which is a macro for the new scc[0-7] and
+    bc[0-3] targets, closes 34773.  
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 14 Apr 1999 11:55:46 -0600
+
+makedev (2.3.1-21) stable unstable; urgency=low
+
+  * make /dev/mouse a symlink to /dev/sunmouse on sparc, closes 35616
+  * have postinst create audio devices, closes 35646
+  * also create [alm] suffix versions for st* devices, closes 33041
+  * add support for hd[ijkl]... noticed while investigating bug 33798
+  * use the same owner/group/perms for nvram that we use for kmem, closes 34111
+  * add loop to the std device set, closes 34899
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 14 Apr 1999 11:13:47 -0600
+
+makedev (2.3.1-20) stable unstable; urgency=medium
+
+  * release-critical fixes from Hartmut for powerpc, closes 34004
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 10 Mar 1999 07:51:08 -0700
+
+makedev (2.3.1-19) frozen unstable; urgency=medium
+
+  * fix identification of 'sg' in update, closes the part of 33752 (grave)
+    that I can duplicate on i386 in -18
+
+ -- Bdale Garbee <bdale@gag.com>  Tue, 23 Feb 1999 07:44:30 -0700
+
+makedev (2.3.1-18) frozen unstable; urgency=medium
+
+  * as requested by Wichert, have the postinst force /dev/kmem owner, group,
+    and permissions since this is a security issue, closes 33703.
+  * another patch needed for m68k slink boot floppies from Michael Schmitz
+
+ -- Bdale Garbee <bdale@gag.com>  Mon, 22 Feb 1999 22:56:47 -0700
+
+makedev (2.3.1-17) frozen unstable; urgency=low
+
+  * Wichert points out that /dev/kmem doesn't need to be group writeable.
+
+ -- Bdale Garbee <bdale@gag.com>  Sat, 20 Feb 1999 16:12:29 -0700
+
+makedev (2.3.1-16) frozen unstable; urgency=medium
+
+  * apply patch for m68k that is release-critical for slink
+
+ -- Bdale Garbee <bdale@gag.com>  Fri, 19 Feb 1999 20:07:05 -0700
+
+makedev (2.3.1-15) frozen unstable; urgency=medium
+
+  * fix major number for sunmouse as per Eric Delaunay, closes 33425
+  * tighten default permission on mouse and joystick devices, closes 32378
+  * change audio devices to root.audio 660, closes 32849
+  * apply patch from Eric Delaunay to fix problem with scsi devices and 2.2
+    kernels, closes 32999
+  * target 'frozen' since the sunmouse fix at the very least should be in 
+    slink...
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 17 Feb 1999 16:53:41 -0700
+
+makedev (2.3.1-14) frozen unstable; urgency=low
+
+  * additions from Eric Delaunay needed for sparc frozen, closes 32458
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 27 Jan 1999 13:54:31 -0700
+
+makedev (2.3.1-13) frozen unstable; urgency=low
+
+  * make random/urandom available separately, not just in std, closes 32145
+
+ -- Bdale Garbee <bdale@gag.com>  Tue, 19 Jan 1999 21:27:14 -0700
+
+makedev (2.3.1-12) frozen unstable; urgency=low
+
+  * add random/urandom to the std target, closes 31562 and 29193
+  * update manpage to indicate the manpage is out of date, I need to make a
+    chunk of time at some point to give it a thorough review/update.
+  * don't make /dev/cua*, fix group on /dev/ttyS*, closes 30867
+  * change postinst to use syntax that isn't bash-specific, closes 18807 
+    and 30849
+
+ -- Bdale Garbee <bdale@gag.com>  Sat,  9 Jan 1999 00:39:25 -0700
+
+makedev (2.3.1-11) frozen unstable; urgency=low
+
+  * allow 16 sd's instead of 8, as the kernel does.  closes 30555.
+  * create hdc and hdd in generic-i386, and create 20 partitions per hd 
+    instead of 4, closes 30522.
+  * go back (forward?) to using 'u' instead of '[DHE]' in fd entries, 
+    closes 30438.
+  * add 'fb' to both the generic-i386 and generic-powerpc clauses, closes
+    29228
+
+ -- Bdale Garbee <bdale@gag.com>  Sat, 12 Dec 1998 08:10:22 -0700
+
+makedev (2.3.1-10) frozen unstable; urgency=low
+
+  * instead of having the postinst explicitly link /dev/console, have it
+    call MAKEDEV if console doesn't exist.  Update MAKEDEV to know how to
+    link it for 2.0 kernels and prior, and create the explicit device for
+    2.1 and later running kernels.  Building this based on running kernel
+    revision doesn't feel clean, but I see no better way.
+
+ -- Bdale Garbee <bdale@gag.com>  Sun,  8 Nov 1998 18:49:30 -0700
+
+makedev (2.3.1-9) frozen unstable; urgency=low
+
+  * fix postinst to cd to /dev so that devices don't end up in /, now that
+    we don't do the cd in MAKEDEV itself
+  * move 'generic' to 'generic-i386', and have 'generic' use dpkg to determine
+    which generic-<arch> to use... this paves the way for fixing support for
+    other architectures.
+  * Several changes per drow on IRC:
+      change MAXVT from 8 to 63
+      change sd[ab] to create 15 instead of 8 subdevices
+      fix char->block on one scd instance
+      diffs to add support for powerpc machines
+
+ -- Bdale Garbee <bdale@gag.com>  Sun,  8 Nov 1998 18:49:30 -0700
+
+makedev (2.3.1-8) frozen unstable; urgency=low
+
+  * add support for ram0 to the ram* list (0 was omitted), part of 28933.
+  * device 'rtc' was part of 'misc', give it a top-level entry too to reduce
+    possible confusion.  Part of 28933.
+  * add an entry for 'initrd', closes 28933 (slink release-critical).
+
+ -- Bdale Garbee <bdale@gag.com>  Sun,  8 Nov 1998 10:18:37 -0700
+
+makedev (2.3.1-7) frozen unstable; urgency=low
+
+  * now that MAKEDEV is a script, this can be an 'all' package instead of
+    an 'any'.  Thanks to Hartmut Koptein for pointing this out.
+
+ -- Bdale Garbee <bdale@gag.com>  Fri,  6 Nov 1998 11:42:58 -0700
+
+makedev (2.3.1-6) frozen unstable; urgency=low
+
+  * add ttyS entry so update works with recent 2.1 kernels
+
+ -- Bdale Garbee <bdale@gag.com>  Mon,  2 Nov 1998 21:47:34 -0700
+
+makedev (2.3.1-5) frozen unstable; urgency=low
+
+  * fix typo affecting fb devices, closes 28742
+  * fix syntax used for wildcarded devices, part of closing 28769
+  * fix error in minor numbers for isdn-ippp, part of closing 28769
+
+ -- Bdale Garbee <bdale@gag.com>  Sun,  1 Nov 1998 23:09:45 -0700
+
+makedev (2.3.1-4) frozen unstable; urgency=low
+
+  * add support for additional scd and sg devices, closes 28029.
+  * change device names for busmice back to what we used in makedev-1.*, which
+    is also what the kernel documentation uses.  Closes 28143.
+  * add support for various devices in contemporary kernels, closes 27720.
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 28 Oct 1998 23:41:58 -0700
+
+makedev (2.3.1-3) unstable; urgency=low
+
+  * use 'dialout' instead of 'serial' to select owner/group/perms for ISDN
+    devices, closes 27536
+  * use 'dialout' as group for serial devices instead of 'uucp' to be 
+    compatible with prior Debian makedev packages. 
+
+ -- Bdale Garbee <bdale@gag.com>  Wed,  7 Oct 1998 22:50:36 -0600
+
+makedev (2.3.1-2) unstable; urgency=low
+
+  * fix scd-all and sg-all entry points.  The latter is just an alias for 'sg',
+    but the former was genuinely missing.  Switch sg devices to numeric suffix
+    to comply with kernel's devices.txt.  Closes 27490.
+  * close 26586, since I'm pretty sure it's a weirdy not caused by the package.
+  * add ISDN devices, closes 26971.
+  * add cfs0 for CODA, closes 23815.
+
+ -- Bdale Garbee <bdale@gag.com>  Tue,  6 Oct 1998 00:33:59 -0600
+
+makedev (2.3.1-1) unstable; urgency=low
+
+  * New upstream version.  This is a *significant* change!
+    This is a move (back?) from the short-lived makedev that depended on a     
+    non-free parser to the one that is just a shell script.  We will now be    
+    more like other Linux distributions, no longer depending on a non-free     
+    hunk of code to build the makedev package, and some porting and other      
+    issues will get better.                                                    
+  * With the major change in upstream code, several bugs are not relevant 
+    any more.  Therefore, close 12949, 18037, 18807, 20665, 22648, 22868, 
+    23771, 23898, 24477, 24572, 25660, 25840, 26058.
+  * add support for /dev/ptmx, built as part of pty*, closes 23612.
+  * add support for /dev/ed[ab], closes 23887.
+
+ -- Bdale Garbee <bdale@gag.com>  Sun,  6 Sep 1998 21:21:32 -0600
+
+makedev (1.6-32) frozen unstable; urgency=medium
+
+  * serial devices now owned by root.dialout, closes 22297 (important)
+  * tape devices now owned by root.tape, closes 11910 
+  * be explicit about which 'ls' we're calling, closes 22225
+
+ -- Bdale Garbee <bdale@gag.com>  Fri, 22 May 1998 23:52:58 -0600
+
+makedev (1.6-31) unstable; urgency=low
+
+  * add powerpc support, closes 21949
+  * lose the menu entry
+
+ -- Bdale Garbee <bdale@gag.com>  Sat,  2 May 1998 01:29:06 -0600
+
+makedev (1.6-30) unstable; urgency=low
+
+  * change from debmake to debhelper
+  * fix errors and warnings reported by lintian
+  * deliver devices.sgml instead of trying to build the .txt and .html files,
+    closes bug 16953
+
+ -- Bdale Garbee <bdale@gag.com>  Mon,  9 Feb 1998 22:31:43 -0700
+
+makedev (1.6-29) unstable; urgency=low
+
+  * add arpd device, on request of Elie Rosenblum <erosenbl@nyx.net>.
+
+ -- Bdale Garbee <bdale@gag.com>  Wed, 14 Jan 1998 09:42:14 -0700
+
+makedev (1.6-28) unstable; urgency=low
+
+  * new maintainer
+
+ -- Bdale Garbee <bdale@gag.com>  Fri,  5 Dec 1997 23:22:57 -0700
+
+makedev (1.6-27) unstable; urgency=low
+
+  * changed /dev/console handling. 
+  * updated devinfo to kernel 2.1.62 device list.
+  * changed all device with group "sys" to group "root".
+
+ -- Andreas Jellinghaus <aj@debian.org>  Sat,  8 Nov 1997 11:56:18 +0100
+
+makedev (1.6-26) unstable; urgency=low
+
+  * fixed bug #13787 : amigamouse1 was not corrected by postinst.
+  * fixed ad devices.
+  * added nvram device, added ad* to std-hd-m68k, added ttyS4 and ttyS6
+    to m68k boot-floppies and m68k generic
+
+ -- Andreas Jellinghaus <aj@debian.org>  Thu, 16 Oct 1997 20:09:14 +0200
+
+makedev (1.6-25) unstable; urgency=low
+
+  * bug #9077 is obsolete (kernel bug, fixed in kernel).
+  * libc6 release : closes bugs #12791 and #13122.
+  * fixed bug #12158 : added sr* and sg* devices.
+  * fixed bug #12385 : wrong standard number.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Fri, 19 Sep 1997 16:12:32 +0200
+
+makedev (1.6-24) unstable; urgency=low
+
+  * removed support for old floppy devices.
+  * only create generic floppy devices.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Wed, 10 Sep 1997 10:31:53 +0200
+
+makedev (1.6-23) unstable; urgency=low
+
+  * renamed isdn batches : isdn-xx is 8 devices, isdn-xx-all are 64
+    devices (isdn-io, isdn-tty, isdn-ippp, isdn-cu).
+  * increased numer to 5500 devices. (makedev is getting too large).
+
+ -- Andreas Jellinghaus <aj@debian.org>  Mon,  8 Sep 1997 21:40:11 +0200
+
+makedev (1.6-22) unstable; urgency=low
+
+  * bugfix with cvstree (i forgot to commit befor tagging :-()
+
+ -- Andreas Jellinghaus <aj@debian.org>  Mon,  8 Sep 1997 21:30:08 +0200
+
+makedev (1.6-21) unstable; urgency=low
+
+  * bugfix : out of memory. aarrgg : makedev has fixed size tables.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Mon,  8 Sep 1997 21:28:24 +0200
+
+makedev (1.6-20) unstable; urgency=low
+
+  * corrected problem with my own cvs tree
+
+ -- Andreas Jellinghaus <aj@debian.org>  Sun,  7 Sep 1997 16:54:10 +0200
+
+makedev (1.6-19) unstable; urgency=low
+
+  * changed /dev/full to mode 0622 (0666 was a security hole, as
+                       discussed on linux-kernel).
+
+ -- Andreas Jellinghaus <aj@debian.org>  Sun,  7 Sep 1997 16:22:27 +0200
+
+makedev (1.6-18) unstable; urgency=low
+
+  * added isdn-*-small devices (only 8 devices, not 64). 
+
+ -- Andreas Jellinghaus <aj@debian.org>  Fri, 22 Aug 1997 12:57:20 +0200
+
+makedev (1.6-17) unstable; urgency=low
+
+  * close bug 6541 (missing audio device) : not reproduceable 
+  * generate random and urandom, if missing (bug #12134)
+  * enabled makedev to create more sg* and sr* devices (bug #12158)
+  * changed doubletalkt to dtlk as requested
+  * sd[a-h]16 removed (bug, sda16 = sdb, scsi only supports 15
+    partitions) 
+
+ -- Andreas Jellinghaus <aj@debian.org>  Sun, 17 Aug 1997 19:19:33 +0200
+
+makedev (1.6-16) stable unstable; urgency=low
+
+  * security bug fixed : all mouse devices are now mode 600.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Wed, 30 Jul 1997 10:31:04 +0200
+
+makedev (1.6-15) unstable; urgency=low
+
+  * ibcs2 removed from generic set. revised ibcs2-unoff.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Tue, 29 Jul 1997 13:13:43 +0200
+
+makedev (1.6-14) unstable; urgency=low
+
+  * bug in postinst : type "MAKDEV" and "/dev/tty0" instead of "tty0" (#11441)
+  * stable version (libc5 compiled) for isdnutils
+
+ -- Andreas Jellinghaus <aj@debian.org>  Fri, 25 Jul 1997 10:12:14 +0200
+
+makedev (1.6-13) unstable; urgency=low
+
+  * fixed menu entry (thanks to Abdallah Chatila <acha@poboxes.com>)
+
+ -- Andreas Jellinghaus <aj@debian.org>  Wed,  9 Jul 1997 21:33:55 +0200
+
+makedev (1.6-12) unstable; urgency=low
+
+  * bug fix (changed doubletalk to class audio).
+
+ -- Andreas Jellinghaus <aj@debian.org>  Wed,  9 Jul 1997 09:45:38 +0200
+
+makedev (1.6-11) unstable; urgency=low
+
+  * Fixed isdn devices (ippp were missing).
+  * No longer create isdn device as default (that is done by isdnutils).
+  * Added doubletalk device. Added more ibcs2 stuff.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Tue,  8 Jul 1997 19:04:45 +0200
+
+makedev (1.6-10) unstable stable; urgency=low
+
+  * fixed console device, added documentation.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Wed, 25 Jun 1997 13:20:46 +0200
+
+makedev (1.6-9) unstable stable; urgency=low
+
+  * Added comment about cua devices.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Tue, 24 Jun 1997 09:21:20 +0200
+
+makedev (1.6-8) unstable stable; urgency=low
+
+  * changed /dev/console to be a symlink to /dev/tty0.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Sun, 22 Jun 1997 21:42:35 +0200
+
+makedev (1.6-7) unstable stable; urgency=low
+
+  * fixed bug with possible /dev/console symlink.
+  * fixed bug with not always creating /dev/tty0. (xfree 3.3 need this)
+
+ -- Andreas Jellinghaus <aj@debian.org>  Thu, 19 Jun 1997 22:38:46 +0200
+
+makedev (1.6-6) unstable; urgency=low
+
+  * fixed documentation (thanks to David Welton <davidw@efn.org>)
+  * patch for m68k from frank neumann included
+
+ -- Andreas Jellinghaus <aj@debian.org>  Mon,  9 Jun 1997 15:45:00 +0200
+
+makedev (1.6-5) unstable; urgency=low
+
+  * libc6 release
+  * added postinst script to change tty/pty devices to new major
+    numbers (the next time you boot).
+  * changed all serial devices from root.dialout to uucp.dialout
+  * added generic-ARCH batches
+  * changed (u)random permissions from 444 to 644
+  * corrected mcd/mcdx handling.
+  * small bugfix in manpages.
+
+ -- Andreas Jellinghaus <aj@debian.org>  Thu, 24 Apr 1997 19:12:58 +0200
+
+makedev (1.6-4) unstable frozen; urgency=low
+
+  * fixed manpage, added generic-m68k, added mfd0, changed framebuffer
+        create both : fb[01] and fb[01]current, changed framebuffer
+        class to mode 664. disabled adb (apple desktob bus).
+        this fixes bug #9053
+  * fixed mitsumi cdrom detection. 
+
+ -- Andreas Jellinghaus <aj@debian.org>  Wed, 23 Apr 1997 16:23:50 +0200
+
+makedev (1.6-3) unstable frozen; urgency=low
+
+  * bug fixed : st?l devices (nor st?1). 
+  * only create fd0 and fd1 with generic
+  * seperated old device names to "-old" groups
+  * not generating cm205cd by default
+  * "boot-floppy" added with less devices
+  * documentation in sgml and txt format
+
+ -- Andreas Jellinghaus <aj@debian.org>  Wed, 16 Apr 1997 12:58:56 +0200
+
+makedev (1.6-2) unstable frozen; urgency=high
+
+  * new maintainer Andreas Jellinghaus <aj@debian.org> 
+  * rewrote devinfo (according to linux allocated devices, 2.0.30,2.1.31
+  * this fixes bug #8396 (isdn devices)
+  * this fixes bug #8399 (don't generate cu* devices)
+  * this fixes bug #7144 (device for goldstar cdrom - gscd)
+  * this fixes bug #8173 (new names for floppy devices fd*)
+  * this fixes bug #8068 (hd[efgh] devises added : now ide[0123])
+    (this includes: renamed all floppy device (bug #8173),
+  * this fixes bug #3493 (isdn devices)
+  * this fixes bug #5542 (ttyS* group dialout, cu* not generated)
+  * this fixes bug #6926 (loop back devices corrected)
+  * this fixes bug #6983 (loop back devices creatable)
+  * this fixes bug #7038 (mcd device creatable (only one))
+  * this fixes bug #7754 (sr* devices are created for compatibility)
+  * this fixes parts of bug #7783 (only new tty/pty are created)
+  * bug #7755 obsolete (old cat file ? current man page is ok)
+  * bug #8009 obsolete (disks 1997-04-04 are ok)
+  * remove from generic : cua[0-3] lmscd ram sbpcd[9-15] vcs0
+    added to generic: X0R aztcd beep bpcd cm205cd cm206cd exttrp gscd
+      hd[efgh]* hitcd hwtrap initrd ippp* jbm loop* mcd md* modreq nsfd
+      nst*[1am] optcd ram[0-7] ramdisk relay16 relay8 rtc sd[abcdefgh][9-16]
+      sequence2 sg[0-7] sjcd socksys spx sr[0-7] st*[1am] tpqic* tty[13-63]
+      ttyI[0-63] urandom vcs vcs[13-63] vcsa vcsa[13-63] watchdog
+         (ca. + 600 devices, size + 11 k in a ext2fs)
+
+ -- Andreas Jellinghaus <aj@debian.org>  Sun, 13 Apr 1997 21:06:14 +0200
+
+makedev (1.6-1) unstable; urgency=low
+
+  * New upstream version.
+
+ -- Bruce Perens <bruce@pixar.com>  Wed, 19 Mar 1997 20:40:17 -0800
+
+makedev (1.5-4) unstable; urgency=low
+
+  * Add devices. Increase the maximum size of a batch from 32 to 1024.
+
+ -- Bruce Perens <bruce@pixar.com>  Tue, 17 Dec 1996 20:34:06 -0800
+
+makedev (1.5-3) unstable; urgency=low
+
+  * Make hd[a-d][8-20] and sd[a-h][8-20]. Remove bad empty "omit" from
+    makedev.cfg
+
+ -- Bruce Perens <bruce@pixar.com>  Sun, 8 Dec 1996 09:42:18 -0800
+
+makedev (1.5-2) unstable; urgency=low
+
+  * Change class of ttySn devices to dialout.
+  * Add ISDN.
+
+ -- Bruce Perens <bruce@pixar.com>  Fri, 6 Dec 1996 21:17:12 -0800
+
+makedev (1.5-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Bruce Perens <bruce@pixar.com>  Wed, 30 Oct 1996 20:36:44 -0800
diff --git a/debian/conffiles b/debian/conffiles
new file mode 100644 (file)
index 0000000..0a2613e
--- /dev/null
@@ -0,0 +1 @@
+/etc/init.d/makedev
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..2ac2b72
--- /dev/null
@@ -0,0 +1,16 @@
+Source: makedev
+Section: base
+Priority: required
+Maintainer: Bdale Garbee <bdale@gag.com>
+Build-Depends-Indep: debhelper
+Standards-Version: 3.6.1.1
+
+Package: makedev
+Architecture: all
+Depends: base-passwd (>= 3.0.4)
+Conflicts: udev (<= 0.024-7)
+Description: creates device files in /dev
+ The MAKEDEV executable is used to create device files, often in /dev.
+ .
+ Device files are special files through which applications can interact 
+ with hardware.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..c951f91
--- /dev/null
@@ -0,0 +1,46 @@
+This package is maintained for Debian by Bdale Garbee, <bdale@gag.com>.
+
+It was downloaded from ftp.redhat.com, as a source .rpm from the 5.1 release.
+
+Copyright:
+
+No explicit copyright is asserted.  Nick Holloway is the earliest author 
+recorded in the sourcecode.  I queried him for an explicit statement 
+regarding the license status of this work, and this is his reply:
+  
+ Date: Tue, 21 Jul 1998 19:57:10 +0100
+ From: Nick Holloway <Nick.Holloway@alfie.demon.co.uk>
+ Message-Id: <199807211857.TAA19068@alfie.demon.co.uk>
+ To: Bdale Garbee <bdale@gag.com>
+ Subject: Re: makedev license?
+ > I maintain the makedev package for Debian GNU/Linux.  I am about to move 
+ > from the ill-fated makedev-1.6 to the makedev-2.3.1 derived from your work 
+ > by the folks at Redhat.  I don't see any evidence of a copyright assertion 
+ > or explicit license statement in the source.  Your name appears to be the 
+ > earliest attached to the current sourcecode.  Am I correct in assuming the 
+ > GPL?  We try to be meticulous about having our base system be compliant 
+ > with our Debian Free Software Guidelines, so I'd like an explicit statement.
+ It was never explictly released as GPL, as that would have required
+ including the file COPYING which would have been much larger than the
+ actual MAKEDEV script (I was also too lazy to find out what incantations
+ needed to be made).  However, it is intended to be used as anyone sees
+ fit, and the statement under "Copying Policy" is "Freely Redistributable"
+ (see MAKEDEV.lsm from any of the releases I made).
+ The more recent modifications were done by Michael K. Johnson at
+ Redhat.  I think the understanding was that he would be taking over the
+ maintenance of MAKEDEV (our discussion took place last September).
+ The only previous history was (according to an old posting to
+ comp.os.linux) that I started with Jim Winstead's script.
+ So, as far as I am concerned, it is consistentwith the Debian FSG.
+ -- 
+  `O O'  | Home: Nick.Holloway@alfie.demon.co.uk  http://www.alfie.demon.co.uk/
+ // ^ \\ | Work: Nick.Holloway@parallax.co.uk
+A complete copy of the GPL is provided on Debian systems in the file
+/usr/share/common-licenses/GPL.
diff --git a/debian/dirs b/debian/dirs
new file mode 100644 (file)
index 0000000..2aba4a9
--- /dev/null
@@ -0,0 +1,2 @@
+sbin
+usr/share/man/man8
diff --git a/debian/init.d b/debian/init.d
new file mode 100644 (file)
index 0000000..c3f1dec
--- /dev/null
@@ -0,0 +1,34 @@
+#! /bin/sh
+
+N=/etc/init.d/makedev
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+
+set -e
+
+case "$1" in
+  start)
+       test -L /dev/MAKEDEV || ln -fs /sbin/MAKEDEV /dev/MAKEDEV
+
+       # create dvb-devices, if the dvb-directory allready exists, and 
+       # no devfs is used (this a workaround for the changed major-number
+       # of the dvb-devices, introduced in kernel 2.6.8, to be able to 
+       # switch between kernels <= 2.6.7 and >= 2.6.8, without manual 
+       # recreation of the devices (MAKEDEV dvb checks the kernel-version 
+       # and uses the correct major-number))
+       
+       if [ ! -e /dev/.devfsd ]; then
+               if [ -d /dev/dvb ]; then
+                       cd /dev && ./MAKEDEV dvb
+               fi
+       fi
+       
+       ;;
+  stop|reload|restart|force-reload)
+       ;;
+  *)
+       echo "Usage: $N {start|stop|restart|force-reload}" >&2
+       exit 1
+       ;;
+esac
+
+exit 0
diff --git a/debian/old/README.debian b/debian/old/README.debian
new file mode 100644 (file)
index 0000000..91ee1dc
--- /dev/null
@@ -0,0 +1,95 @@
+makedev for DEBIAN
+==================
+
+The /etc/makedev.cfg and /etc/devinfo files are rewritten to fit the
+Debian /dev layout.
+
+Security : all mouse devices are changed to mode 600. Only serial
+devices are mode 660 root:dialout. It's possible to crash x11 and
+console with writing random bytes to a mouse device.
+
+Serial console :
+/dev/console should be a symlink to your real console device.
+If it does not exist, or is not a symlink, it will be replaced with a
+symlink console -> tty0.
+
+This version of makedev will check /dev for tty*/pty* devices, and if
+there are some with the old major number, it will create a
+/etc/rc.boot/makedev script. This will script will change the
+master/slave devices the next time you boot.
+
+serial devices should be owned by user "uucp" and group "dialout".
+former they were owned by root. new devices are created with uucp as
+owner, but you will have to change old devices to user uucp on your own.
+It's new policy to have all serial devices owned by uucp, but the last
+word in this discussion isn't said...
+
+some device names have changed. please read
+/usr/doc/makedev/devices.{txt|html}
+
+the permissions should be secure enough, but if you find any bugs, or
+unfounded hard permissions, please let me know (i don't know much about
+the right permissions for devices, i yust used the value, everybody else
+was using, and made read & write only available for root, whenever i
+found nothing better.
+
+/dev/console is now a symlink to /dev/tty0. for more infomation, please
+look at a new 2.1 linux kernel : Documentation/devices.txt. That is the
+"Linux Allocated Device" paper, the official list of linux devices.
+If your boot console is a serial device, you will have to change that
+symlink.
+
+MAKEDEV-C will not work with any kernel with mcdx support, if
+/proc/devices contains "Mitsumi CD-ROM". if so, patch
+/usr/src/linux/driver/cdrom/mcdx.c :
+1149c1149
+<     if (unregister_blkdev(MAJOR_NR, "mcdx") != 0) {
+---
+>     if (unregister_blkdev(MAJOR_NR, DEVICE_NAME) != 0) {
+1270c1270
+<              if (register_blkdev(MAJOR_NR, "mcdx", &mcdx_fops) != 0) {
+---
+>              if (register_blkdev(MAJOR_NR, DEVICE_NAME, &mcdx_fops) != 0) {
+
+
+about call out devices (/dev/cu*) :
+
+      /dev/ttySxx devices are fully POSIX-compliant TTY devices.  If you
+      are only going to be using one set of tty devices, you should be
+      using /dev/ttySxx.
+
+      /dev/cuaXX devices are different from /dev/ttySXX in two ways ---
+      first of all, they will allow you to open the device even if
+      CLOCAL is not set and the O_NONBLOCK flag was not given to the
+      open device.  This allows programs that don't use the
+      POSIX-mondated interface for opening /dev/ttySxx devices to be
+      able to use /dev/cuaXX to make outgoing phone calls on their modem
+      (cu stands for "callout", and is taken from SunOS).
+
+      The second way in which /dev/cuaXX differs from /dev/ttySXX is
+      that if they are used, they will trigger a simplistic kernel-based
+      locking scheme: If /dev/ttySXX is opened by one or more processes,
+      then an attempt to open /dev/cuaXX will return EAGAIN.  If
+      /dev/cuaXX is opened by one or more processes, then an attempt to
+      open /dev/ttySXX will result the open blocking until /dev/cuaXX is
+      closed, and the carrier detect line goes high. the open blocking
+      until /dev/cuaXX is closed, and the carrier detect line goes high.
+
+      While this will allow for simple lockouts between a user using a
+      modem for callout and a getty listening on the line for logins, it
+      doesn't work if you need to arbitrate between multiple programs
+      wanting to do dialout --- for example, users wanting to do dialout
+      and UUCP.
+
+      I originally implemented the cuaXX/ttySXX lockout mechanism back
+      before FSSTND established a standard convention for the use of tty
+      lock files.  Now that it's there, people should use the tty lock
+      files and not try using /dev/cuaXX.  The only reason why
+      /dev/cuaXX hasn't disappeared yet is for backwards compatibility
+      reasons.                   -- Theodore Ts'o <tytso@mit.edu>
+
+
+debian has no /dev/cu* devices. But you can create them, if you need
+them. Read devices.txt for details.
+
+Andreas Jellinghaus <aj@debian.org>, Sun, 13 Apr 1997 21:05:58 +0200
diff --git a/debian/old/devices.sgml b/debian/old/devices.sgml
new file mode 100644 (file)
index 0000000..b989152
--- /dev/null
@@ -0,0 +1,294 @@
+<!doctype linuxdoc system>
+
+<article>
+
+<title>devices created by makedev
+<author> Andreas Jellinghaus <tt>aj@debian.org</tt>
+<date> version 0.3, based on Linux allocated device 2.1.62
+<abstract>
+       some devices are created by default, some are left out on boot
+       floppies, other devices are only created on demand and some
+       devices are obsolete or have new names. 
+</abstract>
+
+<sect> batches <p>
+
+call out devices are not generated by default. however if you need them,
+you can generate them (see below).
+
+<descrip>
+<tag/generic/all standard batches for normal Linux\/i386 systems.
+       (standard misc devices, ttyS[0-3], mouse, printer, tapes
+       (scsi, qic, qic117), audio, scsi generic, standard disk, cdroms
+       and ttys) 
+<tag/generic-m68k/all generic devices for m68k (additional
+       framebuffer, some mouse devices and m68k scsi disk devices are
+       included,
+       but busmouse devices and qic and qic117 are left out).
+<tag/boot-floppy/a subset of generic. (no audio, less ttys)
+<tag/std-hd/standard hard disks (hd[a-h,xd[ab],sd[a-h],ram disk,md,loop)
+<tag/std-cdrom/standard cdroms (scsi, old non-scsi non-atapi cdroms)
+<tag/compatiblity/collection of old devices. It is usefull to remove them, but
+make sure, that you have generated the new ones, and that you know, what
+you are doing !  serial-cu, printer-old, mouse-old, sr-old,
+qic-old, misc-old, sg-old
+<tag/update/special tag : reads \/proc\/devices and generates new devices
+       found there.
+</descrip>
+
+<sect> Limits (standard devices) <p>
+
+There are some limits in this version of devinfo : it will only create a
+special number of devices (e.g. ramdisks, hda partitions). If one of
+these limits is unrealistic, please tell me. Most limits have no good
+reason, I just didn't want to create hundreds of devices, so I only
+created a few. If a limit is too low for you : a) please tell me and b)
+modify /etc/devinfo (should be easy). <p>
+
+<descrip>
+<tag/ramdisks/8 devices ram[0-7]
+<tag/ide harddisks/20 partitions each (devices hd[a-h])
+<tag/xt harddisks/20 partitions each (devices xd[ab]
+<tag/loopback/8 devices loop[0-7] 
+<tag/metadisk/4 devices md[0-3]
+<tag/scsi cdrom/scd: 8 devices scd[0-7] 
+<tag/scsi cdrom/scd-all : 16 devices scd[0-15] 
+<tag/scsi generic/sg : 8 devices sg[0-7]
+<tag/scsi generic/sg-all : 16 devices sg[0-15]
+<tag/scsi tapes/8 devices st[0-7] 
+<tag/mscdex/4 cdrom devices dos_cd[0-3] 
+<tag/joysticks/2 devices each js[0-1] djs[0-1]
+<tag/other cdroms/only one device created : sonycd, gscd, optcd, sjcd,
+hitcd, mcd, cdu535, aztcd, cm206cd, bpcd (if there are several cdroms
+possible : please tell me !)          
+<tag/serial/default bootdisks and base system will only have ttyS[0-3],
+but you can create all possible devices ttyS[0-63] with "MAKEDEV serial"
+or several additional devices with "MAKEDEV ttyS4 ttyS5 ...".
+</descrip>
+
+<sect> additional devices <p>
+
+you can create these devices with "MAKEDEV name" and delete them with
+"MAKEDEV -d name". you can either use the name listed here (this will
+create all possible devices), or individual devices (use the device
+name) e.g. "serial" will create all 64 serial devices ttyS[0-63] but
+"ttyS0" will only create this one. 
+
+<sect1> serial devices <p>
+
+<descrip>
+<tag/isdn-tty/isdn terminal devices. 8 devices : ttyI[0-7]
+<tag/isdn-tty-all/isdn terminal devices. 64 devices : ttyI[0-63]
+
+<tag/isdn-ppp/isdn sync ppp network devices. 8 devices : ippp[0-7]
+<tag/isdn-ppp-all/isdn sync ppp network devices. 64 devices : ippp[0-63]
+
+<tag/isdn-io/isdn raw and control devices. 18 devices : 
+       isdn[0-7] isdnctrl[0-7] isdnctrl isdninfo
+<tag/isdn-io-all/isdn raw and control devices. 130 devices : 
+       isdn[0-63] isdnctrl[0-63] isdnctrl isdninfo
+
+<tag/serial-cu/serial callout devices. they are only for compatibility,
+most people don't need them. 64 devices : cua[0-63]
+
+<tag/isdn-cu/isdn call out devices. they are only for compatibility,
+most people don't need them. 64 devices : cui[0-7]
+<tag/isdn-cu-all/isdn call out devices. they are only for compatibility,
+most people don't need them. 64 devices : cui[0-63]
+
+<tag/chase{-cu}/devices for chase serial card (append -cu to create
+call out devices). 32 devices ttyH[0-31] (cuh[0-31])
+
+<tag/cyclades{-cu}/devices for cyclades serial card (append -cu to create
+call out devices). 32 devices ttyC[0-31] (cub[0-31])
+
+<tag/digiboard{-cu}/devices for digiboard serial card (append -cu to create
+call out devices). 32 devices ttyD[0-31] (cud[0-31])
+
+<tag/stallion{-cu}/devices for stallion serial card (append -cu to create
+callout devices). 32 devices ttyE[0-31] (cue[0-31])
+
+<tag/stallion-mem/devices to access stallion serial card. 4 devices
+stallionmem[0-3]
+
+<tag/specialix{-cu}/devices for specialix serial card (append -cu to create
+call out devices). 32 devices ttyX[0-31] (cux[0-31])
+
+<tag/rockport{-cu}/devices for rockport serial card (append -cu to create
+call out devices). 32 devices ttyR[0-31] (cur[0-31])
+
+<tag/riscom{-cu}/devices for riscom serial card (append -cu to create
+call out devices). 32 devices ttyL[0-31] (cul[0-31])
+
+<tag/hayes{-cu}/devices for hayes serial card (append -cu to create
+call out devices). 32 devices ttyP[0-31] (cup[0-31])
+
+<tag/baycom/devices for baycom radio modem. 32 devices bc[0-31]
+
+<tag/computone{-cu}/devices for computone intelliport II serial card
+(append -cu to create call out devices). 32 devices ttyF[0-31]
+(cuf[0-31])
+
+<tag/computone-ctrl/devices to access computone intelliport II serial
+card. 8 devices ip2ipl[0-3] and ip2stat[0-3]
+
+<tag/dcbri/spellcaster datacomm\/bri isdn card. 4 devices dcbri[0-3]
+<tag/specialix{-cu}/devices for specialix IO8+ serial card. 32 devices
+ttyW[0-31] (cuw[0-32])
+<tag/pam{-cu}/devices for PAM Software's mulitmodem boards. 32 devices
+ttyM[0-31] (cum[0-31])
+</descrip>
+
+<sect1> misc devices <p>
+
+<descrip>
+<tag/pty[p-za-e]/master pty devices. 16 devices pty?[0-9a-f] each
+<tag/tty[p-za-e]/slave tty devices. 16 devices pty?[0-9a-f] each
+<tag/floppy-all/generic only includes the fd0 and fd1 devices. this way
+you can generate devices for the 3rd ... 8th floppies. i recommend to
+install fdutils and use MAKEFLOPPIES to create the floppy devices you
+need. 30 devices each fd[0-7]*
+
+<tag/framebuffer/universal frame buffer (68k,sparc).
+       22 devices fb0* fb1*
+<tag/other-arch/amigamouse, atarimouse, sunmouse, openprom, kbd
+<tag/double/"double" compressed disk. 16 devices [c]double[0-7]
+<tag/ez[a-d]/syquest ex135 parallel port removable drive. 
+       20 partitions each
+<tag/ed[ab]/mca esdi hard disk. 20 partitions ed?* each
+
+<tag/sbpcd[234]/2nd,3rd,4th sound blaster cdrom controller. 4 devices sbpcdXX each
+<tag/mscdex/MSCDEX CD-ROM callback support. 4 devices dos_cd[0-3]
+<tag/cm205cd/cm205 cdrom devices (not supported in 2.x).
+       2 device cm205cd lmscd
+<tag/ad[a-p]/acsi disc\/cdrom (68k\/atari). 16 devices ad?* each
+<tag/gs4500/genius 4500 handheld scanner. 1 device gs4500
+<tag/slm/atari sm asci laser printer (68k\/atari). 4 devices slm[0-3]
+<tag/ht/ide tape. 2 devices ht0 nht0
+<tag/z2ram/zorro II ramdisk. 1 device z2ram
+<tag/cfs/coda network file-system.
+       1 device cfs0
+<tag/dtlk/DoubleTalk PC speech synthesizer, from RC Systems. 1 device dtlk
+
+<tag/ibcs2/ibcs2 devices as described in "Linux Allocated Devices".
+you need to create the directory /dev/inet before running makedev.
+ibcs2-unoff has lots more devices (i don't know if all are needed, or
+not. in doubt use ibcs2-unoff). 9 devices (socksys spx nfsd X0R inet/*).
+
+<tag/ibcs2-unoff/ibcs2 devices as described in the ibcs2 package. you
+need to create the directories "X" and "inet" before creating these
+devices. 74 devices (arp egp ggp icmp ip ipip pup rawip rip tcp udp nfsd
+X0R socksys spx pty[10-47] inet/* X/*)
+
+<tag/nvram/some special m68k hardware ? 1 device nvram
+
+<tag/system-sgi/devices for linux/sgi. 5 devices graphics opengl gfx
+input/mouse input/keyboard
+
+<tag/nb/network block devices. 8 devices nb*
+<tag/ftl/flash translatio layer (FTL) filesystems. max. 16 drives a-p
+with each 15 partitions (like scsi disks sd*).
+<tag/qng/Quantum Noice Generator. 1 device qng
+<tag/at200/Photometrics AT200 CCD camera. 1 device at200
+<tag/bttv/Brooktree Bt848 frame grabbers. 12 devices bttv[0-3]
+bttvc[0-3] bttv-vbi[0-3]
+<tag/winradio/WiNRADiO communications receiver card. 4 devices
+winradio[0-3]
+<tag/videotext/Teletext/videotext interfaces 2 devices vtx vttuner
+<tag/ihcp/ikon 1011[57] Versatec Greensheet Interface. 2devices ihcp[0-1]
+<tag/shimq/Linux/SGI shared memory input queue. 5 devices shmiq
+qcntl[0-3]
+<tag/sch/SCSI media changer. 8 devices sch[0-7]
+<tag/controla/Sony control-a1 stereo control bus. 
+</descrip>
+
+<sect1> sound <p>
+<descrip>
+<tag/mpu401/mpu401 MIDI data & status ports. 
+       2 devices mpu401{data,stat}
+<tag/tclmidi/tclmidi midi driver. 
+       12 devices midi[0-3] rmidi[0-3] smpte[0-3]
+</descrip>
+
+<sect1> misc <p>
+<descrip>
+<tag/wvisfgrab/quanta winvision frame grabber. 
+       1 device wvisfrab
+<tag/mmetfgrab/matrox meteor frame grabber.
+       1 device mmetfgrab
+<tag/ml16p[abc]/ml-16p experimental i\/o board.
+       20 device ml16p?* each
+<tag/scc/Z8530 HDLC driver. 8 devices scc[0-7]
+<tag/rom/rom\/flash memory card. 
+       32 devices rom[0-7] rrom[0-7] flash[0-7] rflash[0-7]
+<tag/netlink/netlink support. 2 devices route skip
+<tag/mlanai/myricom pci myrinet board. 8 devices mlanai[0-7]
+<tag/yamm/yet another micro monitor. 1 device yamm
+<tag/bdm/bdm interface for remote debugging MC683xx mc. 
+       6 devices pd_bdm[0-2] icd_bdm[0-2]
+<tag/holter/electrocardiognosis holter serial port.
+       3 devices holter[0-2]
+<tag/dsp56k/dsp56001 digital signal processor.
+       1 device dsp56k
+<tag/adbus/apple desktop bus. this was disabled, because it clashes with
+ab[b], the second acsi device (m68k/atari acsi disk).
+       1 device adb
+<tag/firewall/sf firewall package.
+       1 device firewall
+<tag/plink/sundance plink transputer boards.
+       12 devices [r]plink[0-3][d]
+<tag/enskip/enskip kernel encryption package
+<tag/yppcpci/yarc powerpc pci coprocessor card
+<tag/capi20/CAPI 2.0 interface.
+       21 devices capi20 capi20.[01-19]
+<tag/ma16/ma16 numeric accelerator card
+<tag/aps/spellcaster protocol service interface.
+       7 devices aps*
+<tag/sci/dolphin interconnect solutions' pci-sci bridge.
+       4 devices SCI\/[0-3]
+</descrip>
+
+<sect> compatibility <p>
+
+not all devices have a standard device name shared by all linux
+distributions, and many names have changed in the past. here is a list,
+so you can find new names, create the old devices (if you want), or
+remove them (to get rid of duplicates).
+
+<descrip>
+<tag/call out devices/cu* devices are not created by default. but you
+can create or remove them : serial-cu chase-cu cyclades-cu digiboard-cu
+stallion-cu specialix-cu isdn-cu     rockport-cu riscom-cu  hayes-cu
+computone-cu  
+<tag/printer-old/parallel port devices, standard name is lp[0-3], not par[0-3]
+<tag/mouse-old/(bus-)mouse devices : logimouse(logibm) psmouse(psaux)
+msmouse(inportbm) atimouse(atibm) jmouse(jbm)
+<tag/sr-old/scsi cdrom devices (now called scd)
+<tag/qic-old/qic streamer devices : nqt qt nqt11 qt11 nqt24 qt24 nqt120
+qt120 nqt150 qt150 qt-reset
+<tag/misc-old/for standardized names, some devices got renamed. old :
+midi, sbpcd, aztcd0, vcs0, lmscd, ramdisk
+new : midi00, sbpcd0, aztcd, vcs, ram0, cm205cd, ram0
+<tag/sg-old/scsi generic devices now use numbers (sg[0-7]), not letters
+sg[a-h])
+<tag/isdn-old/an old version created ipp* devices. this was a typo, they
+are called ippp*
+</descrip>
+
+i left some links : even if they are for compatibility, removing them
+might break existing software.
+
+<descrip>
+<tag/isdnctrl/link to "isdnctrl0"
+<tag/mfd0/m68k amiga hd floppy device
+</descrip>
+
+<sect> note about console and tty0 <p>
+
+New standard is : /dev/tty0 is a device (char,4,0).
+console should be a symlink : to tty0, or whatever your console is.
+If it is not a symlink, makedev will replace it with a symlink to tty0.
+Someday there will be a kernel managed device /dev/console to handle
+this (it will be char 5 1).
+
+</article> 
diff --git a/debian/postinst b/debian/postinst
new file mode 100644 (file)
index 0000000..8b818ac
--- /dev/null
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+set +e
+
+#DEBHELPER#
+
+cd /dev
+
+# don't stomp on devfs users
+if  [ -c .devfsd ]
+then
+    echo ".devfsd presence implies active DevFS.  Aborting postinst before touching /dev."
+    # use exit 0, not 1, since this isn't a failure, per se
+    exit 0
+fi
+
+/sbin/MAKEDEV std
+/sbin/MAKEDEV consoleonly
+
+/bin/chmod g-r,o= /dev/tty[0-9]*
+
+test -e /dev/tty0 || /sbin/MAKEDEV tty0
+test -e /dev/random || /sbin/MAKEDEV random
+test -e /dev/urandom || /sbin/MAKEDEV urandom
+test -e /dev/audio || /sbin/MAKEDEV audio
+test -e /dev/agpgart || /sbin/MAKEDEV agpgart
+
+[ ! -f /dev/mouse ] && [ -f /dev/sunmouse ] && ln -s sunmouse mouse
+
+# force update of fb devices if kernel is >= 2.4 and they already exist
+kern_rev1=`uname -r | sed -e 's@^\([^.]*\)\..*@\1@'`
+kern_rev2=`uname -r | sed -e 's@^[^.]*\.\([^.]*\)\..*@\1@'`
+if [ $kern_rev1 -ge 2 ] && [ $kern_rev2 -ge 4 ] && [ -e /dev/fb0 ]
+then
+       /sbin/MAKEDEV fb
+fi
+
+for A in sda16 sdb16 sdc16 sdd16 sde16 sdf16 sdg16 sdh16 \
+        ada16 adb16 adc16 add16 ade16 adf16 adg16 adh16
+do
+       test -e /dev/$A && rm /dev/$A
+done
+
+for A in logibm psaux inportbm atibm jbm smouse logimouse psmouse \
+msmouse atimouse jmouse amigamouse atarimouse sunmouse amigamouse1
+do
+       test -e /dev/$A && chmod 600 /dev/$A
+done
+
+# fix security hole caused by group-write permissions on kmem
+test -e /dev/kmem && chown root.kmem /dev/kmem && chmod 0640 /dev/kmem
+
+LIST=""
+
+for TYPE in tty pty ; do
+       for LETTER in p q r s t u v w x y z a b c d e ; do
+               if [ -e /dev/$TYPE$LETTER"0" ]; then
+                       MAJOR="`/bin/ls -l /dev/$TYPE$LETTER"0"|cut -c33-36`"
+                       if [ "$MAJOR" = 4 ] ; then
+                               LIST="$LIST $TYPE$LETTER"
+                       fi
+               fi
+       done
+done
+
+if [ -n "$LIST" ]; then
+       cat > /etc/rc.boot/makedev << EOF
+#!/bin/sh
+
+echo "Creating new console devices"
+/sbin/MAKEDEV $LIST
+
+rm /etc/rc.boot/makedev ; exit 0
+EOF
+
+chmod 755 /etc/rc.boot/makedev
+
+fi
+
+exit 0
diff --git a/debian/preinst b/debian/preinst
new file mode 100644 (file)
index 0000000..87ca351
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+rm -f /usr/man/man8/MAKEDEV.8 /usr/man/man8/MAKEDEV-C.8 \
+       /usr/man/man8/MAKEDEV-C.8.gz
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..bde3903
--- /dev/null
@@ -0,0 +1,51 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+build: build-stamp
+build-stamp:
+       dh_testdir
+       touch build-stamp
+
+clean:
+       dh_testdir
+       dh_testroot
+       rm -f build-stamp
+       -$(MAKE) clean
+       -rm -f debian/devices.txt debian/devices*html
+       dh_clean
+
+# Build architecture-independent files here.
+binary-indep: build
+       dh_testdir -i
+       dh_testroot -i
+       dh_installdirs -i
+
+       ROOT=debian/tmp $(MAKE) install 
+
+       dh_installdocs  -i
+       dh_installexamples -i
+       dh_installmenu -i
+       dh_installinit -i
+       dh_installcron -i
+       dh_installmanpages -i
+       dh_installchangelogs -i
+       dh_strip -i
+       dh_compress -i
+       dh_fixperms -i
+       dh_installdeb -i
+       dh_shlibdeps -i
+       dh_gencontrol -i
+       dh_md5sums -i
+       dh_builddeb -i
+
+# Build architecture-dependent files here.
+binary-arch: build
+
+source diff:                                                                  
+       @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary