You must have a supported SCSI controller, obviously. Furthermore,
your kernel must have controller support as well as generic support
compiled in. Configuring the Linux kernel (via make config
under
/usr/src/linux) typically looks like the following:
...
*
* SCSI support
*
SCSI support? (CONFIG_SCSI) [n] y
*
* SCSI support type (disk, tape, CDrom)
*
...
Scsi generic support (CONFIG_CHR_DEV_SG) [n] y
*
* SCSI low-level drivers
*
...
The generic SCSI driver uses its own device files, separate from those
used by the other SCSI device drivers. They can be be generated using
the MAKEDEV
script, typically found in the /dev
directory. Running MAKEDEV sg
produces these files:
crw------- 1 root system 21, 0 Aug 20 20:09 /dev/sga
crw------- 1 root system 21, 1 Aug 20 20:09 /dev/sgb
crw------- 1 root system 21, 2 Aug 20 20:09 /dev/sgc
crw------- 1 root system 21, 3 Aug 20 20:09 /dev/sgd
crw------- 1 root system 21, 4 Aug 20 20:09 /dev/sge
crw------- 1 root system 21, 5 Aug 20 20:09 /dev/sgf
crw------- 1 root system 21, 6 Aug 20 20:09 /dev/sgg
crw------- 1 root system 21, 7 Aug 20 20:09 /dev/sgh
| |
major, minor device numbers
Note that these are character devices for raw access. On some systems
these devices may be called /dev/{sg0,sg1,...}
, depending on your
installation, so adjust the following examples accordingly.
These device files are dynamically mapped to SCSI id/LUNs on your SCSI bus (LUN = logical unit). The mapping allocates devices consecutively for each LUN of each device on each SCSI bus found at boot time, beginning at the lower LUNs/ids/buses. It starts with the first SCSI controller and continues without interruption with all following controllers.
For example, assuming you had three SCSI devices hooked up with ids 1, 3, and 5 on the first SCSI bus (each having one LUN), then the following mapping would be in effect:
/dev/sga -> SCSI id 1
/dev/sgb -> SCSI id 3
/dev/sgc -> SCSI id 5
If you now add a new device with id 4, then the mapping (after a reboot) will be:
/dev/sga -> SCSI id 1
/dev/sgb -> SCSI id 3
/dev/sgc -> SCSI id 4
/dev/sgd -> SCSI id 5
Notice the change for id 5 -- the corresponding device is no longer
mapped to /dev/sgc
but is now /dev/sgd
.
Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter