Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | SCSI subsystem documentation |
2 | ============================ | |
3 | The Linux Documentation Project (LDP) maintains a document describing | |
4 | the SCSI subsystem in the Linux kernel (lk) 2.4 series. See: | |
5 | http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . The LDP has single | |
6 | and multiple page HTML renderings as well as postscript and pdf. | |
7 | It can also be found at http://www.torque.net/scsi/SCSI-2.4-HOWTO . | |
8 | ||
9 | ||
10 | Notes on using modules in the SCSI subsystem | |
11 | ============================================ | |
12 | The scsi support in the linux kernel can be modularized in a number of | |
13 | different ways depending upon the needs of the end user. To understand | |
14 | your options, we should first define a few terms. | |
15 | ||
16 | The scsi-core (also known as the "mid level") contains the core of scsi | |
17 | support. Without it you can do nothing with any of the other scsi drivers. | |
18 | The scsi core support can be a module (scsi_mod.o), or it can be built into | |
19 | the kernel. If the core is a module, it must be the first scsi module | |
20 | loaded, and if you unload the modules, it will have to be the last one | |
21 | unloaded. In practice the modprobe and rmmod commands (and "autoclean") | |
22 | will enforce the correct ordering of loading and unloading modules in | |
23 | the SCSI subsystem. | |
24 | ||
25 | The individual upper and lower level drivers can be loaded in any order | |
26 | once the scsi core is present in the kernel (either compiled in or loaded | |
27 | as a module). The disk driver (sd_mod.o), cdrom driver (sr_mod.o), | |
28 | tape driver ** (st.o) and scsi generics driver (sg.o) represent the upper | |
29 | level drivers to support the various assorted devices which can be | |
30 | controlled. You can for example load the tape driver to use the tape drive, | |
31 | and then unload it once you have no further need for the driver (and release | |
32 | the associated memory). | |
33 | ||
34 | The lower level drivers are the ones that support the individual cards that | |
35 | are supported for the hardware platform that you are running under. Those | |
36 | individual cards are often called Host Bus Adapters (HBAs). For example the | |
37 | aic7xxx.o driver is used to control all recent SCSI controller cards from | |
38 | Adaptec. Almost all lower level drivers can be built either as modules or | |
39 | built into the kernel. | |
40 | ||
41 | ||
42 | ** There is a variant of the st driver for controlling OnStream tape | |
43 | devices. Its module name is osst.o . | |
44 |