Imported Upstream version 2.3.1 upstream upstream/2.3.1
authorBdale Garbee <bdale@gag.com>
Thu, 5 Jun 2008 23:24:31 +0000 (17:24 -0600)
committerBdale Garbee <bdale@gag.com>
Thu, 5 Jun 2008 23:24:31 +0000 (17:24 -0600)
MAKEDEV [new file with mode: 0644]
MAKEDEV-2.3.1.lsm [new file with mode: 0644]
MAKEDEV.man [new file with mode: 0644]
MAKEDEV.spec [new file with mode: 0644]
Makefile [new file with mode: 0644]
README [new file with mode: 0644]

diff --git a/MAKEDEV b/MAKEDEV
new file mode 100644 (file)
index 0000000..8a9f490
--- /dev/null
+++ b/MAKEDEV
@@ -0,0 +1,644 @@
+#! /bin/sh -
+
+RCSID='$Id: MAKEDEV 2.3 1997/09/29 19:03:13 johnsonm Exp $'
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+# Customisation:
+#   The devices fall into various classes.  This section contains the mapping
+# from a class name into a group name and permission.
+#   You will almost certainly need to edit the group name to match your
+# 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
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+procfs=/proc
+
+opt_v=
+opt_d=
+opt_n=
+
+while [ $# -ge 1 ]
+do
+       case $1 in
+               --)     shift; break ;;
+               -v)     shift; opt_v=1 ;;
+               -d)     shift; opt_d=1 ;;
+               -n)     shift; opt_n=1; opt_v=1 ;;
+               -V)     shift; opt_V=1 ;;
+               -*)     echo "$0: unknown flag \"$1\"" >&2; exit 1 ;;
+               *)      break ;;
+       esac
+done
+
+if [ "$opt_V" ]
+then
+       echo "$RCSID"
+       exit 0
+fi
+
+opts="${opt_n:+-n} ${opt_v:+-v} ${opt_d:+-d}"
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+makedev () {   # usage: makedev name [bcu] major minor owner group mode
+       if [ "$opt_v" ]
+       then    if [ "$opt_d" ]
+               then    echo "delete $1"
+               else    echo "create $1 $2 $3 $4 $5:$6 $7" 
+               fi
+       fi
+       if [ ! "$opt_n" ]
+       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
+               fi
+       fi
+}
+symlink () {   # usage: symlink name target
+       if [ "$opt_v" ]
+       then    if [ "$opt_d" ]
+               then    echo "delete $1"
+               else    echo "create $1 -> $2"
+               fi
+       fi
+       [ ! "$opt_n" ] && rm -f $1 &&
+       [ ! "$opt_d" ] && ln -s $2 $1
+}
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+# 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.
+
+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
+
+#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#---#
+
+devices=
+if [ ! -f $procfs/devices ]
+then
+       echo "$0: warning: can't read $procfs/devices" >&2
+else
+       exec 3<$procfs/devices
+       while read major device <&3
+       do
+               case "$major" in
+                       Character|Block|'')
+                               ;;
+                       *)
+                               eval "major_$device=$major"
+                               devices="$devices $device"
+                               ;;
+               esac
+       done
+       exec 3<&-
+fi
+
+Major () {
+       device=$2
+       if [ "$opt_d" ]
+       then
+               echo -1 # don't care
+       else
+               eval echo \${major_$1:-\${device:?\"unknown major number for $1\"}}
+       fi
+}
+
+cvt () {
+       while [ $# -ne 0 ]
+       do
+               case "$1" in
+                       mem|tty|ttyp|cua|cub)   ;;
+                       hd)     (for d in a b c d e f g h ; do
+                                       echo -n hd$d " "
+                                done) ; echo
+                               ;;
+                       ide0)   echo hda hdb ;;
+                       ide1)   echo hdc hdd ;;
+                       ide2)   echo hde hdf ;;
+                       ide3)   echo hdg hdh ;;
+                       sd)     echo sda sdb ;;
+                       sr)     echo scd0 ;;
+                       st)     echo st0 ;;
+                       xd)     echo xda xdb ;;
+                       fd)     echo fd0 fd1 ;;
+                       lp)     echo lp ;;
+                       mt)     echo ftape ;;
+                       loop)   echo loop ;;
+                       md)     echo md ;;
+                       ibcs2)  echo ibcs2 ;;
+                       tpqic02)        echo qic ;;
+                       sound)          echo audio ;;
+                       logiscan)       echo logiscan ;;
+                       ac4096)         echo ac4096 ;;
+                       hw)     echo helloworld ;;
+                       sbpcd | sbpcd[123])     echo $1 ;;
+                       Joystick)       echo js ;;
+                       apm_bios)       echo apm ;;
+                       dcf)            echo dcf ;;
+                       aztcd)          echo aztcd ;;
+                       pcmcia) ;; # taken care of by its own driver
+                       ttyC)   echo cyclades ;;
+                       vcs)    ;;
+                       *)      echo "$0: don't know what \"$1\" is" >&2 ;;
+               esac
+               shift
+       done
+}
+
+for arg
+do
+       case $arg in
+       generic)
+               $0 $opts std
+               $0 $opts fd
+               $0 $opts fd0 fd1
+               $0 $opts hda hdb
+               $0 $opts xda xdb
+               $0 $opts sda sdb
+               $0 $opts pty
+               $0 $opts console
+               $0 $opts ttyS0 ttyS1 ttyS2 ttyS3
+               $0 $opts busmice
+               $0 $opts lp
+               $0 $opts par
+               ;;
+       local)
+               $0.local $opts
+               ;;
+       std)
+               makedev mem  c 1 1 $kmem
+               makedev kmem c 1 2 $kmem
+               makedev null c 1 3 $public
+               makedev port c 1 4 $kmem
+               makedev zero c 1 5 $public
+               symlink core $procfs/kcore
+               makedev full c 1 7 $public
+               $0 ram
+               makedev tty  c 5 0 $tty
+               ;;
+       ram)
+               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
+               ;;
+       console)
+               major=`Major vcs`       # not fatal
+               # console
+               makedev tty0 c 4 0 $cons
+               symlink console tty0
+               [ "$major" ] && makedev vcs0 c $major 0 $vcs
+               [ "$major" ] && makedev vcsa c $major 128 $vcs
+               # individual vts
+               line=1
+               while [ $line -le $MAXVT -a $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
+                       line=`math $line + 1`
+               done
+               ;;
+       tty[1-9]|tty[1-5][0-9]|tty[6][0-3])
+               line=`suffix $arg tty`
+               makedev tty$line c 4 $line $tty
+               ;;
+       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
+               ;;
+       pty[a-ep-z])
+               bank=`suffix $arg pty`
+               base=`index pqrstuvwxyzabcde $bank`
+               base=`math $base \* 16`
+               for i in 0 1 2 3 4 5 6 7 8 9 a b c d e f
+               do
+                       j=`index 0123456789abcdef $i`
+                       makedev pty$bank$i c 2 `math $base + $j` $tty
+                       makedev tty$bank$i c 3 `math $base + $j` $tty
+               done
+               ;;
+       pty)
+               ptysufs=""
+               for i in p q r s t u v w x y z a b c d e
+               do
+                       ptysufs="$ptysufs pty$i"
+               done
+               $0 $opts $ptysufs
+               ;;
+       cyclades)
+               major1=`Major ttyC` || continue
+               major2=`Major cub` || 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
+               do
+                       makedev ttyC$i c $major1 $i $tty
+                       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
+               ;;
+       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
+               ;;
+       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
+               ;;
+       js)
+               major=`Major Joystick` || continue
+               makedev js0 c $major 0 $mouse
+               makedev js1 c $major 1 $mouse
+               ;;
+       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
+               ;;
+       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 `expr $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 `expr $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
+               do
+                       makedev hd$unit$part b $major `expr $base + $part` $disk
+               done
+               ;;
+       ht)
+               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
+               ;;
+       xd[a-d])
+               major=`Major xd 13` || continue
+               unit=`suffix $arg xd`
+               base=`index abcd $unit`
+               base=`math $base \* 64`
+               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
+               done
+               ;;
+       sd[a-h])
+               major=`Major sd 8` || continue
+               unit=`suffix $arg sd`
+               base=`index abcdefgh $unit`
+               base=`math $base \* 16`
+               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=`expr $base + $part`
+                       makedev sd$unit$part b $major $minor $disk
+               done
+               ;;
+       loop)
+               major=`Major loop` || continue
+               for part in 0 1 2 3 4 5 6 7
+               do
+                       makedev loop$part b $major $part $disk
+               done
+               ;;
+       md)
+               major=`Major md` || continue
+               for part in 0 1 2 3
+               do
+                       makedev md$part b $major $part $disk
+               done
+               ;;
+       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
+               ;;
+       qic)
+               major=`Major tpqic02 12`
+               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
+               ;;
+       ftape)
+               major=`Major mt 27` || continue
+               for unit in 0 1 2 3
+               do
+                       makedev rft$unit c $major $unit $tape
+                       makedev nrft$unit c $major `math $unit + 4` $tape
+               done
+               symlink ftape rft0
+               symlink nftape nrft0
+               ;;
+       scd[0-7])
+               major=`Major sr 11` || continue
+               unit=`suffix $arg scd`
+               makedev scd$unit b $major $unit $cdrom
+               ;;
+       sonycd)
+               major=`Major cdu31a` || 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
+               ;;
+       cdu535)
+               makedev $arg b 24 0 $cdrom
+               ;;
+       lmscd)
+               makedev $arg b 24 0 $cdrom
+               ;;
+       sbpcd|sbpcd[123])
+               major=`Major $arg` || 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`
+                       makedev sbpcd$unit b $major $minor $cdrom
+               done
+               [ $arg = sbpcd ] && symlink $arg ${arg}0
+               ;;
+       aztcd)
+               major=`Major $arg` || continue
+               makedev ${arg}0 b $major 0 $cdrom
+               ;;
+       bpcd)
+               makedev $arg b 41 0 $cdrom
+               ;;
+       logiscan)
+               major=`Major logiscan` || continue
+               makedev $arg c $major 0 $scanner
+               ;;
+       m105scan)
+               major=`Major m105` || continue
+               makedev $arg c $major 0 $scanner
+               ;;
+       ac4096)
+               major=`Major ac4096` || continue
+               makedev $arg c $major 0 $scanner
+               ;;
+       audio)
+               major=`Major sound 14`
+               makedev mixer      c $major  0 $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
+               ;;
+       pcaudio)
+               major=`Major pcsp` || continue
+               makedev pcmixer c $major 0 $audio
+               makedev pcsp    c $major 3 $audio
+               makedev pcaudio c $major 4 $audio
+               ;;
+       sg)
+               major=`Major sg 21`
+               for unit in a b c d e f g h
+               do
+                       minor=`index abcdefgh $unit`
+                       # minor=`expr abcdefgh : ".*$unit" - 1`
+                       makedev $arg$unit c $major $minor $scsi
+               done
+               ;;
+       fd)
+               # not really devices, we use the /proc filesystem
+               symlink fd     $procfs/self/fd
+               symlink stdin  fd/0
+               symlink stdout fd/1
+               symlink stderr fd/2
+               ;;
+       ibcs2)
+               major=`Major ibcs2` || continue
+               makedev socksys c $major 0 $ibcs2
+               symlink nfsd socksys
+               makedev spx     c $major 1 $ibcs2
+               symlink X0R null
+               ;;
+       apm)
+               major=`Major apm_bios` || continue
+               makedev $arg c $major 0 $system
+               ;;
+       dcf)
+               major=`Major dcf` || continue
+               makedev $arg c $major 0 $system
+               ;;
+       helloworld)
+               major=`Major hw` || continue
+               makedev helloworld c $major 0 $public
+               ;;
+       update)
+               if [ ! "$devices" ]
+               then
+                       echo "$0: don't appear to have any devices" >&2
+                       continue
+               fi
+               if [ "$opt_d" ]
+               then
+                       echo "$0: can't delete an update" >&2
+                       continue
+               fi
+               create=
+               delete=
+               devs="$devices"
+               if [ -f DEVICES ]
+               then
+                       exec 3<DEVICES
+                       while read device major <&3
+                       do
+                               eval now=\$major_$device
+                               if [ "$now" = "" ]
+                               then
+                                       delete="$delete `cvt $device`"
+                                       continue
+                               elif [ "$now" != $major ]
+                               then
+                                       create="$create "`cvt $device`
+                               fi
+                               devs=`strip " $devs " $device`
+                               # devs=`expr "$devs" : "\(.*\) $device"``expr "$devs" : ".* $device\(.*\)"`
+                       done
+                       exec 3<&-
+               fi
+               create="$create "`cvt $devs`
+               [ "$delete" != "" ] && $0 $opts -d $delete
+               [ "$create" != " " ] && $0 $opts $create
+               [ "$opt_n" ] && continue
+               for device in $devices
+               do
+                       if [ "`cvt $device`" ]
+                       then
+                           eval echo $device \$major_$device
+                       fi
+               done > DEVICES
+               ;;
+       *)
+               echo "$0: don't know how to make device \"$arg\"" >&2
+               ;;
+       esac
+done
+
+exit 0
diff --git a/MAKEDEV-2.3.1.lsm b/MAKEDEV-2.3.1.lsm
new file mode 100644 (file)
index 0000000..32801ea
--- /dev/null
@@ -0,0 +1,20 @@
+Begin3
+Title:          MAKEDEV
+Version:        2.3.1
+Entered-date:   24OCT1997
+Description:    MAKEDEV is the script that is used to create the block and
+                character devices needed by a system.
+                Requires /bin/sh to be a bourne/POSIX compatible shell (bash,
+                ksh or ash) and the external commands expr, rm, mknod, chown,
+                chmod and ln.
+Keywords:       MAKEDEV, mknod, devices, /dev
+Author:         Nick Holloway <Nick.Holloway@alfie.demon.co.uk>
+Maintained-by:  Michael K. Johnson <johnsonm@redhat.com>
+Primary-site:   tsx-11.mit.edu /pub/linux/sources/sbin
+                        6k MAKEDEV-2.3.tar.gz
+Alternate-site: sunsite.unc.edu /pub/Linux/system/admin
+                        6k MAKEDEV-2.3.tar.gz
+Platform:       Linux/x86.
+Copying-policy: FRS Freely Redistributable Software
+End
+
diff --git a/MAKEDEV.man b/MAKEDEV.man
new file mode 100644 (file)
index 0000000..72fb9aa
--- /dev/null
@@ -0,0 +1,390 @@
+.\" $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"
+.SH NAME
+MAKEDEV \- create devices
+.SH SYNOPSIS
+.B "cd dev; ./MAKEDEV -V"
+.br
+.B "cd dev; ./MAKEDEV [ -n ] [ -v ] update"
+.br
+.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
+with drivers in the kernel.
+.PP
+Note that programs giving the error ``ENOENT: No such file or
+directory'' normally means that the device file is missing, whereas
+``ENODEV: No such device'' normally means the kernel does not have the
+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.
+.TP
+.B \-d
+Delete the devices.  The main use for this flag is by
+.B MAKEDEV
+itself.
+.TP
+.B \-v
+Be verbose.  Print out the actions as they are performed.  This is the
+same output as produced by
+.BR \-n .
+.SH CUSTOMISATION
+Since there is currently no standardisation in what names are used for
+system users and groups, it is possible that you may need to modify
+.B MAKEDEV
+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
+.TP
+.B update
+This only works on kernels which have \fC/proc/interrupts\fP (introduced
+during 1.1.x).  This file is scanned to see what devices are currently
+configured into the kernel, and this is compared with the previous
+settings stored in the file called \fCDEVICES\fP.
+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:
+.B mem
+\- acess to physical memory;
+.B kmem
+\- access to kernel virtual memory;
+.B null
+\- null device (infinite sink);
+.B port
+\- access to I/O ports;
+.B zero
+\- null byte source (infinite source);
+.B core
+\- symlink to /proc/kcore (for kernel debugging);
+.B full
+\- always returns ENOSPACE on write;
+.B ram
+\- ramdisk;
+.B tty
+\- to access the controlling tty of a process.
+.TP 
+.B local
+This simply runs 
+.BR MAKEDEV.local .
+This is a script that can create any local devices.
+.TP
+.B Virtual Terminals
+.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
+and
+.RI vcsa x ,
+which are used to generate screen-dumps of the vt (the
+.BI vcs x
+is just the text,
+and
+.BI vcsa x
+includes the attributes).
+.TP
+.B Serial 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] .
+.TP
+.B Parallel Ports
+.TP
+.I lp
+Standard parallel ports.  The devices are created 
+.BR lp0 , 
+.BR lp1 ,
+and 
+.BR lp2 .
+These correspond to ports at 0x3bc, 0x378 and 0x278.
+Hence, on some machines, the first printer port may actually be
+.BR lp1 .
+.TP
+.I par
+Alternative to
+.IR lp .
+Ports are named
+.BI par x
+instead of
+.BI lp x .
+.TP
+.B Bus Mice
+.TP
+.I busmice
+The various bus mice devices.  This creates the following devices:
+.B logimouse
+(Logitech bus mouse),
+.B psmouse
+(PS/2-style mouse),
+.B msmouse
+(Microsoft Inport bus mouse) and
+.B atimouse
+(ATI XL bus mouse) and
+.B jmouse
+(J-mouse).
+.TP
+.B Joystick Devices
+.TP
+.I js
+Joystick.  Creates 
+.B js0
+and 
+.BR js1 .
+.TP
+.B Disk Devices
+.TP
+.I fd[0-7]
+Floppy disk devices.  The device
+.BI fd x
+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
+.I n
+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 ,
+and
+.RI fd x E2880 .
+.IP
+For more information see Alain Knaff's fdutils package.
+.IP
+Devices
+.BI fd0 *
+through
+.BI fd3 *
+are floppy disks on the first controller, and devices
+.BI fd4 *
+through
+.BI fd7 *
+are floppy disks on the second controller.
+.TP
+.I hd[a-d]
+AT 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
+through
+.BI hd x 4,
+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.
+.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 on the secondary controller.  These devices can also be used to
+acess IDE CDROMs if using the new IDE driver.
+.TP
+.I xd[a-d] 
+XT hard disks.  Partitions are the same as IDE disks.
+.TP
+.I 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
+through
+.RI sd x 15).
+This is to allow there to be 8 SCSI disks.
+.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.
+.TP
+.B Tape Devices
+.TP
+.I st[0-7]
+SCSI tapes.  This creates the rewinding tape device
+.BI st x
+and the non-rewinding tape device
+.BI nst x .
+.TP
+.I qic
+QIC-80 tapes.  The devices created are
+.BR rmt8 ,
+.BR rmt16 ,
+.BR tape-d ,
+and
+.BR tape-reset .
+.TP
+.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
+(rewinding) and
+.BI nrft x
+(non-rewinding) are created.  For compatability, devices
+.B ftape
+and
+.B nftape
+are symlinks to
+.B rft0
+and
+.B nrft0
+respectively.
+.TP
+.B CDROM Devices
+.TP
+.I scd[0-7]
+SCSI CD players.
+.TP
+.I sonycd
+Sony CDU-31A CD player.
+.TP
+.I mcd
+Mitsumi CD player.
+.TP
+.I cdu535
+Sony CDU-535 CD player.
+.TP
+.I lmscd
+LMS/Philips CD player.
+.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).
+.TP
+.B Scanner
+.TP
+.I logiscan
+Logitech ScanMan32 & ScanMan 256.
+.TP
+.I m105scan
+Mustek M105 Handscanner.
+.TP
+.I ac4096
+A4Tek Color Handscanner.
+.TP
+.B Audio
+.TP
+.I audio
+This creates the audio devices used by the sound driver.  These include
+.BR mixer ,
+.BR sequencer ,
+.BR dsp ,
+and
+.BR audio .
+.TP
+.I pcaudio
+Devices for the PC Speaker sound driver.  These are
+.BR pcmixer .
+.BR pxsp ,
+and
+.BR pcaudio .
+.TP
+.B Miscellaneous
+.TP
+.I sg
+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).
+.TP
+.I fd
+To allow an arbitary program to be fed input from file descriptor
+.IR x ,
+use
+.BI /dev/fd/ x
+as the file name.  This also creates 
+BR /dev/stdin ,
+BR /dev/stdout ,
+and
+BR /dev/stderr .
+(Note, these are just symlinks into /proc/self/fd).
+.TP
+.I ibcs2
+Devices (and symlinks) needed by the IBCS2 emulation.
+.TP
+.I apm
+Devices for power management.
+.TP
+.I dcf
+Driver for DCF-77 radio clock.
+.TP
+.I helloworld
+Kernel modules demonstration device.  See the modules source.
+.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 "SEE ALSO"
+Linux Allocated Devices, maintained by H.\ Peter Anvin,
+<Peter.Anvin@linux.org>.
+.SH AUTHOR
+Nick Holloway, <Nick.Hollowa
\ No newline at end of file
diff --git a/MAKEDEV.spec b/MAKEDEV.spec
new file mode 100644 (file)
index 0000000..3b13e63
--- /dev/null
@@ -0,0 +1,52 @@
+Summary: Script to make and update /dev entries
+Name: MAKEDEV
+Version: 2.3.1
+Release: 1
+Copyright: none
+Group: Utilities/System
+Source: ftp://tsx-11.mit.edu/pub/linux/sources/sbin/MAKEDEV-2.3.1.tar.gz
+Requires: /bin/sh fileutils shadow-utils >= 970616-7
+Prereq: shadow-utils
+# Note: pre-requires that particular version of shadow-utils, but
+# RPM can't handle that right now.
+BuildArchitectures: noarch
+
+%changelog
+
+* Fri Oct 24 1997 Michael K. Johnson <johnsonm@redhat.com>
+
+- 2.3.1: use /usr/sbin/groupadd from new shadow utils
+
+* Mon Sep 29 1997 Michael K. Johnson <johnsonm@redhat.com>
+
+- Updated to 2.3, as Nick agreed to me making an interim release while
+  he figures out whether he wants to be the maintainer.
+
+* Wed Sep 03 1997 Erik Troan <ewt@redhat.com>
+
+- made a noarch package
+
+* Tue Jul 08 1997 Erik Troan <ewt@redhat.com>
+
+- added dependencies
+
+%description
+The /dev tree holds special files, each of which corresponds to a type
+of hardware device that Linux supports. This package contains a script
+which makes it easier to create and maintain the files which fill the
+/dev tree.
+
+%prep
+%setup
+
+%build
+
+%install
+make install
+
+%pre
+/usr/sbin/groupadd -g 19 -r -f floppy
+
+%files
+/dev/MAKEDEV
+/usr/man/man8/MAKEDEV.8
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..e66a26b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,14 @@
+# $Id: Makefile,v 2.2 1995/05/21 17:45:18 alfie Exp $
+
+DEVDIR  = $(ROOT)/dev
+MANDIR  = $(ROOT)/usr/man
+MANEXT  = 8
+
+default:
+       @echo Nothing to make.
+       
+install:
+       install -m 755 MAKEDEV $(DEVDIR)
+       install -m 644 MAKEDEV.man $(MANDIR)/man$(MANEXT)/MAKEDEV.$(MANEXT)
+
+clean:
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..9a5c87e
--- /dev/null
+++ b/README
@@ -0,0 +1,27 @@
+$Id: README,v 2.3 1997/09/29 19:03:21 johnsonm Exp $
+
+This release is an interim release by Michael K. Johnson <johnsonm@redhat.com>
+If it breaks, don't bother Nick, bother me.
+
+Here is the original comment taken from the MAKEDEV script.  One day,
+I'll do this properly.
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+This is my attempt at a MAKEDEV script.  IMHO it cleans up many areas.
+It can be used to determine the necessary info for a device without
+actually creating it using the '-n' flag.
+
+It makes less individual devices and tends to make classes of devices
+(eg "MAKEDEV hda" will create "hda" and the 8 partitions; "MAKEDEV ptyp"
+will create the ptyp[0-f] master and ttyp[0-f] slave devices).
+
+If you are aware of any glaring omissions or errors, please let me know.
+Also, if you are a developer who wants your devices supported by MAKEDEV,
+let me know.
+
+Thanks go to many people.  Ian Jackson for the original help and
+encouragement, to Matthias Urlichs for plugging "MAKEDEV update", and
+to the many others that have bought errors and omissions to my attention.
+
+       Nick Holloway <Nick.Holloway@alfie.demon.co.uk>