old-www/HOWTO/Partition/devices.html

1220 lines
17 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Devices</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Linux Partition HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Introduction"
HREF="intro.html"><LINK
REL="NEXT"
TITLE="Partition Types"
HREF="partition-types.html"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Linux Partition HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="intro.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="partition-types.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="devices"
></A
>2. Devices</H1
><P
>&#13;There is a special nomenclature that linux uses to refer to hard drive
partitions that must be understood in order to follow the discussion
on the following pages.
</P
><P
>&#13;In Linux, partitions are represented by device files. These are phoney
files located in <TT
CLASS="filename"
>/dev</TT
>. Here are a few entries:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;brw-rw---- 1 root disk 3, 0 May 5 1998 hda
brw-rw---- 1 root disk 8, 0 May 5 1998 sda
crw------- 1 root tty 4, 64 May 5 1998 ttyS0
</PRE
></FONT
></TD
></TR
></TABLE
>
A device file is a file with type c ( for "character" devices, devices
that do not use the buffer cache) or b (for "block" devices, which go
through the buffer cache). In Linux, all disks are represented as
block devices only.
</P
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="names"
></A
>2.1. Device names</H2
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="NamingConvention"
></A
>2.1.1. Naming Convention</H3
><P
>&#13;By convention, IDE drives will be given device
names <TT
CLASS="literal"
>/dev/hda</TT
> to <TT
CLASS="literal"
>/dev/hdd</TT
>.
<EM
>H</EM
>ard <EM
>D</EM
>rive
<EM
>A</EM
> (<TT
CLASS="literal"
>/dev/hda</TT
>) is the first drive and
<EM
>H</EM
>ard <EM
>D</EM
>rive
<EM
>C</EM
> (<TT
CLASS="literal"
>/dev/hdc</TT
>) is the third.
<DIV
CLASS="table"
><A
NAME="AEN179"
></A
><P
><B
>Table 2. IDE controller naming convention</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive name</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive controller</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive number</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hda</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdb</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdc</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdd</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="33%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
></TR
></TBODY
></TABLE
></DIV
>
</P
><P
>&#13;A typical PC has two IDE
controllers, each of which can have two drives connected to it. For
example, <TT
CLASS="filename"
>/dev/hda</TT
> is the first drive (master) on the
first IDE controller and <TT
CLASS="filename"
>/dev/hdd</TT
> is
the second (slave) drive on the second controller (the fourth IDE
drive in the computer).
</P
><P
>&#13;You can write to these devices directly (using <B
CLASS="command"
>cat</B
> or
<B
CLASS="command"
>dd</B
>). However,
since these devices represent the entire disk, starting at the first
block, you can mistakenly overwrite the master boot record and the
partition table, which will render the drive unusable.
</P
><P
>&#13;<DIV
CLASS="table"
><A
NAME="AEN213"
></A
><P
><B
>Table 3. partition names</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive name</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive controller</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive number</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>partition type</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>partition number</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hda1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hda2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hda3</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>3</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hda4</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>swap</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>NA</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdb1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdb2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdb3</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>3</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdb4</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>4</TD
></TR
></TBODY
></TABLE
></DIV
>
</P
><P
>&#13; Once a drive has been partitioned, the partitions will represented
as numbers on the end of the names. For example, the second
partition on the second drive will be
<TT
CLASS="filename"
>/dev/hdb2</TT
>. The partition type (primary) is
listed in the table above for clarity, although the concept is not
explained until <A
HREF="partition-types.html#primary"
>Section 3.3</A
>.
</P
><P
>&#13;<DIV
CLASS="table"
><A
NAME="AEN280"
></A
><P
><B
>Table 4. SCSI Drives</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive name</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive controller</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive number</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>partition type</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>partition number</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/sda1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>6</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/sda2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>6</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/sda3</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>6</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>3</TD
></TR
></TBODY
></TABLE
></DIV
>
</P
><P
>&#13; SCSI drives follow a similar pattern; They are represented by 'sd'
instead of 'hd'. The first partition of the second SCSI drive would
therefore be <TT
CLASS="filename"
>/dev/sdb1</TT
>. In
the table above, the drive number is arbitraily chosen to be 6 to
introduce the idea that SCSI ID numbers do not map onto device names
under linux.
</P
></DIV
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN315"
></A
>2.1.2. Name Assignment</H3
><P
>&#13; Under (Sun) Solaris and (SGI) IRIX, the device name given to a
SCSI drive has some relationship to where you plug it in. Under
linux, there is only wailing and gnashing of teeth.
</P
><P
>&#13;<EM
>Before</EM
>
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;SCSI ID #2 SCSI ID #5 SCSI ID #7 SCSI ID #8
/dev/sda /dev/sdb /dev/sdc /dev/sdd
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><P
>&#13;<EM
>After</EM
>
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;SCSI ID #2 SCSI ID #7 SCSI ID #8
/dev/sda /dev/sdb /dev/sdc
</PRE
></FONT
></TD
></TR
></TABLE
>
</P
><P
>&#13; SCSI drives have ID numbers which go from 1 through 15. Lower SCSI
ID numbers are assigned lower-order letters. For example, if you
have two drives numbered 2 and 5, then #2 will be
<TT
CLASS="filename"
>/dev/sda</TT
> and #5 will be
<TT
CLASS="filename"
>/dev/sdb</TT
>. If you remove either, all the higher
numbered drives will be renamed the next time you boot up.
</P
><P
>&#13; If you have two SCSI controllers in your linux box, you will need to
examine the output of <B
CLASS="command"
>/bin/dmesg</B
> in order to
see what name each drive was assigned. If you remove one of two
controllers, the remaining controller might have all its drives
renamed. Grrr...
</P
><P
>&#13; There are two work-arounds; both involve using a program to put a
label on each partition (see <A
HREF="labels.html"
>Section 6</A
>). The label is
persistent even when the device is physically moved. You then refer
to the partition directly or indirectly by label.
</P
></DIV
><DIV
CLASS="sect3"
><H3
CLASS="sect3"
><A
NAME="AEN331"
></A
>2.1.3. Logical Partitions</H3
><P
>&#13;
<DIV
CLASS="table"
><A
NAME="AEN334"
></A
><P
><B
>Table 5. Logical Partitions</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive name</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive controller</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>drive number</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>partition type</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>partition number</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdb1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>primary</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdb2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>extended</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>NA</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hda5</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>logical</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hdb6</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>2</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>logical</TD
><TD
WIDTH="20%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>3</TD
></TR
></TBODY
></TABLE
></DIV
>
</P
><P
>&#13; The table above illustrates a mysterious jump in the name
assignments. This is due to the use of logical partitions (see <A
HREF="partition-types.html#logical"
>Section 3.4</A
>, which always start with 5, for
reasons explained later.
</P
><P
>&#13; This is all you have to know to deal with linux disk devices. For
the sake of completeness, see Kristian's discussion of device
numbers below.
</P
></DIV
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="numbers"
></A
>2.2. Device numbers</H2
><P
>&#13; The only important thing with a device file are its major and minor
device numbers, which are shown instead of the file size:
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="programlisting"
>&#13;$ ls -l /dev/hda
</PRE
></FONT
></TD
></TR
></TABLE
>
<DIV
CLASS="table"
><A
NAME="AEN380"
></A
><P
><B
>Table 6. Device file attributes</B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>brw-rw----</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>1</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>root</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>disk</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>3,</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>0</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>Jul 18 1994</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>/dev/hda</TD
></TR
><TR
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>permissions</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>&nbsp;</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>owner</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>group</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>major device number</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>minor device number</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>date</TD
><TD
WIDTH="12%"
ALIGN="CENTER"
VALIGN="MIDDLE"
>device name</TD
></TR
></TBODY
></TABLE
></DIV
>
</P
><P
>When accessing a device file, the major number
selects which device driver is being called to perform the
input/output operation. This call is being done with the minor number
as a parameter and it is entirely up to the driver how the minor
number is being interpreted. The driver documentation usually
describes how the driver uses minor numbers. For IDE disks, this
documentation is in
<A
HREF="file:/usr/src/linux/Documentation/ide.txt"
TARGET="_top"
>&#13;<TT
CLASS="filename"
>/usr/src/linux/Documentation/ide.txt</TT
></A
>.
For SCSI disks, one would expect such documentation in
<A
HREF="file:/usr/src/linux/Documentation/scsi.txt"
TARGET="_top"
>&#13;<TT
CLASS="filename"
>/usr/src/linux/Documentation/scsi.txt</TT
></A
>,
but it isn't there. One has to look at the driver source to be sure
(<A
HREF="file:/usr/src/linux/driver/scsi/sd.c"
TARGET="_top"
>&#13;<TT
CLASS="filename"
>/usr/src/linux/driver/scsi/sd.c</TT
></A
>:184-196).
Fortunately,
there is Peter Anvin's list of device numbers and names in
<A
HREF="file:/usr/src/linux/Documentation/devices.txt"
TARGET="_top"
>&#13;<TT
CLASS="filename"
>/usr/src/linux/Documentation/devices.txt</TT
></A
>;
see the entries for block devices, major 3, 22, 33, 34 for IDE and
major 8 for SCSI disks. The major and minor numbers are a byte each
and that is why the number of partitions per disk is limited.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="intro.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="partition-types.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Introduction</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Partition Types</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>