290 lines
5.8 KiB
HTML
290 lines
5.8 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Kernel Configuration</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="The Linux 2.4 SCSI subsystem HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Device Names in scsidev"
|
|
HREF="dnamesscsidev.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Boot Parameters"
|
|
HREF="bparams.html"></HEAD
|
|
><BODY
|
|
CLASS="chapter"
|
|
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"
|
|
>The Linux 2.4 SCSI subsystem HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="dnamesscsidev.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="bparams.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="chapter"
|
|
><H1
|
|
><A
|
|
NAME="kconfig"
|
|
></A
|
|
>Chapter 4. Kernel Configuration</H1
|
|
><P
|
|
> The Linux kernel configuration is usually found in the kernel source in
|
|
the file: <TT
|
|
CLASS="filename"
|
|
>/usr/src/linux/.config</TT
|
|
> . It is not
|
|
recommended to edit this file directly but to use one of these configuration
|
|
options:
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><B
|
|
CLASS="command"
|
|
>make config</B
|
|
> - starts a character based
|
|
questions and answer session</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><B
|
|
CLASS="command"
|
|
>make menuconfig</B
|
|
> - starts a
|
|
terminal-oriented configuration tool (using ncurses)</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><B
|
|
CLASS="command"
|
|
>make xconfig</B
|
|
> - starts a
|
|
X based configuration tool</P
|
|
></LI
|
|
></UL
|
|
>
|
|
</P
|
|
><P
|
|
> The descriptions of these selections that is displayed by the associated
|
|
help button can be found in the flat ASCII file:
|
|
<TT
|
|
CLASS="filename"
|
|
>/usr/src/linux/Documentation/Configure.help</TT
|
|
>
|
|
</P
|
|
><P
|
|
> Ultimately these configuration tools edit the <TT
|
|
CLASS="filename"
|
|
>.config</TT
|
|
>
|
|
file. An option will either indicate some driver is built into the
|
|
kernel ("=y") or will be built as a module ("=m") or is not selected.
|
|
The unselected state can either be indicated by a line starting with
|
|
"#" (e.g. "# CONFIG_SCSI is not set") or by the absence of the relevant
|
|
line from the <TT
|
|
CLASS="filename"
|
|
>.config</TT
|
|
> file.
|
|
</P
|
|
><P
|
|
> The 3 states of the main selection option for the SCSI subsystem (which
|
|
actually selects the SCSI mid level driver) follow. Only one of these
|
|
should appear in an actual <TT
|
|
CLASS="filename"
|
|
>.config</TT
|
|
> file:
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> CONFIG_SCSI=y
|
|
CONFIG_SCSI=m
|
|
# CONFIG_SCSI is not set
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
> Some other common SCSI configuration options are:
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> 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]
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
> If the root file system is on a SCSI disk then it makes sense
|
|
to build into the kernel the SCSI mid level, the sd driver and
|
|
the host adapter driver that the disk is connected to. In most cases
|
|
it is usually safe to build the sr, st and sg drivers as modules so
|
|
that they are loaded as required. If a device like a scanner is on
|
|
a separate adapter then its driver may well be built as a module. In
|
|
this case, that adapter driver will need to be loaded before the
|
|
scanner will be recognized.
|
|
</P
|
|
><P
|
|
> 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 <A
|
|
HREF="modparams.html"
|
|
>Chapter 6</A
|
|
> for more details).
|
|
</P
|
|
></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="dnamesscsidev.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="bparams.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Device Names in scsidev</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Boot Parameters</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |