make config - starts a character based questions and answer session
make menuconfig - starts a terminal-oriented configuration tool (using ncurses)
CONFIG_SCSI=y CONFIG_SCSI=m # CONFIG_SCSI is not set |
Some other common SCSI configuration options are:
CONFIG_BLK_DEV_SD [disk (sd) driver] CONFIG_SD_EXTRA_DEVS [extra slots for disks added later] CONFIG_BLK_DEV_SR [SCSI cdrom (sr) driver] CONFIG_BLK_DEV_SR_VENDOR [allow vendor specific cdrom commands] CONFIG_SR_EXTRA_DEVS [extra slots for cdroms added later] CONFIG_CHR_DEV_ST [tape (st) driver] CONFIG_CHR_DEV_OSST [OnSteam tape (osst) driver] CONFIG_CHR_DEV_SG [SCSI generic (sg) driver] CONFIG_DEBUG_QUEUES [for debugging multiple queues] CONFIG_SCSI_MULTI_LUN [allow probes above lun 0] CONFIG_SCSI_CONSTANTS [symbolic decode of SCSI errors] CONFIG_SCSI_LOGGING [allow logging to be runtime selected] CONFIG_SCSI_<ll_driver> [numerous lower level adapter drivers] CONFIG_SCSI_DEBUG [lower level driver for debugging] CONFIG_SCSI_PPA [older parallel port zip drives] CONFIG_SCSI_IMM [newer parallel port zip drives] CONFIG_BLK_DEV_IDESCSI [ide-scsi pseudo adapter] CONFIG_I2O_SCSI [scsi command set over i2o bus] CONFIG_SCSI_PCMCIA [for SCSI HBAs on PCMCIA bus] CONFIG_USB_STORAGE [usb "mass storage" type] CONFIG_MAGIC_SYSRQ [Alt+SysRq+S for emergency sync] [Alt+SyrRq+U for emergency remount ro] |
Linux distributions have many of the SCSI subsystem drivers built as modules since building all of them in would lead to a very large kernel that would exceed the capabilities of the boot loader. This leads to a "chicken and the egg" problem in which the SCSI drivers are needed to load the root file system and vice versa. The 2 phase load used by the initrd device addresses this problem (see Chapter 6 for more details).