The Linux 2.4 SCSI subsystem HOWTO

Douglas Gilbert

2002-04-27

Revision History
Revision 1.72002-04-27Revised by: dpg
mkinitrd, scsi_debug, 2.4.18, more ATAPI
Revision 1.62002-01-26Revised by: dpg
ATAPI cdrom selection
Revision 1.52001-12-21Revised by: dpg
16 byte SCSI commands, SCSI_IOCTL_GET_PCI
Revision 1.42001-08-26Revised by: dpg
spelling, dd_rescue, mkinitrd example, lk 2.4 changes, 1394.
Revision 1.32001-08-26Revised by: dpg
ATAPI CDROM section, alter title, U320, iSCSI.
Revision 1.22001-03-25Revised by: dpg
Information about scu, dt, "Alt" sequences, more notes.
Revision 1.12001-01-22Revised by: dpg
Add osst description, _EXTRA_DEVS limitations.

Table of Contents
1. Introduction
2. Architectural Overview
3. Names and Addresses
3.1. SCSI Addressing
3.2. Device Names
3.3. Device Names in devfs
3.4. Device Names in scsidev
4. Kernel Configuration
5. Boot Parameters
6. Modules and their Parameters
7. Proc pseudo file system
8. Mid Level, Unifying layer
8.1. boot parameters
8.2. module parameters
8.3. proc interface
9. Upper level drivers
9.1. Disk driver (sd)
9.2. CDROM driver (sr or scd)
9.3. Tape driver (st)
9.4. Generic driver (sg)
10. Lower Level drivers
10.1. Pseudo drivers
11. Raw devices
12. Devfs pseudo file system
A. Common bus types (SCSI and other)
B. Changes between lk 2.2 and (during) 2.4
B.1. Mid level changes
B.2. sd changes
B.3. sr changes
B.4. st changes
B.5. sg changes
B.6. Changes during the lk 2.4 series
C. Troubleshooting
D. Performance, Test and Debugging tools
E. Compile options and System calls including ioctls
E.1. Mid level
E.2. sd driver
E.3. sr driver
E.4. st driver
E.5. sg driver
F. References, Credits and Corrections