From 66666d87ceec67d9a75cbc5078d4578e8659cf55 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Thu, 5 Jun 2008 17:24:31 -0600 Subject: [PATCH 1/1] Imported Upstream version 2.3.1 --- MAKEDEV | 644 ++++++++++++++++++++++++++++++++++++++++++++++ MAKEDEV-2.3.1.lsm | 20 ++ MAKEDEV.man | 390 ++++++++++++++++++++++++++++ MAKEDEV.spec | 52 ++++ Makefile | 14 + README | 27 ++ 6 files changed, 1147 insertions(+) create mode 100644 MAKEDEV create mode 100644 MAKEDEV-2.3.1.lsm create mode 100644 MAKEDEV.man create mode 100644 MAKEDEV.spec create mode 100644 Makefile create mode 100644 README diff --git a/MAKEDEV b/MAKEDEV new file mode 100644 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 + ;; + *) + 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 index 0000000..32801ea --- /dev/null +++ b/MAKEDEV-2.3.1.lsm @@ -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 +Maintained-by: Michael K. Johnson +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 index 0000000..72fb9aa --- /dev/null +++ b/MAKEDEV.man @@ -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, +. +.SH AUTHOR +Nick Holloway, = 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 + +- 2.3.1: use /usr/sbin/groupadd from new shadow utils + +* Mon Sep 29 1997 Michael K. Johnson + +- 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 + +- made a noarch package + +* Tue Jul 08 1997 Erik Troan + +- 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 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 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 +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 -- 2.30.2