From: rick@ee.uwm.edu (Rick Miller, Linux Device Registrar)
Newsgroups: comp.os.linux
Subject: First Release of the Linux Device List
Date: 17 Nov 1992 16:00:20 GMT
Organization: Just me.
NNTP-Posting-Host: 129.89.2.33
Summary: LOOK IT OVER!  COMMENTS PLEASE!
Keywords: TAPE, CD-ROM, HELP!

The following is what I have so far in the way of a complete listing of
devices for Linux.  There are some gaps that need filling...

For example, I don't have any minor numbers for TAPE drives yet, SCSI or
otherwise.  Same goes for CD-ROMs.  Will those who have such things running
let me know what major and minor numbers they've been using?  Thanks.

---------------------------------------------------------------------------

			The Linux Device List
    maintained by rick@ee.uwm.edu (Rick Miller, Linux Device Registrar)

	Many thanks to richard@stat.tamu.edu and Jim Winstead Jr.

Majors:
 0.  Unnamed .	(unknown) ....	for proc-fs, NFS clients, etc.
 1.  Memory ..	(character) ..	ram, mem, kmem, null, port, zero
 2.  Floppy ..	(block) ......	fd[01][dhDH]{360,720,1200,1440} or fd[01]
 3.  Hard Disk	(block) ......	hd[ab] or hd[ab][1-?] (Extended>4)
 4.  Tty .....	(character) ..	tty{0,1-8,63,64-127,128-?} or ttys{0-3,1-4}
 5.  tty .....	(character) ..	special tty: owner of its calling process.
 6.  Lp ......	(character) ..	lp[0-2] or par[0-2]
 7.  Tape ....	(block) ......	t[0-?] (reserved for Non-SCSI tape drives)
 8.  Scsi Disk	(block) ......	sd[0-?] or sd[0-?][0-?]
 9.  Scsi Tape	(block) ......	st[0-?]
10.  Bus Mouse	(character) ..	bm, psaux (mouse)
11.  CD-ROM ..	(block) ......	scd

Breakdown of minors by Majors:
------------------------------
 0.  Unnamed .	(unknown) ....	for proc-fs, NFS clients, etc.
	Minors?

 1.  Memory ..	(character) ..	ram, mem, kmem, null, port, zero
	0.  /dev/ram
	1.  (block): RAM-Disk	(character): /dev/mem
	2.  /dev/kmem
	3.  /dev/null
	4.  /dev/port
	5.  /dev/zero

 2.  Floppy ..	(block) ......	fd[01][dhDH]{360,720,1200,1440} or fd[01]
	Minors are [drive + [4 * type]] where drive 0-3 == A:-D: (floppy)
	and type is:	0: Autodetect		4: 720k in 3.5"
			1: 360k in 5.25" 1.2M	5: 360k in 5.25" 1.2M
			2: 1.2M in 5.25" 1.2M	6. 720k in 5.25" 1.2M
			3: 360k in 3.5"		7. 1.44M in 3.5" 1.44

 3.  Hard Disk	(block) ......	hd[ab] or hd[ab][1-?] (Extended>4)
	0.  First HD (/dev/hda), whole drive including Master Boot Record.
	1-4.  Partitions on the first HD.
	5-8.  Logical partitions within an extended partition on first HD.
	64.  Second HD (/dev/hdb), whole drive including Master Boot Record.
	65-68.  Partitions on the second HD.
	69-72.  Logical partitions within an extended partition on second HD.

	Notes:	BE *VERY* CAREFUL WITH /dev/hda AND /dev/hdb!!  These two
		devices signify the *entire* *drive*, not just one partition.
		The only things that use /dev/hda or /dev/hdb are things that
		need to read/change the partition table (like fdisk).

		Linux doesn't order anything.  It perceives partitions in the
		order in which they appear in the partition table.  Thus,
		/dev/hd?1 may follow /dev/hd?2 in the cylinder numbering.

		The names of the hard drives are not the same as under Minix.

 4.  Tty .....	(character) ..	tty{0,1-8,63,64-127,128-?} or ttys{0-3,1-4}
	0.  /dev/tty0:  This is the currently active Virtual Console.
	1-63.  /dev/tty#:  Specific virtual consoles.
	64-127.  /dev/ttys*:  Serial ports.
	128-191.  /dev/pty[??]:  PTY Masters.
	192-255.  /dev/pty[??]:  PTY Slaves.

	Notes:  There are several constants set in the kernel sources which
		can be changed to compile a more customized kernel.  They're
		found in [/usr/src]/linux/include/linux/tty.h:

			NR_CONSOLES	The number of virtual consoles.
			NR_SERIALS	The number of serial lines.
			NR_PTYS		The number of pty's.

 5.  tty .....	(character) ..	special tty: owner of its calling process.
	0.  /dev/tty:  the tty that owns the process calling it.

 6.  Lp ......	(character) ..	lp[0-2] or par[0-2]
	1-3.  Parallel (printer) ports.  (Increasable in include/linux/lp.h)

	Notes:	The number of line printers is defined by LP_NO which is
		found in [/usr/src]/linux/include/lp.h.

		Even if you only have one printer port, Linux may still call
		it /dev/lp1 (rather than /dev/lp0).  Watch during boot-up to
		see how it recognizes your printer port.

 7.  Tape ....	(block) ......	t[0-?] (reserved for Non-SCSI tape drives)
	This one's just getting started.  No minor numbers are yet assigned.
	It's not even in the source code.

 8.  Scsi Disk	(block) ......	sd[0-?] or sd[0-?][0-?]
	Minors numbers are [[16 * HostID] + partition]

	Notes:	The maximum number of SCSI drives is defined by MAX_SD
		found in [/usr/src]/linux/kernel/blk_drv/scsi/sd.h.

 9.  Scsi Tape	(block) ......	st[0-?]
	Quoting from the source-code:
                        void do_st_request(void)
                        {
                                panic("There is no st driver.\n\r");
                        }

	Notes:	For future reference, the maximum number of SCSI tapes
		is defined by MAX_ST which is found in
		[/usr/src]/linux/kernel/blk_drv/scsi/st.h.

10.  Bus Mouse	(character) ..	bm, psaux (mouse)
		(If I recall, X Windows requires that
		 /dev/mouse be linked to one of these...)
	0.  /dev/bm:  (Logitec?) bus mouse
	1.  /dev/psaux:  PS/2 mouse port
	2.  /dev/bm:  MicroSoft bus mouse
	3.  /dev/bm:  ATI XL bus mouse

11.  CD-ROM ..	(block) ......	scd
	Minors?

---------------------------------------------------------------------------

Rick Miller   <rick@ee.uwm.edu> | <rick@discus.mil.wi.us>   Ricxjo Muelisto
Occupation:  Husband, Father, WEPCo. WAN Mgr., Discus Sys0p, and  Linux fan