blob: a1b1ef5a7a9eade08d455879c04231bc659af1d3 [file] [log] [blame]
# Maintained by:
# Eric S. Raymond <mailto:esr@thyrsus.com>
# Steven Cole <mailto:elenstev@mesatop.com>
#
# Merged version 2.69: current with 2.4.17-pre8/2.5.1-pre10.
#
# This version of the Linux kernel configuration help texts
# corresponds to kernel versions 2.4.x and 2.5.x.
#
# Translations of this file available on the WWW:
#
# - Japanese, maintained by the JF Project <mailto:JF@linux.or.jp>, at
# <http://www.linux.or.jp/JF/JFdocs/Configure.help/>
# - Russian, by <mailto:kaf@linux.nevod.perm.su>, at
# <http://nevod.perm.su/service/linux/doc/kernel/Configure.help>
# - French, by Pierre Tane <mailto:tanep@bigfoot.com>, at
# <http://www.traduc.org/kernelfr/>
# - Polish, by Dominik Mierzejewski <mailto:dmierzej@elka.pw.edu.pl>, at
# <http://home.elka.pw.edu.pl/~dmierzej/linux/kernel/>
# - German, by SuSE, at <http://www.suse.de/~ke/kernel/>. This patch
# also includes infrastructure to support different languages.
# - Catalan, by Antoni Bella <mailto:bella5@teleline.es>, at
# <http://www.terra.es/personal7/bella5/traduccions.htm>
#
# To access a document on the WWW, you need to have a direct Internet
# connection and a browser program such as netscape or lynx. If you
# only have email access, you can still use FTP and WWW servers: send
# an email to <mailto:mail-server@rtfm.mit.edu> with the text
# send usenet/news.answers/internet-services/access-via-email
# in the body of the message.
#
# Information about what a kernel is, what it does, how to patch and
# compile it and much more is contained in the Kernel-HOWTO, available
# at <http://www.linuxdoc.org/docs.html#howto>. Before you start
# compiling, make sure that you have the necessary versions of all
# programs and libraries required to compile and run this kernel; they
# are listed in the <file:Documentation/Changes>. Make sure to read the
# toplevel kernel README file as well.
#
# Format of this file: description<nl>variable<nl>help text<nl><nl>.
# The help texts may contain empty lines, but every non-empty line must
# be indented two positions. Order of the help texts does not matter,
# however, no variable should be documented twice: if it is, only the
# first occurrence will be used. We try to keep the help texts of related
# variables close together. Lines starting with `#' are ignored. To be
# nice to menuconfig, limit your line length to 70 characters. Use emacs'
# kfill.el to edit and ispell.el to spell check this file or you lose.
#
# Comments of the form "# Choice:" followed by a menu name are used
# internally by the maintainers' consistency-checking tools.
#
# If you add a help text to this file, please try to be as gentle as
# possible. Don't use unexplained acronyms and generally write for the
# hypothetical ignorant but intelligent user who has just bought a PC,
# removed Windows, installed Linux and is now recompiling the kernel
# for the first time. Tell them what to do if they're unsure. Technical
# information should go in a README in the Documentation directory.
#
# Mention all the relevant READMEs and HOWTOs in the help text.
# Make them file URLs relative to the top level of the source tree so
# that help browsers can turn them into hotlinks. All URLs ahould be
# surrounded by <>.
#
# Repetitions are fine since the help texts are not meant to be read
# in sequence. It is good style to include URLs pointing to more
# detailed technical information, pictures of the hardware, etc.
#
# The most important thing to include in a help entry is *motivation*.
# Explain why someone configuring a kernel might want to select your
# option.
#
# All this was shamelessly stolen from numerous different sources. Many
# thanks to all the contributors. Feel free to use these help texts in
# your own kernel configuration tools. The texts are copyrighted (c)
# 1995-2000 by Axel Boldt and many others and are governed by the GNU
# General Public License.
Prompt for development and/or incomplete code/drivers
CONFIG_EXPERIMENTAL
Some of the various things that Linux supports (such as network
drivers, file systems, network protocols, etc.) can be in a state
of development where the functionality, stability, or the level of
testing is not yet high enough for general use. This is usually
known as the "alpha-test" phase among developers. If a feature is
currently in alpha-test, then the developers usually discourage
uninformed widespread use of this feature by the general public to
avoid "Why doesn't this work?" type mail messages. However, active
testing and use of these systems is welcomed. Just be aware that it
may not meet the normal level of reliability or it may fail to work
in some special cases. Detailed bug reports from people familiar
with the kernel internals are usually welcomed by the developers
(before submitting bug reports, please read the documents
<file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,
<file:Documentation/BUG-HUNTING>, and
<file:Documentation/oops-tracing.txt> in the kernel source).
This option will also make obsoleted drivers available. These are
drivers that have been replaced by something else, and/or are
scheduled to be removed in a future kernel release.
Unless you intend to help test and develop a feature or driver that
falls into this category, or you have a situation that requires
using these features, you should probably say N here, which will
cause the configurator to present you with fewer choices. If
you say Y here, you will be offered the choice of using features or
drivers that are currently considered to be in the alpha-test phase.
Prompt for drivers for obsolete features and hardware
CONFIG_OBSOLETE
Obsolete drivers have usually been replaced by more recent software
that can talk to the same hardware. Obsolete hardware is things
like MGA monitors that you are very unlikely to see on today's
systems.
Symmetric Multi-Processing support
CONFIG_SMP
This enables support for systems with more than one CPU. If you have
a system with only one CPU, like most personal computers, say N. If
you have a system with more than one CPU, say Y.
If you say N here, the kernel will run on single and multiprocessor
machines, but will use only one CPU of a multiprocessor machine. If
you say Y here, the kernel will run on many, but not all,
singleprocessor machines. On a singleprocessor machine, the kernel
will run faster if you say N here.
Note that if you say Y here and choose architecture "586" or
"Pentium" under "Processor family", the kernel will not work on 486
architectures. Similarly, multiprocessor kernels for the "PPro"
architecture may not work on all Pentium based boards.
People using multiprocessor machines who say Y here should also say
Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
Management" code will be disabled if you say Y here.
See also the <file:Documentation/smp.tex>,
<file:Documentation/smp.txt>, <file:Documentation/i386/IO-APIC.txt>,
<file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
<http://www.linuxdoc.org/docs.html#howto>.
If you don't know what to do here, say N.
Intel or compatible 80x86 processor
CONFIG_X86
This is Linux's home port. Linux was originally native to the Intel
386, and runs on all the later x86 processors including the Intel
486, 586, Pentiums, and various instruction-set-compatible chips by
AMD, Cyrix, and others.
Alpha processor
CONFIG_ALPHA
The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory, now
Compaq. Alpha Linux dates from 1995-1996 and was the first non-x86
port. The Alpha Linux project has a home page at
<http://www.alphalinux.org/>.
32-bit Sun Sparc
CONFIG_SPARC32
SPARC is a family of RISC microprocessors designed and marketed by
Sun Microsystems, incorporated. They are very widely found in Sun
workstations and clones. This port covers the original 32-bit SPARC;
it is old and stable and usually considered one of the "big three"
along with the Intel and Alpha ports. The UltraLinux project
maintains both the SPARC32 and SPARC64 ports; its web page is
available at <http://www.ultralinux.org/>.
64-bit Sun Sparc
CONFIG_SPARC64
SPARC is a family of RISC microprocessors designed and marketed by
Sun Microsystems, incorporated. This port covers the newer 64-bit
UltraSPARC. The UltraLinux project maintains both the SPARC32 and
SPARC64 ports; its web page is available at
<http://www.ultralinux.org/>.
Power PC processor
CONFIG_PPC
The PowerPC is a very capable 32-bit RISC processor from Motorola,
the successor to their 68000 and 88000 series. It powers recent
Macintoshes and also a widely-used series of single-board computers
from Motorola. The Linux PowerPC port has a home page at
<http://penguinppc.org/>.
Motorola 68K processors
CONFIG_M68K
The Motorola 68K microprocessors are now obsolete, having been
superseded by the PowerPC line also from Motorola. But they powered
the first wave of workstation hardware in the 1980s, including Sun
workstations; they were also the basis of the original Amiga and
later Atari personal computers. A lot of this hardware is still
around. The m68k project has a home page at
<http://www.linux-m68k.org/>.
ARM processors
CONFIG_ARM
The ARM series is a line of low-power-consumption RISC chip designs
licensed by ARM ltd and targeted at embedded applications and
handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
manufactured, but legacy ARM-based PC hardware remains popular in
Europe. There is an ARM Linux project with a web page at
<http://www.arm.linux.org.uk/>.
SuperH processors
CONFIG_SUPERH
The SuperH is a RISC processor targeted for use in embedded systems
and consumer electronics; it was also used in the Sega Dreamcast
gaming console. The SuperH port has a home page at
<http://www.sh-linux.org/>.
IA64 processors, including Intel Itanium
CONFIG_IA64
The Itanium is Intel's 64-bit successor to the 32-bit X86 line. As
of early 2001 it is not yet in widespread production use. The Linux
IA-64 project has a home page at <http://www.linuxia64.org/>.
HP PA-RISC processor
CONFIG_PARISC
The PA-RISC microprocessor is a RISC chip designed by
Hewlett-Packard and used in their line of workstations. The PA-RISC
Linux project has a home page at <www.parisc-linux.org>.
IBM System/390
CONFIG_S390
Linux now runs on the venerable System/390 mainframe from IBM, in a
guest partition under VM. In fact, over 40,000 simultaneous Linux
images have been run on a single mainframe! The S390 Linux project
has a home page at <http://linux.s390.org/>.
Axis Communications ETRAX 100LX embedded network CPU
CONFIG_CRIS
Linux has been ported to run on the Axis Communications ETRAX 100LX
CPU and the single-board computers built around it, targeted for
network and embedded applications. For more information see the
Axis Communication site, <http://developer.axis.com/>.
Multiquad support for NUMA systems
CONFIG_MULTIQUAD
This option is used for getting Linux to run on a (IBM/Sequent) NUMA
multiquad box. This changes the way that processors are bootstrapped,
and uses Clustered Logical APIC addressing mode instead of Flat Logical.
You will need a new lynxer.elf file to flash your firmware with - send
email to Martin.Bligh@us.ibm.com
IO-APIC support on uniprocessors
CONFIG_X86_UP_IOAPIC
An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
SMP-capable replacement for PC-style interrupt controllers. Most
SMP systems and a small number of uniprocessor systems have one.
If you have a single-CPU system with an IO-APIC, you can say Y here
to use it. If you say Y here even though your machine doesn't have
an IO-APIC, then the kernel will still run with no slowdown at all.
If you have a system with several CPUs, you do not need to say Y
here: the IO-APIC will be used automatically.
Local APIC Support on Uniprocessors
CONFIG_X86_UP_APIC
A local APIC (Advanced Programmable Interrupt Controller) is an
integrated interrupt controller in the CPU. If you have a single-CPU
system which has a processor with a local APIC, you can say Y here to
enable and use it. If you say Y here even though your machine doesn't
have a local APIC, then the kernel will still run with no slowdown at
all. The local APIC supports CPU-generated self-interrupts (timer,
performance counters), and the NMI watchdog which detects hard lockups.
If you have a system with several CPUs, you do not need to say Y
here: the local APIC will be used automatically.
Kernel math emulation
CONFIG_MATH_EMULATION
Linux can emulate a math coprocessor (used for floating point
operations) if you don't have one. 486DX and Pentium processors have
a math coprocessor built in, 486SX and 386 do not, unless you added
a 487DX or 387, respectively. (The messages during boot time can
give you some hints here ["man dmesg"].) Everyone needs either a
coprocessor or this emulation.
If you don't have a math coprocessor, you need to say Y here; if you
say Y here even though you have a coprocessor, the coprocessor will
be used nevertheless. (This behavior can be changed with the kernel
command line option "no387", which comes handy if your coprocessor
is broken. Try "man bootparam" or see the documentation of your boot
loader (lilo or loadlin) about how to pass options to the kernel at
boot time.) This means that it is a good idea to say Y here if you
intend to use this kernel on different machines.
More information about the internals of the Linux math coprocessor
emulation can be found in <file:arch/i386/math-emu/README>.
If you are not sure, say Y; apart from resulting in a 66 KB bigger
kernel, it won't hurt.
Timer and CPU usage LEDs
CONFIG_LEDS
If you say Y here, the LEDs on your machine will be used
to provide useful information about your current system status.
If you are compiling a kernel for a NetWinder or EBSA-285, you will
be able to select which LEDs are active using the options below. If
you are compiling a kernel for the EBSA-110 or the LART however, the
red LED will simply flash regularly to indicate that the system is
still functional. It is safe to say Y here if you have a CATS
system, but the driver will do nothing.
Timer LED
CONFIG_LEDS_TIMER
If you say Y here, one of the system LEDs (the green one on the
NetWinder, the amber one on the EBSA285, or the red one on the LART)
will flash regularly to indicate that the system is still
operational. This is mainly useful to kernel hackers who are
debugging unstable kernels.
The LART uses the same LED for both Timer LED and CPU usage LED
functions. You may choose to use both, but the Timer LED function
will overrule the CPU usage LED.
CPU usage LED
CONFIG_LEDS_CPU
If you say Y here, the red LED will be used to give a good real
time indication of CPU usage, by lighting whenever the idle task
is not currently executing.
The LART uses the same LED for both Timer LED and CPU usage LED
functions. You may choose to use both, but the Timer LED function
will overrule the CPU usage LED.
Kernel FP software completion
CONFIG_MATHEMU
This option is required for IEEE compliant floating point arithmetic
on the Alpha. The only time you would ever not say Y is to say M in
order to debug the code. Say Y unless you know what you are doing.
# Choice: himem
High Memory support
CONFIG_NOHIGHMEM
Linux can use up to 64 Gigabytes of physical memory on x86 systems.
However, the address space of 32-bit x86 processors is only 4
Gigabytes large. That means that, if you have a large amount of
physical memory, not all of it can be "permanently mapped" by the
kernel. The physical memory that's not permanently mapped is called
"high memory".
If you are compiling a kernel which will never run on a machine with
more than 960 megabytes of total physical RAM, answer "off" here (default
choice and suitable for most users). This will result in a "3GB/1GB"
split: 3GB are mapped so that each process sees a 3GB virtual memory
space and the remaining part of the 4GB virtual memory space is used
by the kernel to permanently map as much physical memory as
possible.
If the machine has between 1 and 4 Gigabytes physical RAM, then
answer "4GB" here.
If more than 4 Gigabytes is used then answer "64GB" here. This
selection turns Intel PAE (Physical Address Extension) mode on.
PAE implements 3-level paging on IA32 processors. PAE is fully
supported by Linux, PAE mode is implemented on all recent Intel
processors (Pentium Pro and better). NOTE: If you say "64GB" here,
then the kernel will not boot on CPUs that don't support PAE!
The actual amount of total physical memory will either be auto
detected or can be forced by using a kernel command line option such
as "mem=256M". (Try "man bootparam" or see the documentation of your
boot loader (grub, lilo or loadlin) about how to pass options to the
kernel at boot time.)
If unsure, say "off".
4GB
CONFIG_HIGHMEM4G
Select this if you have a 32-bit processor and between 1 and 4
gigabytes of physical RAM.
64GB
CONFIG_HIGHMEM64G
Select this if you have a 32-bit processor and more than 4
gigabytes of physical RAM.
Normal floppy disk support
CONFIG_BLK_DEV_FD
If you want to use the floppy disk drive(s) of your PC under Linux,
say Y. Information about this driver, especially important for IBM
Thinkpad users, is contained in <file:Documentation/floppy.txt>.
That file also contains the location of the Floppy driver FAQ as
well as location of the fdutils package used to configure additional
parameters of the driver at run time.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called floppy.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
iSeries Virtual I/O Disk Support
CONFIG_VIODASD
If you are running on an iSeries system and you want to use
virtual disks created and managed by OS/400, say Y.
iSeries Virtual I/O Disk IDE Emulation
CONFIG_VIODASD_IDE
This causes the iSeries virtual disks to look like IDE disks.
If you have programs or utilities that only support certain
kinds of disks, this option will cause iSeries virtual disks
to pretend to be IDE disks, which may satisfy the program.
Support for PowerMac floppy
CONFIG_MAC_FLOPPY
If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple)
floppy controller, say Y here. Most commonly found in PowerMacs.
RAM disk support
CONFIG_BLK_DEV_RAM
Saying Y here will allow you to use a portion of your RAM memory as
a block device, so that you can make file systems on it, read and
write to it and do all the other things that you can do with normal
block devices (such as hard drives). It is usually used to load and
store a copy of a minimal root file system off of a floppy into RAM
during the initial install of Linux.
Note that the kernel command line option "ramdisk=XX" is now
obsolete. For details, read <file:Documentation/ramdisk.txt>.
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M and read <file:Documentation/modules.txt>. The module will be
called rd.o.
Most normal users won't need the RAM disk functionality, and can
thus say N here.
Default RAM disk size
CONFIG_BLK_DEV_RAM_SIZE
The default value is 4096. Only change this if you know what are
you doing. If you are using IBM S/390, then set this to 8192.
Initial RAM disk (initrd) support
CONFIG_BLK_DEV_INITRD
The initial RAM disk is a RAM disk that is loaded by the boot loader
(loadlin or lilo) and that is mounted as root before the normal boot
procedure. It is typically used to load modules needed to mount the
"real" root file system, etc. See <file:Documentation/initrd.txt>
for details.
Loopback device support
CONFIG_BLK_DEV_LOOP
Saying Y here will allow you to use a regular file as a block
device; you can then create a file system on that block device and
mount it just as you would mount other block devices such as hard
drive partitions, CD-ROM drives or floppy drives. The loop devices
are block special device files with major number 7 and typically
called /dev/loop0, /dev/loop1 etc.
This is useful if you want to check an ISO 9660 file system before
burning the CD, or if you want to use floppy images without first
writing them to floppy. Furthermore, some Linux distributions avoid
the need for a dedicated Linux partition by keeping their complete
root file system inside a DOS FAT file using this loop device
driver.
The loop device driver can also be used to "hide" a file system in a
disk partition, floppy, or regular file, either using encryption
(scrambling the data) or steganography (hiding the data in the low
bits of, say, a sound file). This is also safe if the file resides
on a remote file server. If you want to do this, you will first have
to acquire and install a kernel patch from
<ftp://ftp.kerneli.org/pub/kerneli/>, and then you need to
say Y to this option.
Note that alternative ways to use encrypted file systems are
provided by the cfs package, which can be gotten from
<ftp://ftp.kerneli.org/pub/kerneli/net-source/>, and the newer tcfs
package, available at <http://tcfs.dia.unisa.it/>. You do not need
to say Y here if you want to use one of these. However, using cfs
requires saying Y to "NFS file system support" below while using
tcfs requires applying a kernel patch. An alternative steganography
solution is provided by StegFS, also available from
<ftp://ftp.kerneli.org/pub/kerneli/net-source/>.
To use the loop device, you need the losetup utility and a recent
version of the mount program, both contained in the util-linux
package. The location and current version number of util-linux is
contained in the file <file:Documentation/Changes>.
Note that this loop device has nothing to do with the loopback
device used for network connections from the machine to itself.
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called loop.o.
Most users will answer N here.
Network block device support
CONFIG_BLK_DEV_NBD
Saying Y here will allow your computer to be a client for network
block devices, i.e. it will be able to use block devices exported by
servers (mount file systems on them etc.). Communication between
client and server works over TCP/IP networking, but to the client
program this is hidden: it looks like a regular local file access to
a block device special file such as /dev/nd0.
Network block devices also allows you to run a block-device in
userland (making server and client physically the same computer,
communicating using the loopback network device).
Read <file:Documentation/nbd.txt> for more information, especially
about where to find the server code, which runs in user space and
does not need special kernel support.
Note that this has nothing to do with the network file systems NFS
or Coda; you can say N here even if you intend to use NFS or Coda.
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called nbd.o.
If unsure, say N.
ATA/IDE/MFM/RLL support
CONFIG_IDE
If you say Y here, your kernel will be able to manage low cost mass
storage units such as ATA/(E)IDE and ATAPI units. The most common
cases are IDE hard drives and ATAPI CD-ROM drives.
If your system is pure SCSI and doesn't use these interfaces, you
can say N here.
Integrated Disk Electronics (IDE aka ATA-1) is a connecting standard
for mass storage units such as hard disks. It was designed by
Western Digital and Compaq Computer in 1984. It was then named
ST506. Quite a number of disks use the IDE interface.
AT Attachment (ATA) is the superset of the IDE specifications.
ST506 was also called ATA-1.
Fast-IDE is ATA-2 (also named Fast ATA), Enhanced IDE (EIDE) is
ATA-3. It provides support for larger disks (up to 8.4GB by means of
the LBA standard), more disks (4 instead of 2) and for other mass
storage units such as tapes and cdrom. UDMA/33 (aka UltraDMA/33) is
ATA-4 and provides faster (and more CPU friendly) transfer modes
than previous PIO (Programmed processor Input/Output) from previous
ATA/IDE standards by means of fast DMA controllers.
ATA Packet Interface (ATAPI) is a protocol used by EIDE tape and
CD-ROM drives, similar in many respects to the SCSI protocol.
SMART IDE (Self Monitoring, Analysis and Reporting Technology) was
designed in order to prevent data corruption and disk crash by
detecting pre hardware failure conditions (heat, access time, and
the like...). Disks built since June 1995 may follow this standard.
The kernel itself don't manage this; however there are quite a
number of user programs such as smart that can query the status of
SMART parameters disk.
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called ide.o.
For further information, please read <file:Documentation/ide.txt>.
If unsure, say Y.
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
CONFIG_BLK_DEV_IDE
If you say Y here, you will use the full-featured IDE driver to
control up to ten ATA/IDE interfaces, each being able to serve a
"master" and a "slave" device, for a total of up to twenty ATA/IDE
disk/cdrom/tape/floppy drives.
Useful information about large (>540 MB) IDE disks, multiple
interfaces, what to do if ATA/IDE devices are not automatically
detected, sound card ATA/IDE ports, module support, and other
topics, is contained in <file:Documentation/ide.txt>. For detailed
information about hard drives, consult the Disk-HOWTO and the
Multi-Disk-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>.
To fine-tune ATA/IDE drive/interface parameters for improved
performance, look for the hdparm package at
<ftp://ibiblio.org/pub/Linux/system/hardware/>.
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt> and
<file:Documentation/ide.txt>. The module will be called ide-mod.o.
Do not compile this driver as a module if your root file system (the
one containing the directory /) is located on an IDE device.
If you have one or more IDE drives, say Y or M here. If your system
has no IDE drives, or if memory requirements are really tight, you
could say N here, and select the "Old hard disk driver" below
instead to save about 13 KB of memory in the kernel.
Old hard disk (MFM/RLL/IDE) driver
CONFIG_BLK_DEV_HD_ONLY
There are two drivers for MFM/RLL/IDE hard disks. Most people use
the newer enhanced driver, but this old one is still around for two
reasons. Some older systems have strange timing problems and seem to
work only with the old driver (which itself does not work with some
newer systems). The other reason is that the old driver is smaller,
since it lacks the enhanced functionality of the new one. This makes
it a good choice for systems with very tight memory restrictions, or
for systems with only older MFM/RLL/ESDI drives. Choosing the old
driver can save 13 KB or so of kernel memory.
If you are unsure, then just choose the Enhanced IDE/MFM/RLL driver
instead of this one. For more detailed information, read the
Disk-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>.
Use old disk-only driver on primary interface
CONFIG_BLK_DEV_HD_IDE
There are two drivers for MFM/RLL/IDE disks. Most people use just
the new enhanced driver by itself. This option however installs the
old hard disk driver to control the primary IDE/disk interface in
the system, leaving the new enhanced IDE driver to take care of only
the 2nd/3rd/4th IDE interfaces. Doing this will prevent you from
having an IDE/ATAPI CD-ROM or tape drive connected to the primary
IDE interface. Choosing this option may be useful for older systems
which have MFM/RLL/ESDI controller+drives at the primary port
address (0x1f0), along with IDE drives at the secondary/3rd/4th port
addresses.
Normally, just say N here; you will then use the new driver for all
4 interfaces.
Include IDE/ATA-2 DISK support
CONFIG_BLK_DEV_IDEDISK
This will include enhanced support for MFM/RLL/IDE hard disks. If
you have a MFM/RLL/IDE disk, and there is no special reason to use
the old hard disk driver instead, say Y. If you have an SCSI-only
system, you can say N here.
If you want to compile this driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called ide-disk.o. Do not compile this driver as a module
if your root file system (the one containing the directory /) is
located on the IDE disk. If unsure, say Y.
Use multi-mode by default
CONFIG_IDEDISK_MULTI_MODE
If you get this error, try to say Y here:
hda: set_multmode: status=0x51 { DriveReady SeekComplete Error }
hda: set_multmode: error=0x04 { DriveStatusError }
If in doubt, say N.
PCMCIA IDE support
CONFIG_BLK_DEV_IDECS
Support for outboard IDE disks, tape drives, and CD-ROM drives
connected through a PCMCIA card.
Include IDE/ATAPI CD-ROM support
CONFIG_BLK_DEV_IDECD
If you have a CD-ROM drive using the ATAPI protocol, say Y. ATAPI is
a newer protocol used by IDE CD-ROM and TAPE drives, similar to the
SCSI protocol. Most new CD-ROM drives use ATAPI, including the
NEC-260, Mitsumi FX400, Sony 55E, and just about all non-SCSI
double(2X) or better speed drives.
If you say Y here, the CD-ROM drive will be identified at boot time
along with other IDE devices, as "hdb" or "hdc", or something
similar (check the boot messages with dmesg). If this is your only
CD-ROM drive, you can say N to all other CD-ROM options, but be sure
to say Y or M to "ISO 9660 CD-ROM file system support".
Note that older versions of LILO (LInux LOader) cannot properly deal
with IDE/ATAPI CD-ROMs, so install LILO 16 or higher, available from
<ftp://brun.dyndns.org/pub/linux/lilo/>.
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called ide-cd.o.
Include IDE/ATAPI TAPE support
CONFIG_BLK_DEV_IDETAPE
If you have an IDE tape drive using the ATAPI protocol, say Y.
ATAPI is a newer protocol used by IDE tape and CD-ROM drives,
similar to the SCSI protocol. If you have an SCSI tape drive
however, you can say N here.
You should also say Y if you have an OnStream DI-30 tape drive; this
will not work with the SCSI protocol, until there is support for the
SC-30 and SC-50 versions.
If you say Y here, the tape drive will be identified at boot time
along with other IDE devices, as "hdb" or "hdc", or something
similar, and will be mapped to a character device such as "ht0"
(check the boot messages with dmesg). Be sure to consult the
<file:drivers/ide/ide-tape.c> and <file:Documentation/ide.txt> files
for usage information.
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called ide-tape.o.
Include IDE/ATAPI FLOPPY support
CONFIG_BLK_DEV_IDEFLOPPY
If you have an IDE floppy drive which uses the ATAPI protocol,
answer Y. ATAPI is a newer protocol used by IDE CD-ROM/tape/floppy
drives, similar to the SCSI protocol.
The LS-120 and the IDE/ATAPI Iomega ZIP drive are also supported by
this driver. For information about jumper settings and the question
of when a ZIP drive uses a partition table, see
<http://www.win.tue.nl/~aeb/linux/zip/zip-1.html>.
(ATAPI PD-CD/CDR drives are not supported by this driver; support
for PD-CD/CDR drives is available if you answer Y to
"SCSI emulation support", below).
If you say Y here, the FLOPPY drive will be identified along with
other IDE devices, as "hdb" or "hdc", or something similar (check
the boot messages with dmesg).
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called ide-floppy.o.
SCSI emulation support
CONFIG_BLK_DEV_IDESCSI
This will provide SCSI host adapter emulation for IDE ATAPI devices,
and will allow you to use a SCSI device driver instead of a native
ATAPI driver.
This is useful if you have an ATAPI device for which no native
driver has been written (for example, an ATAPI PD-CD or CDR drive);
you can then use this emulation together with an appropriate SCSI
device driver. In order to do this, say Y here and to "SCSI support"
and "SCSI generic support", below. You must then provide the kernel
command line "hdx=scsi" (try "man bootparam" or see the
documentation of your boot loader (lilo or loadlin) about how to
pass options to the kernel at boot time) for devices if you want the
native EIDE sub-drivers to skip over the native support, so that
this SCSI emulation can be used instead. This is required for use of
CD-RW's.
Note that this option does NOT allow you to attach SCSI devices to a
box that doesn't have a SCSI host adapter installed.
If both this SCSI emulation and native ATAPI support are compiled
into the kernel, the native support will be used.
ISA-PNP EIDE support
CONFIG_BLK_DEV_ISAPNP
If you have an ISA EIDE card that is PnP (Plug and Play) and
requires setup first before scanning for devices, say Y here.
If unsure, say N.
CMD640 chipset bugfix/support
CONFIG_BLK_DEV_CMD640
The CMD-Technologies CMD640 IDE chip is used on many common 486 and
Pentium motherboards, usually in combination with a "Neptune" or
"SiS" chipset. Unfortunately, it has a number of rather nasty
design flaws that can cause severe data corruption under many common
conditions. Say Y here to include code which tries to automatically
detect and correct the problems under Linux. This option also
enables access to the secondary IDE ports in some CMD640 based
systems.
This driver will work automatically in PCI based systems (most new
systems have PCI slots). But if your system uses VESA local bus
(VLB) instead of PCI, you must also supply a kernel boot parameter
to enable the CMD640 bugfix/support: "ide0=cmd640_vlb". (Try "man
bootparam" or see the documentation of your boot loader about how to
pass options to the kernel.)
The CMD640 chip is also used on add-in cards by Acculogic, and on
the "CSA-6400E PCI to IDE controller" that some people have. For
details, read <file:Documentation/ide.txt>.
CMD640 enhanced support
CONFIG_BLK_DEV_CMD640_ENHANCED
This option includes support for setting/autotuning PIO modes and
prefetch on CMD640 IDE interfaces. For details, read
<file:Documentation/ide.txt>. If you have a CMD640 IDE interface
and your BIOS does not already do this for you, then say Y here.
Otherwise say N.
RZ1000 chipset bugfix/support
CONFIG_BLK_DEV_RZ1000
The PC-Technologies RZ1000 IDE chip is used on many common 486 and
Pentium motherboards, usually along with the "Neptune" chipset.
Unfortunately, it has a rather nasty design flaw that can cause
severe data corruption under many conditions. Say Y here to include
code which automatically detects and corrects the problem under
Linux. This may slow disk throughput by a few percent, but at least
things will operate 100% reliably.
Generic PCI IDE chipset support
CONFIG_BLK_DEV_IDEPCI
Say Y here for PCI systems which use IDE drive(s).
This option helps the IDE driver to automatically detect and
configure all PCI-based IDE interfaces in your system.
Support for sharing PCI IDE interrupts
CONFIG_IDEPCI_SHARE_IRQ
Some ATA/IDE chipsets have hardware support which allows for
sharing a single IRQ with other cards. To enable support for
this in the ATA/IDE driver, say Y here.
It is safe to say Y to this question, in most cases.
If unsure, say N.
Generic PCI bus-master DMA support
CONFIG_BLK_DEV_IDEDMA_PCI
If your PCI system uses IDE drive(s) (as opposed to SCSI, say) and
is capable of bus-master DMA operation (most Pentium PCI systems),
you will want to say Y here to reduce CPU overhead. You can then use
the "hdparm" utility to enable DMA for drives for which it was not
enabled automatically. By default, DMA is not enabled automatically
for these drives, but you can change that by saying Y to the
following question "Use DMA by default when available". You can get
the latest version of the hdparm utility from
<ftp://ibiblio.org/pub/Linux/system/hardware/>.
Read the comments at the beginning of <file:drivers/ide/ide-dma.c>
and the file <file:Documentation/ide.txt> for more information.
It is safe to say Y to this question.
Good-Bad DMA Model-Firmware (WIP)
CONFIG_IDEDMA_NEW_DRIVE_LISTINGS
If you say Y here, the model and firmware revision of your drive
will be compared against a blacklist of buggy drives that claim to
be (U)DMA capable but aren't. This is a blanket on/off test with no
speed limit options.
Straight GNU GCC 2.7.3/2.8.X compilers are known to be safe;
whereas, many versions of EGCS have a problem and miscompile if you
say Y here.
If in doubt, say N.
Attempt to HACK around Chipsets that TIMEOUT (WIP)
CONFIG_BLK_DEV_IDEDMA_TIMEOUT
If you say Y here, this is a NASTY UGLY HACK!
We have to issue an abort and requeue the request DMA engine got
turned off by a goofy ASIC, and we have to clean up the mess, and
here is as good as any. Do it globally for all chipsets.
If in doubt, say N.
Boot off-board chipsets first support
CONFIG_BLK_DEV_OFFBOARD
Normally, IDE controllers built into the motherboard (on-board
controllers) are assigned to ide0 and ide1 while those on add-in PCI
cards (off-board controllers) are relegated to ide2 and ide3.
Answering Y here will allow you to reverse the situation, with
off-board controllers on ide0/1 and on-board controllers on ide2/3.
This can improve the usability of some boot managers such as lilo
when booting from a drive on an off-board controller.
If you say Y here, and you actually want to reverse the device scan
order as explained above, you also need to issue the kernel command
line option "ide=reverse". (Try "man bootparam" or see the
documentation of your boot loader (lilo or loadlin) about how to
pass options to the kernel at boot time.)
Note that, if you do this, the order of the hd* devices will be
rearranged which may require modification of fstab and other files.
If in doubt, say N.
Use PCI DMA by default when available
CONFIG_IDEDMA_PCI_AUTO
Prior to kernel version 2.1.112, Linux used to automatically use
DMA for IDE drives and chipsets which support it. Due to concerns
about a couple of cases where buggy hardware may have caused damage,
the default is now to NOT use DMA automatically. To revert to the
previous behaviour, say Y to this question.
If you suspect your hardware is at all flakey, say N here.
Do NOT email the IDE kernel people regarding this issue!
It is normally safe to answer Y to this question unless your
motherboard uses a VIA VP2 chipset, in which case you should say N.
IGNORE word93 Validation BITS
CONFIG_IDEDMA_IVB
There are unclear terms in ATA-4 and ATA-5 standards how certain
hardware (an 80c ribbon) should be detected. Different interpretations
of the standards have been released in hardware. This causes problems:
for example, a host with Ultra Mode 4 (or higher) will not run
in that mode with an 80c ribbon.
If you are experiencing compatibility or performance problems, you
MAY try to answering Y here. However, it does not necessarily solve
any of your problems, it could even cause more of them.
It is normally safe to answer Y; however, the default is N.
ATA Work(s) In Progress (EXPERIMENTAL)
CONFIG_IDEDMA_PCI_WIP
If you enable this you will be able to use and test highly
developmental projects. If you say N, the configurator will
simply skip those options.
It is SAFEST to say N to this question.
Asyncronious DMA support (EXPERIMENTAL)
CONFIG_BLK_DEV_ADMA
Please read the comments at the top of
<file:drivers/ide/ide-adma.c>.
Pacific Digital A-DMA support (EXPERIMENTAL)
CONFIG_BLK_DEV_PDC_ADMA
Please read the comments at the top of <file:drivers/ide/ide-pci.c>.
3ware Hardware ATA-RAID support
CONFIG_BLK_DEV_3W_XXXX_RAID
3ware is the only hardware ATA-Raid product in Linux to date.
This card is 2,4, or 8 channel master mode support only.
SCSI support required!!!
<http://www.3ware.com/>
Please read the comments at the top of
<file:drivers/scsi/3w-xxxx.c>.
AEC62XX chipset support
CONFIG_BLK_DEV_AEC62XX
This driver adds up to 4 more EIDE devices sharing a single
interrupt. This add-on card is a bootable PCI UDMA controller. In
order to get this card to initialize correctly in some cases, you
should say Y here, and preferably also to "Use DMA by default when
available".
The ATP850U/UF is an UltraDMA 33 chipset base.
The ATP860 is an UltraDMA 66 chipset base.
The ATP860M(acintosh) version is an UltraDMA 66 chipset base.
Please read the comments at the top of <file:drivers/ide/aec62xx.c>.
If you say Y here, then say Y to "Use DMA by default when available"
as well.
AEC62XX Tuning support
CONFIG_AEC62XX_TUNING
Please read the comments at the top of <file:drivers/ide/aec62xx.c>.
If unsure, say N.
ALI M15x3 chipset support
CONFIG_BLK_DEV_ALI15X3
This driver ensures (U)DMA support for ALI 1533, 1543 and 1543C
onboard chipsets. It also tests for Simplex mode and enables
normal dual channel support.
If you say Y here, you also need to say Y to "Use DMA by default
when available", above. Please read the comments at the top of
<file:drivers/ide/alim15x3.c>.
If unsure, say N.
ALI M15x3 WDC support (DANGEROUS)
CONFIG_WDC_ALI15X3
This allows for UltraDMA support for WDC drives that ignore CRC
checking. You are a fool for enabling this option, but there have
been requests. DO NOT COMPLAIN IF YOUR DRIVE HAS FS CORRUPTION, IF
YOU ENABLE THIS! No one will listen, just laugh for ignoring this
SERIOUS WARNING.
Using this option can allow WDC drives to run at ATA-4/5 transfer
rates with only an ATA-2 support structure.
SAY N!
AMD Viper (7401/7409/7411) chipset support
CONFIG_BLK_DEV_AMD74XX
This driver ensures (U)DMA support for the AMD756/760 Viper
chipsets.
If you say Y here, you also need to say Y to "Use DMA by default
when available", above.
Please read the comments at the top of <file:drivers/ide/amd74xx.c>.
If unsure, say N.
AMD Viper ATA-66 Override support (WIP)
CONFIG_AMD74XX_OVERRIDE
This option auto-forces the ata66 flag.
This effect can be also invoked by calling "idex=ata66"
If unsure, say N.
CMD64X chipset support
CONFIG_BLK_DEV_CMD64X
Say Y here if you have an IDE controller which uses any of these
chipsets: CMD643, CMD646, or CMD648.
CY82C693 chipset support
CONFIG_BLK_DEV_CY82C693
This driver adds detection and support for the CY82C693 chipset
used on Digital's PC-Alpha 164SX boards.
If you say Y here, you need to say Y to "Use DMA by default
when available" as well.
Cyrix CS5530 MediaGX chipset support
CONFIG_BLK_DEV_CS5530
Include support for UDMA on the Cyrix MediaGX 5530 chipset. This
will automatically be detected and configured if found.
It is safe to say Y to this question.
People with SCSI-only systems should say N here. If unsure, say Y.
HPT34X chipset support
CONFIG_BLK_DEV_HPT34X
This driver adds up to 4 more EIDE devices sharing a single
interrupt. The HPT343 chipset in its current form is a non-bootable
controller; the HPT345/HPT363 chipset is a bootable (needs BIOS FIX)
PCI UDMA controllers. This driver requires dynamic tuning of the
chipset during the ide-probe at boot time. It is reported to support
DVD II drives, by the manufacturer.
HPT34X AUTODMA support (WIP)
CONFIG_HPT34X_AUTODMA
This is a dangerous thing to attempt currently! Please read the
comments at the top of <file:drivers/ide/hpt34x.c>. If you say Y
here, then say Y to "Use DMA by default when available" as well.
If unsure, say N.
HPT366 chipset support
CONFIG_BLK_DEV_HPT366
HPT366 is an Ultra DMA chipset for ATA-66.
HPT368 is an Ultra DMA chipset for ATA-66 RAID Based.
HPT370 is an Ultra DMA chipset for ATA-100.
This driver adds up to 4 more EIDE devices sharing a single
interrupt.
The HPT366 chipset in its current form is bootable. One solution
for this problem are special LILO commands for redirecting the
reference to device 0x80. The other solution is to say Y to "Boot
off-board chipsets first support" (CONFIG_BLK_DEV_OFFBOARD) unless
your mother board has the chipset natively mounted. Regardless one
should use the fore mentioned option and call at LILO or include
"ide=reverse" in LILO's append-line.
This driver requires dynamic tuning of the chipset during the
ide-probe at boot. It is reported to support DVD II drives, by the
manufacturer.
NS87415 chipset support (EXPERIMENTAL)
CONFIG_BLK_DEV_NS87415
This driver adds detection and support for the NS87415 chip
(used in SPARC64, among others).
Please read the comments at the top of <file:drivers/ide/ns87415.c>.
OPTi 82C621 chipset enhanced support (EXPERIMENTAL)
CONFIG_BLK_DEV_OPTI621
This is a driver for the OPTi 82C621 EIDE controller.
Please read the comments at the top of <file:drivers/ide/opti621.c>.
ServerWorks OSB4/CSB5 chipset support
CONFIG_BLK_DEV_SVWKS
This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
chipsets.
Intel PIIXn chipsets support
CONFIG_BLK_DEV_PIIX
This driver adds PIO mode setting and tuning for all PIIX IDE
controllers by Intel. Since the BIOS can sometimes improperly tune
PIO 0-4 mode settings, this allows dynamic tuning of the chipset
via the standard end-user tool 'hdparm'.
Please read the comments at the top of <file:drivers/ide/piix.c>.
If you say Y here, you should also say Y to "PIIXn Tuning support",
below.
If unsure, say N.
PIIXn Tuning support
CONFIG_PIIX_TUNING
This driver extension adds DMA mode setting and tuning for all PIIX
IDE controllers by Intel. Since the BIOS can sometimes improperly
set up the device/adapter combination and speed limits, it has
become a necessity to back/forward speed devices as needed.
Case 430HX/440FX PIIX3 need speed limits to reduce UDMA to DMA mode
2 if the BIOS can not perform this task at initialization.
If unsure, say N.
PROMISE PDC20246/PDC20262/PDC20265/PDC20267/PDC20268 support
CONFIG_BLK_DEV_PDC202XX
Promise Ultra33 or PDC20246
Promise Ultra66 or PDC20262
Promise Ultra100 or PDC20265/PDC20267/PDC20268
This driver adds up to 4 more EIDE devices sharing a single
interrupt. This add-on card is a bootable PCI UDMA controller. Since
multiple cards can be installed and there are BIOS ROM problems that
happen if the BIOS revisions of all installed cards (three-max) do
not match, the driver attempts to do dynamic tuning of the chipset
at boot-time for max-speed. Ultra33 BIOS 1.25 or newer is required
for more than one card. This card may require that you say Y to
"Special UDMA Feature".
If you say Y here, you need to say Y to "Use DMA by default when
available" as well.
Please read the comments at the top of
<file:drivers/ide/pdc202xx.c>.
If unsure, say N.
Special UDMA Feature
CONFIG_PDC202XX_BURST
This option causes the pdc202xx driver to enable UDMA modes on the
PDC202xx even when the PDC202xx BIOS has not done so.
It was originally designed for the PDC20246/Ultra33, whose BIOS will
only setup UDMA on the first two PDC20246 cards. It has also been
used succesfully on a PDC20265/Ultra100, allowing use of UDMA modes
when the PDC20265 BIOS has been disabled (for faster boot up).
Please read the comments at the top of
<file:drivers/ide/pdc202xx.c>.
If unsure, say N.
Special FastTrak Feature
CONFIG_PDC202XX_FORCE
For FastTrak enable overriding BIOS.
SiS5513 chipset support
CONFIG_BLK_DEV_SIS5513
This driver ensures (U)DMA support for SIS5513 chipset based
mainboards. SiS620/530 UDMA mode 4, SiS5600/5597 UDMA mode 2, all
other DMA mode 2 limited chipsets are unsupported to date.
If you say Y here, you need to say Y to "Use DMA by default when
available" as well.
Please read the comments at the top of <file:drivers/ide/sis5513.c>.
SLC90E66 chipset support
CONFIG_BLK_DEV_SLC90E66
This driver ensures (U)DMA support for Victroy66 SouthBridges for
SMsC with Intel NorthBridges. This is an Ultra66 based chipset.
The nice thing about it is that you can mix Ultra/DMA/PIO devices
and it will handle timing cycles. Since this is an improved
look-a-like to the PIIX4 it should be a nice addition.
If you say Y here, you need to say Y to "Use DMA by default when
available" as well.
Please read the comments at the top of
<file:drivers/ide/slc90e66.c>.
Winbond SL82c105 support
CONFIG_BLK_DEV_SL82C105
If you have a Winbond SL82c105 IDE controller, say Y here to enable
special configuration for this chip. This is common on various CHRP
motherboards, but could be used elsewhere. If in doubt, say Y.
Tekram TRM290 chipset support
CONFIG_BLK_DEV_TRM290
This driver adds support for bus master DMA transfers
using the Tekram TRM290 PCI IDE chip. Volunteers are
needed for further tweaking and development.
Please read the comments at the top of <file:drivers/ide/trm290.c>.
VIA82CXXX chipset support
CONFIG_BLK_DEV_VIA82CXXX
This allows you to configure your chipset for a better use while
running PIO/(U)DMA, it will allow you to enable efficiently the
second channel dma usage, as it may not be set by BIOS. It will try
to set fifo configuration at its best. It will allow you to get
information from /proc/ide/via provided you enabled "/proc file
system" support.
Please read the comments at the top of
<file:drivers/ide/via82cxxx.c>.
If you say Y here, then say Y to "Use DMA by default when available"
as well.
If unsure, say N.
RapIDE interface support
CONFIG_BLK_DEV_IDE_RAPIDE
Say Y here if you want to support the Yellowstone RapIDE controller
manufactured for use with Acorn computers.
Other IDE chipset support
CONFIG_IDE_CHIPSETS
Say Y here if you want to include enhanced support for various IDE
interface chipsets used on motherboards and add-on cards. You can
then pick your particular IDE chip from among the following options.
This enhanced support may be necessary for Linux to be able to
access the 3rd/4th drives in some systems. It may also enable
setting of higher speed I/O rates to improve system performance with
these chipsets. Most of these also require special kernel boot
parameters to actually turn on the support at runtime; you can find
a list of these in the file <file:Documentation/ide.txt>.
People with SCSI-only systems can say N here.
Generic 4 drives/port support
CONFIG_BLK_DEV_4DRIVES
Certain older chipsets, including the Tekram 690CD, use a single set
of I/O ports at 0x1f0 to control up to four drives, instead of the
customary two drives per port. Support for this can be enabled at
runtime using the "ide0=four" kernel boot parameter if you say Y
here.
ALI M14xx support
CONFIG_BLK_DEV_ALI14XX
This driver is enabled at runtime using the "ide0=ali14xx" kernel
boot parameter. It enables support for the secondary IDE interface
of the ALI M1439/1443/1445/1487/1489 chipsets, and permits faster
I/O speeds to be set as well. See the files
<file:Documentation/ide.txt> and <file:drivers/ide/ali14xx.c> for
more info.
DTC-2278 support
CONFIG_BLK_DEV_DTC2278
This driver is enabled at runtime using the "ide0=dtc2278" kernel
boot parameter. It enables support for the secondary IDE interface
of the DTC-2278 card, and permits faster I/O speeds to be set as
well. See the <file:Documentation/ide.txt> and
<file:drivers/ide/dtc2278.c> files for more info.
Holtek HT6560B support
CONFIG_BLK_DEV_HT6560B
This driver is enabled at runtime using the "ide0=ht6560b" kernel
boot parameter. It enables support for the secondary IDE interface
of the Holtek card, and permits faster I/O speeds to be set as well.
See the <file:Documentation/ide.txt> and
<file:drivers/ide/ht6560b.c> files for more info.
PROMISE DC4030 support (EXPERIMENTAL)
CONFIG_BLK_DEV_PDC4030
This driver provides support for the secondary IDE interface and
cache of Promise IDE chipsets, e.g. DC4030 and DC5030. This driver
is known to incur timeouts/retries during heavy I/O to drives
attached to the secondary interface. CD-ROM and TAPE devices are
not supported yet. This driver is enabled at runtime using the
"ide0=dc4030" kernel boot parameter. See the
<file:Documentation/ide.txt> and <file:drivers/ide/pdc4030.c> files
for more info.
QDI QD65XX support
CONFIG_BLK_DEV_QD65XX
This driver is enabled at runtime using the "ide0=qd65xx" kernel
boot parameter. It permits faster I/O speeds to be set. See the
<file:Documentation/ide.txt> and <file:drivers/ide/qd65xx.c> for
more info.
UMC 8672 support
CONFIG_BLK_DEV_UMC8672
This driver is enabled at runtime using the "ide0=umc8672" kernel
boot parameter. It enables support for the secondary IDE interface
of the UMC-8672, and permits faster I/O speeds to be set as well.
See the files <file:Documentation/ide.txt> and
<file:drivers/ide/umc8672.c> for more info.
Amiga Gayle IDE interface support
CONFIG_BLK_DEV_GAYLE
This is the IDE driver for the builtin IDE interface on some Amiga
models. It supports both the `A1200 style' (used in A600 and A1200)
and `A4000 style' (used in A4000 and A4000T) of the Gayle IDE
interface. Say Y if you have such an Amiga model and want to use IDE
devices (hard disks, CD-ROM drives, etc.) that are connected to the
builtin IDE interface.
Falcon IDE interface support
CONFIG_BLK_DEV_FALCON_IDE
This is the IDE driver for the builtin IDE interface on the Atari
Falcon. Say Y if you have a Falcon and want to use IDE devices (hard
disks, CD-ROM drives, etc.) that are connected to the builtin IDE
interface.
Amiga Buddha/Catweasel/X-Surf IDE interface support (EXPERIMENTAL)
CONFIG_BLK_DEV_BUDDHA
This is the IDE driver for the IDE interfaces on the Buddha,
Catweasel and X-Surf expansion boards. It supports up to two interfaces
on the Buddha, three on the Catweasel and two on the X-Surf.
Say Y if you have a Buddha or Catweasel expansion board and want to
use IDE devices (hard disks, CD-ROM drives, etc.) that are connected
to one of its IDE interfaces.
Amiga IDE Doubler support (EXPERIMENTAL)
CONFIG_BLK_DEV_IDEDOUBLER
This driver provides support for the so-called `IDE doublers' (made
by various manufacturers, e.g. Eyetech) that can be connected to the
builtin IDE interface of some Amiga models. Using such an IDE
doubler, you can connect up to four instead of two IDE devices on
the Amiga's builtin IDE interface.
Note that the normal Amiga Gayle IDE driver may not work correctly
if you have an IDE doubler and don't enable this driver!
Say Y if you have an IDE doubler. The driver is enabled at kernel
runtime using the "ide=doubler" kernel boot parameter.
WarpEngine SCSI support
CONFIG_WARPENGINE_SCSI
Support for MacroSystem Development's WarpEngine Amiga SCSI-2
controller. Info at
<http://www.lysator.liu.se/amiga/ar/guide/ar310.guide?FEATURE5>.
Builtin PowerMac IDE support
CONFIG_BLK_DEV_IDE_PMAC
This driver provides support for the built-in IDE controller on
most of the recent Apple Power Macintoshes and PowerBooks.
If unsure, say Y.
PowerMac IDE DMA support
CONFIG_BLK_DEV_IDEDMA_PMAC
This option allows the driver for the built-in IDE controller on
Power Macintoshes and PowerBooks to use DMA (direct memory access)
to transfer data to and from memory. Saying Y is safe and improves
performance.
Use DMA by default
CONFIG_BLK_DEV_IDEDMA_PMAC_AUTO
This option allows the driver for the built-in IDE controller on
Power Macintoshes and PowerBooks to use DMA automatically, without
it having to be explicitly enabled. This option is provided because
of concerns about a couple of cases where using DMA on buggy PC
hardware may have caused damage. Saying Y should be safe on all
Apple machines.
Macintosh Quadra/Powerbook IDE interface support
CONFIG_BLK_DEV_MAC_IDE
This is the IDE driver for the builtin IDE interface on some m68k
Macintosh models. It supports both the `Quadra style' (used in
Quadra/ Centris 630 and Performa 588 models) and `Powerbook style'
(used in the Powerbook 150 and 190 models) IDE interface.
Say Y if you have such an Macintosh model and want to use IDE
devices (hard disks, CD-ROM drives, etc.) that are connected to the
builtin IDE interface.
ICS IDE interface support
CONFIG_BLK_DEV_IDE_ICSIDE
On Acorn systems, say Y here if you wish to use the ICS IDE
interface card. This is not required for ICS partition support.
If you are unsure, say N to this.
ICS DMA support
CONFIG_BLK_DEV_IDEDMA_ICS
Say Y here if you want to add DMA (Direct Memory Access) support to
the ICS IDE driver.
Use ICS DMA by default
CONFIG_IDEDMA_ICS_AUTO
Prior to kernel version 2.1.112, Linux used to automatically use
DMA for IDE drives and chipsets which support it. Due to concerns
about a couple of cases where buggy hardware may have caused damage,
the default is now to NOT use DMA automatically. To revert to the
previous behaviour, say Y to this question.
If you suspect your hardware is at all flakey, say N here.
Do NOT email the IDE kernel people regarding this issue!
XT hard disk support
CONFIG_BLK_DEV_XD
Very old 8 bit hard disk controllers used in the IBM XT computer
will be supported if you say Y here.
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called xd.o.
It's pretty unlikely that you have one of these: say N.
PS/2 ESDI hard disk support
CONFIG_BLK_DEV_PS2
Say Y here if you have a PS/2 machine with a MCA bus and an ESDI
hard disk.
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called ps2esdi.o.
Mylex DAC960/DAC1100 PCI RAID Controller support
CONFIG_BLK_DEV_DAC960
This driver adds support for the Mylex DAC960, AcceleRAID, and
eXtremeRAID PCI RAID controllers. See the file
<file:Documentation/README.DAC960> for further information about
this driver.
If you want to compile the driver as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called DAC960.o.
Parallel port IDE device support
CONFIG_PARIDE
There are many external CD-ROM and disk devices that connect through
your computer's parallel port. Most of them are actually IDE devices
using a parallel port IDE adapter. This option enables the PARIDE
subsystem which contains drivers for many of these external drives.
Read <file:Documentation/paride.txt> for more information.
If you have said Y to the "Parallel-port support" configuration
option, you may share a single port between your printer and other
parallel port devices. Answer Y to build PARIDE support into your
kernel, or M if you would like to build it as a loadable module. If
your parallel port support is in a loadable module, you must build
PARIDE as a module. If you built PARIDE support into your kernel,
you may still build the individual protocol modules and high-level
drivers as loadable modules. If you build this support as a module,
it will be called paride.o.
To use the PARIDE support, you must say Y or M here and also to at
least one high-level driver (e.g. "Parallel port IDE disks",
"Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and
to at least one protocol driver (e.g. "ATEN EH-100 protocol",
"MicroSolutions backpack protocol", "DataStor Commuter protocol"
etc.).
Parallel port IDE disks
CONFIG_PARIDE_PD
This option enables the high-level driver for IDE-type disk devices
connected through a parallel port. If you chose to build PARIDE
support into your kernel, you may answer Y here to build in the
parallel port IDE driver, otherwise you should answer M to build
it as a loadable module. The module will be called pd.o. You
must also have at least one parallel port protocol driver in your
system. Among the devices supported by this driver are the SyQuest
EZ-135, EZ-230 and SparQ drives, the Avatar Shark and the backpack
hard drives from MicroSolutions.
Parallel port ATAPI CD-ROMs
CONFIG_PARIDE_PCD
This option enables the high-level driver for ATAPI CD-ROM devices
connected through a parallel port. If you chose to build PARIDE
support into your kernel, you may answer Y here to build in the
parallel port ATAPI CD-ROM driver, otherwise you should answer M to
build it as a loadable module. The module will be called pcd.o. You
must also have at least one parallel port protocol driver in your
system. Among the devices supported by this driver are the
MicroSolutions backpack CD-ROM drives and the Freecom Power CD. If
you have such a CD-ROM drive, you should also say Y or M to "ISO
9660 CD-ROM file system support" below, because that's the file
system used on CD-ROMs.
Parallel port ATAPI disks
CONFIG_PARIDE_PF
This option enables the high-level driver for ATAPI disk devices
connected through a parallel port. If you chose to build PARIDE
support into your kernel, you may answer Y here to build in the
parallel port ATAPI disk driver, otherwise you should answer M
to build it as a loadable module. The module will be called pf.o.
You must also have at least one parallel port protocol driver in
your system. Among the devices supported by this driver are the
MicroSolutions backpack PD/CD drive and the Imation Superdisk
LS-120 drive.
Parallel port ATAPI tapes
CONFIG_PARIDE_PT
This option enables the high-level driver for ATAPI tape devices
connected through a parallel port. If you chose to build PARIDE
support into your kernel, you may answer Y here to build in the
parallel port ATAPI disk driver, otherwise you should answer M
to build it as a loadable module. The module will be called pt.o.
You must also have at least one parallel port protocol driver in
your system. Among the devices supported by this driver is the
parallel port version of the HP 5GB drive.
Parallel port generic ATAPI devices
CONFIG_PARIDE_PG
This option enables a special high-level driver for generic ATAPI
devices connected through a parallel port. The driver allows user
programs, such as cdrtools, to send ATAPI commands directly to a
device.
If you chose to build PARIDE support into your kernel, you may
answer Y here to build in the parallel port generic ATAPI driver,
otherwise you should answer M to build it as a loadable module. The
module will be called pg.o.
You must also have at least one parallel port protocol driver in
your system.
This driver implements an API loosely related to the generic SCSI
driver. See <file:include/linux/pg.h>. for details.
You can obtain the most recent version of cdrtools from
<ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/>. Versions 1.6.1a3 and
later fully support this driver.
ATEN EH-100 protocol
CONFIG_PARIDE_ATEN
This option enables support for the ATEN EH-100 parallel port IDE
protocol. This protocol is used in some inexpensive low performance
parallel port kits made in Hong Kong. If you chose to build PARIDE
support into your kernel, you may answer Y here to build in the
protocol driver, otherwise you should answer M to build it as a
loadable module. The module will be called aten.o. You must also
have a high-level driver for the type of device that you want to
support.
Micro Solutions BACKPACK Series 5 protocol
CONFIG_PARIDE_BPCK
This option enables support for the Micro Solutions BACKPACK
parallel port Series 5 IDE protocol. (Most BACKPACK drives made
before 1999 were Series 5) Series 5 drives will NOT always have the
Series noted on the bottom of the drive. Series 6 drivers will.
In other words, if your BACKPACK drive dosen't say "Series 6" on the
bottom, enable this option.
If you chose to build PARIDE support into your kernel, you may
answer Y here to build in the protocol driver, otherwise you should
answer M to build it as a loadable module. The module will be
called bpck.o. You must also have a high-level driver for the type
of device that you want to support.
Micro Solutions BACKPACK Series 6 protocol
CONFIG_PARIDE_BPCK6
This option enables support for the Micro Solutions BACKPACK
parallel port Series 6 IDE protocol. (Most BACKPACK drives made
after 1999 were Series 6) Series 6 drives will have the Series noted
on the bottom of the drive. Series 5 drivers don't always have it
noted.
In other words, if your BACKPACK drive says "Series 6" on the
bottom, enable this option.
If you chose to build PARIDE support into your kernel, you may
answer Y here to build in the protocol driver, otherwise you should
answer M to build it as a loadable module. The module will be
called bpck6.o. You must also have a high-level driver for the type
of device that you want to support.
DataStor Commuter protocol
CONFIG_PARIDE_COMM
This option enables support for the Commuter parallel port IDE
protocol from DataStor. If you chose to build PARIDE support
into your kernel, you may answer Y here to build in the protocol
driver, otherwise you should answer M to build it as a loadable
module. The module will be called comm.o. You must also have
a high-level driver for the type of device that you want to support.
DataStor EP-2000 protocol
CONFIG_PARIDE_DSTR
This option enables support for the EP-2000 parallel port IDE
protocol from DataStor. If you chose to build PARIDE support
into your kernel, you may answer Y here to build in the protocol
driver, otherwise you should answer M to build it as a loadable
module. The module will be called dstr.o. You must also have
a high-level driver for the type of device that you want to support.
Shuttle EPAT/EPEZ protocol
CONFIG_PARIDE_EPAT
This option enables support for the EPAT parallel port IDE protocol.
EPAT is a parallel port IDE adapter manufactured by Shuttle
Technology and widely used in devices from major vendors such as
Hewlett-Packard, SyQuest, Imation and Avatar. If you chose to build
PARIDE support into your kernel, you may answer Y here to build in
the protocol driver, otherwise you should answer M to build it as a
loadable module. The module will be called epat.o. You must also
have a high-level driver for the type of device that you want to
support.
Shuttle EPAT c7/c8 extension
CONFIG_PARIDE_EPATC8
This option enables support for the newer Shuttle EP1284 (aka c7 and
c8) chip. You need this if you are using any recent Imation SuperDisk
(LS-120) drive.
Shuttle EPIA protocol
CONFIG_PARIDE_EPIA
This option enables support for the (obsolete) EPIA parallel port
IDE protocol from Shuttle Technology. This adapter can still be
found in some no-name kits. If you chose to build PARIDE support
into your kernel, you may answer Y here to build in the protocol
driver, otherwise you should answer M to build it as a loadable
module. The module will be called epia.o. You must also have a
high-level driver for the type of device that you want to support.
FIT TD-2000 protocol
CONFIG_PARIDE_FIT2
This option enables support for the TD-2000 parallel port IDE
protocol from Fidelity International Technology. This is a simple
(low speed) adapter that is used in some portable hard drives. If
you chose to build PARIDE support into your kernel, you may answer Y
here to build in the protocol driver, otherwise you should answer M
to build it as a loadable module. The module will be called fit2.o.
You must also have a high-level driver for the type of device that
you want to support.
FIT TD-3000 protocol
CONFIG_PARIDE_FIT3
This option enables support for the TD-3000 parallel port IDE
protocol from Fidelity International Technology. This protocol is
used in newer models of their portable disk, CD-ROM and PD/CD
devices. If you chose to build PARIDE support into your kernel, you
may answer Y here to build in the protocol driver, otherwise you
should answer M to build it as a loadable module. The module will be
called fit3.o. You must also have a high-level driver for the type
of device that you want to support.
Freecom IQ ASIC-2 protocol
CONFIG_PARIDE_FRIQ
This option enables support for version 2 of the Freecom IQ parallel
port IDE adapter. This adapter is used by the Maxell Superdisk
drive. If you chose to build PARIDE support into your kernel, you
may answer Y here to build in the protocol driver, otherwise you
should answer M to build it as a loadable module. The module will be
called friq.o. You must also have a high-level driver for the type
of device that you want to support.
FreeCom power protocol
CONFIG_PARIDE_FRPW
This option enables support for the Freecom power parallel port IDE
protocol. If you chose to build PARIDE support into your kernel, you
may answer Y here to build in the protocol driver, otherwise you
should answer M to build it as a loadable module. The module will be
called frpw.o. You must also have a high-level driver for the type
of device that you want to support.
KingByte KBIC-951A/971A protocols
CONFIG_PARIDE_KBIC
This option enables support for the KBIC-951A and KBIC-971A parallel
port IDE protocols from KingByte Information Corp. KingByte's
adapters appear in many no-name portable disk and CD-ROM products,
especially in Europe. If you chose to build PARIDE support into your
kernel, you may answer Y here to build in the protocol driver,
otherwise you should answer M to build it as a loadable module. The
module will be called kbic.o. You must also have a high-level driver
for the type of device that you want to support.
KT PHd protocol
CONFIG_PARIDE_KTTI
This option enables support for the "PHd" parallel port IDE protocol
from KT Technology. This is a simple (low speed) adapter that is
used in some 2.5" portable hard drives. If you chose to build PARIDE
support into your kernel, you may answer Y here to build in the
protocol driver, otherwise you should answer M to build it as a
loadable module. The module will be called ktti.o. You must also
have a high-level driver for the type of device that you want to
support.
OnSpec 90c20 protocol
CONFIG_PARIDE_ON20
This option enables support for the (obsolete) 90c20 parallel port
IDE protocol from OnSpec (often marketed under the ValuStore brand
name). If you chose to build PARIDE support into your kernel, you
may answer Y here to build in the protocol driver, otherwise you
should answer M to build it as a loadable module. The module will
be called on20.o. You must also have a high-level driver for the
type of device that you want to support.
OnSpec 90c26 protocol
CONFIG_PARIDE_ON26
This option enables support for the 90c26 parallel port IDE protocol
from OnSpec Electronics (often marketed under the ValuStore brand
name). If you chose to build PARIDE support into your kernel, you
may answer Y here to build in the protocol driver, otherwise you
should answer M to build it as a loadable module. The module will be
called on26.o. You must also have a high-level driver for the type
of device that you want to support.
Logical Volume Manager (LVM) support
CONFIG_BLK_DEV_LVM
This driver lets you combine several hard disks, hard disk
partitions, multiple devices or even loop devices (for evaluation
purposes) into a volume group. Imagine a volume group as a kind of
virtual disk. Logical volumes, which can be thought of as virtual
partitions, can be created in the volume group. You can resize
volume groups and logical volumes after creation time, corresponding
to new capacity needs. Logical volumes are accessed as block
devices named /dev/VolumeGroupName/LogicalVolumeName.
For details see <file:Documentation/LVM-HOWTO>. You will need
supporting user space software; location is in
<file:Documentation/Changes>.
If you want to compile this support as a module ( = code which can
be inserted in and removed from the running kernel whenever you
want), say M here and read <file:Documentation/modules.txt>. The
module will be called lvm-mod.o.
Multiple devices driver support (RAID and LVM)
CONFIG_MD
Support multiple physical spindles through a single logical device.
Required for RAID and logical volume management (LVM).
Multiple devices driver support
CONFIG_BLK_DEV_MD
This driver lets you combine several hard disk partitions into one
logical block device. This can be used to simply append one
partition to another one or to combine several redundant hard disks
into a RAID1/4/5 device so as to provide protection against hard
disk failures. This is called "Software RAID" since the combining of
the partitions is done by the kernel. "Hardware RAID" means that the
combining is done by a dedicated controller; if you have such a
controller, you do not need to say Y here.
More information about Software RAID on Linux is contained in the
Software RAID mini-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>. There you will also learn
where to get the supporting user space utilities raidtools.
If unsure, say N.
Linear (append) mode
CONFIG_MD_LINEAR
If you say Y here, then your multiple devices driver will be able to
use the so-called linear mode, i.e. it will combine the hard disk
partitions by simply appending one to the other.
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called linear.o.
If unsure, say Y.
RAID-0 (striping) mode
CONFIG_MD_RAID0
If you say Y here, then your multiple devices driver will be able to
use the so-called raid0 mode, i.e. it will combine the hard disk
partitions into one logical device in such a fashion as to fill them
up evenly, one chunk here and one chunk there. This will increase
the throughput rate if the partitions reside on distinct disks.
Information about Software RAID on Linux is contained in the
Software-RAID mini-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>. There you will also
learn where to get the supporting user space utilities raidtools.
If you want to compile this as a module ( = code which can be
inserted in and removed from the running kernel whenever you want),
say M here and read <file:Documentation/modules.txt>. The module
will be called raid0.o.
If unsure, say Y.
RAID-1 (mirroring) mode
CONFIG_MD_RAID1
A RAID-1 set consists of several disk drives which are exact copies
of each other. In the event of a mirror failure, the RAID driver
will continue to use the operational mirrors in the set, providing
an error free MD (multiple device) to the higher levels of the
kernel. In a set with N drives, the available space is the capacity
of a single drive, and the set protects against a failure of (N - 1)
drives.
Information about Software RAID on Linux is contained in the
Software-RAID mini-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>. There you will also
learn where to get the supporting user space utilities raidtools.
If you want to use such a RAID-1 set, say Y. This code is also
available as a module called raid1.o ( = code which can be inserted
in and removed from the running kernel whenever you want). If you
want to compile it as a module, say M here and read
<file:Documentation/modules.txt>.
If unsure, say Y.
RAID-4/RAID-5 mode
CONFIG_MD_RAID5
A RAID-5 set of N drives with a capacity of C MB per drive provides
the capacity of C * (N - 1) MB, and protects against a failure
of a single drive. For a given sector (row) number, (N - 1) drives
contain data sectors, and one drive contains the parity protection.
For a RAID-4 set, the parity blocks are present on a single drive,
while a RAID-5 set distributes the parity across the drives in one
of the available parity distribution methods.
Information about Software RAID on Linux is contained in the
Software-RAID mini-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>. There you will also
learn where to get the supporting user space utilities raidtools.
If you want to use such a RAID-4/RAID-5 set, say Y. This code is
also available as a module called raid5.o ( = code which can be
inserted in and removed from the running kernel whenever you want).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>.
If unsure, say Y.
Multipath I/O support
CONFIG_MD_MULTIPATH
Multipath-IO is the ability of certain devices to address the same
physical disk over multiple 'IO paths'. The code ensures that such
paths can be defined and handled at runtime, and ensures that a
transparent failover to the backup path(s) happens if a IO errors
arrives on the primary path.
If unsure, say N.
Support for IDE Raid controllers
CONFIG_BLK_DEV_ATARAID
Say Y or M if you have an IDE Raid controller and want linux
to use its softwareraid feature. You must also select an
appropriate for your board low-level driver below.
Note, that Linux does not use the Raid implemetation in BIOS, and
the main purpose for this feature is to retain compatibility and
data integrity with other OS-es, using the same disk array. Linux
has its own Raid drivers, which you should use if you need better
performance.
Support Promise software RAID (Fasttrak(tm))
CONFIG_BLK_DEV_ATARAID_PDC
Say Y or M if you have a Promise Fasttrak (tm) Raid controller
and want linux to use the softwareraid feature of this card.
This driver uses /dev/ataraid/dXpY (X and Y numbers) as device
names.
If you choose to compile this as a module, the module will be called
pdcraid.o.
Highpoint 370 software RAID
CONFIG_BLK_DEV_ATARAID_HPT
Say Y or M if you have a Highpoint HPT 370 Raid controller
and want linux to use the softwareraid feature of this card.
This driver uses /dev/ataraid/dXpY (X and Y numbers) as device
names.
If you choose to compile this as a module, the module will be called
hptraid.o.
Support for Acer PICA 1 chipset
CONFIG_ACER_PICA_61
This is a machine with a R4400 133/150 MHz CPU. To compile a Linux
kernel that runs on these, say Y here. For details about Linux on
the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
<http://oss.sgi.com/mips/>.
Support for Algorithmics P4032 (EXPERIMENTAL)
CONFIG_ALGOR_P4032
This is an evaluation board of the British company Algorithmics.
The board uses the R4300 and a R5230 CPUs. For more information
about this board see <http://www.algor.co.uk/>.
Support for BAGET MIPS series
CONFIG_BAGET_MIPS
This enables support for the Baget, a Russian embedded system. For
more details about the Baget see the Linux/MIPS FAQ on
<http://oss.sgi.com/mips/>.
Baget AMD LANCE support
CONFIG_BAGETLANCE
Say Y to enable kernel support for AMD Lance Ethernet cards on the
MIPS-32-based Baget embedded system. This chipset is better known
via the NE2100 cards.
Support for DECstations
CONFIG_DECSTATION
This enables support for DEC's MIPS based workstations. For details
see the Linux/MIPS FAQ on <http://oss.sgi.com/mips/> and the
DECstation porting pages on <http://decstation.unix-ag.org/>.
If you have one of the following DECstation Models you definitely
want to choose R4xx0 for the CPU Type:
DECstation 5000/50
DECstation 5000/150
DECstation 5000/260
DECsystem 5900/260
otherwise choose R3000.
Support for Cobalt Micro Server
CONFIG_COBALT_MICRO_SERVER
Support for MIPS-based Cobalt boxes (they have been bought by Sun
and are now the "Server Appliance Business Unit") including the 2700
series -- versions 1 of the Qube and Raq. To compile a Linux kernel
for this hardware, say Y here.
Support for Cobalt 2800
CONFIG_COBALT_28
Support for the second generation of MIPS-based Cobalt boxes (they
have been bought by Sun and are now the "Server Appliance Business
Unit") including the 2800 series -- versions 2 of the Qube and Raq.
To compile a Linux kernel for this hardware, say Y here.
Support for the Momentum Computer Ocelot SBC
CONFIG_MOMENCO_OCELOT
The Ocelot is a MIPS-based Single Board Computer (SBC) made by
Momentum Computer <http://www.momenco.com/>.
Support for NEC DDB Vrc-5074
CONFIG_DDB5074
This enables support for the VR5000-based NEC DDB Vrc-5074
evaluation board.
Support for NEC DDB Vrc-5476
CONFIG_DDB5476
This enables support for the R5432-based NEC DDB Vrc-5476
evaluation board.
Features : kernel debugging, serial terminal, NFS root fs, on-board
ether port (Need an additional patch at <http://linux.junsun.net/>),
USB, AC97, PCI, PCI VGA card & framebuffer console, IDE controller,
PS2 keyboard, PS2 mouse, etc.
Support for NEC DDB Vrc-5477
CONFIG_DDB5477
This enables support for the R5432-based NEC DDB Vrc-5477
evaluation board.
Features : kernel debugging, serial terminal, NFS root fs, on-board
ether port (Need an additional patch at <http://linux.junsun.net/>),
USB, AC97, PCI, etc.
Support for MIPS Atlas board
CONFIG_MIPS_ATLAS
This enables support for the QED R5231-based MIPS Atlas evaluation
board.
Support for MIPS Malta board
CONFIG_MIPS_MALTA
This enables support for the VR5000-based MIPS Malta evaluation
board.
Support for Galileo Evaluation board or CoSine Orion
CONFIG_ORION
Say Y if configuring for the Galileo evaluation board
or CoSine Orion. More information is available at
<http://tochna.technion.ac.il/project/linux/html/linux.html>.
Otherwise, say N.
Support for Mips Magnum 4000
CONFIG_MIPS_MAGNUM_4000
This is a machine with a R4000 100 MHz CPU. To compile a Linux
kernel that runs on these, say Y here. For details about Linux on
the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
<http://oss.sgi.com/mips/>.
Enable Qtronix 990P Keyboard Support
CONFIG_QTRONIX_KEYBOARD
Images of Qtronix keyboards are at
<http://www.qtronix.com/keyboard.html>.
Support for Olivetti M700
CONFIG_OLIVETTI_M700
This is a machine with a R4000 100 MHz CPU. To compile a Linux
kernel that runs on these, say Y here. For details about Linux on
the MIPS architecture, check out the Linux/MIPS FAQ on the WWW at
<http://oss.sgi.com/mips/>.
Support for SNI RM200 PCI
CONFIG_SNI_RM200_PCI
The SNI RM200 PCI was a MIPS-based platform manufactured by Siemens
Nixdorf Informationssysteme (SNI), parent company of Pyramid
Technology and now in turn merged with Fujitsu. Say Y here to
support this machine type.
Support for SGI-IP22 (Indy/Indigo2)
CONFIG_SGI_IP22
This are the SGI Indy, Challenge S and Indigo2, as well as certain
OEM variants like the Tandem CMN B006S. To compile a Linux kernel
that runs on these, say Y here.
Support for SGI IP27 (Origin200/2000)
CONFIG_SGI_IP27
This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
workstations. To compile a Linux kernel that runs on these, say Y
here.
IP27 N-Mode
CONFIG_SGI_SN0_N_MODE
The nodes of Origin 200, Origin 2000 and Onyx 2 systems can be
configured in either N-Modes which allows for more nodes or M-Mode
which allows for more memory. Your system is most probably
running in M-Mode, so you should say N here.
MIPS JAZZ onboard SONIC Ethernet support
CONFIG_MIPS_JAZZ_SONIC
This is the driver for the onboard card of MIPS Magnum 4000,
Acer PICA, Olivetti M700-10 and a few other identical OEM systems.
MIPS JAZZ FAS216 SCSI support
CONFIG_JAZZ_ESP
This is the driver for the onboard SCSI host adapter of MIPS Magnum
4000, Acer PICA, Olivetti M700-10 and a few other identical OEM
systems.
MIPS GT96100 support
CONFIG_MIPS_GT96100
Say Y here to support the Galileo Technology GT96100 communications
controller card. There is a web page at <http://www.galileot.com/>.
MIPS GT96100 Ethernet support
CONFIG_MIPS_GT96100ETH
Say Y here to support the Ethernet subsystem on your GT96100 card.
Zalon SCSI support
CONFIG_SCSI_ZALON
The Zalon is an interface chip that sits between the PA-RISC
processor and the NCR 53c720 SCSI controller on K-series PA-RISC
boards (these are used, among other places, on some HP 780
workstations). Say Y here to make sure it gets initialized
correctly before the Linux kernel tries to talk to the controller.
Kernel floating-point instruction emulation
CONFIG_MIPS_FPU_EMULATOR
This option enables the MIPS software floatingpoint support. Due to
the way floating point works you should always enable this option
unless you exactly know what you're doing.
SGI PROM Console Support
CONFIG_SGI_PROM_CONSOLE
Say Y here to set up the boot console on serial port 0.
DZ11 Serial Support
CONFIG_DZ
DZ11-family serial controllers for VAXstations, including the
DC7085, M7814, and M7819.
TURBOchannel support
CONFIG_TC
TurboChannel is a DEC (now Compaq) bus for Alpha and MIPS processors.
Documentation on writing device drivers for TurboChannel is available at:
<http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
# Choice: galileo_clock
75
CONFIG_SYSCLK_75
Configure the kernel for clock speed of your Galileo board.
The choices are 75MHz, 83.3MHz, and 100MHz.
83.3
CONFIG_SYSCLK_83
Configure the Galileo kernel for a clock speed of 83.3 MHz.
100
CONFIG_SYSCLK_100
Configure the Galileo kernel for a clock speed of 100 MHz.
Z85C30 Serial Support
CONFIG_ZS
Documentation on the Zilog 85C350 serial communications controller
is downloadable at <http://www.zilog.com/pdfs/serial/z85c30.pdf>.
PCMCIA SCSI adapter support
CONFIG_SCSI_PCMCIA
Say Y here if you intend to attach a PCMCIA or CardBus card to your
computer which acts as a SCSI host adapter. These are credit card
size devices often used with laptops.
Note that the answer to this question won't directly affect the
kernel: saying N will just cause the configurator to skip all
the questions PCMCIA SCSI host adapters.
Adaptec APA1480 CardBus support
CONFIG_PCMCIA_APA1480
Say Y here if you intend to attach this type of CardBus SCSI host
adapter to your computer.
This driver is also available as a module called apa1480_cb.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
NinjaSCSI-3 / NinjaSCSI-32Bi (16bit) PCMCIA support
CONFIG_PCMCIA_NINJA_SCSI
If you intend to attach this type of PCMCIA SCSI host adapter to
your computer, say Y here and read
<file:Documentation/README.nsp_cs.eng>.
This driver is also available as a module called nsp_cs.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
Adaptec AHA152X PCMCIA support
CONFIG_PCMCIA_AHA152X
Say Y here if you intend to attach this type of PCMCIA SCSI host
adapter to your computer.
This driver is also available as a module called aha152x_cs.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
Qlogic PCMCIA support
CONFIG_PCMCIA_QLOGIC
Say Y here if you intend to attach this type of PCMCIA SCSI host
adapter to your computer.
This driver is also available as a module called qlogic_cs.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
Future Domain PCMCIA support
CONFIG_PCMCIA_FDOMAIN
Say Y here if you intend to attach this type of PCMCIA SCSI host
adapter to your computer.
This driver is also available as a module called fdomain_cs.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
# Choice: mipstype
CPU type
CONFIG_CPU_R3000
Please make sure to pick the right CPU type. Linux/MIPS is not
designed to be generic, i.e. Kernels compiled for R3000 CPUs will
*not* work on R4000 machines and vice versa. However, since most
of the supported machines have an R4000 (or similar) CPU, R4x00
might be a safe bet. If the resulting kernel does not work,
try to recompile with R3000.
R3000 MIPS Technologies R3000-series processors,
including the 3041, 3051, and 3081.
R6000 MIPS Technologies R6000-series processors,
including the 64474, 64475, 64574 and 64575.
R4300 MIPS Technologies R4300-series processors.
R4x00 MIPS Technologies R4000-series processors other than 4300,
including the 4640, 4650, and 4700.
R5000 MIPS Technologies R5000-series processors other than the
Nevada.
R52xx MIPS Technologies R52xx-series ("Nevada") processors.
R10000 MIPS Technologies R10000-series processors.
R6000
CONFIG_CPU_R6000
MIPS Technologies R6000-series processors, including the 64474,
64475, 64574 and 64575.
R4300
CONFIG_CPU_R4300
MIPS Technologies R4300-series processors.
R4x00
CONFIG_CPU_R4X00
MIPS Technologies R4000-series processors other than 4300, including
the 4640, 4650, and 4700.
R5000
CONFIG_CPU_R5000
MIPS Technologies R5000-series processors other than the Nevada.
R52x0
CONFIG_CPU_NEVADA
MIPS Technologies R52x0-series ("Nevada") processors.
R8000
CONFIG_CPU_R8000
MIPS Technologies R8000-series processors.
R10000
CONFIG_CPU_R10000
MIPS Technologies R10000-series processors.
Discontiguous Memory Support
CONFIG_DISCONTIGMEM
Say Y to upport efficient handling of discontiguous physical memory,
for architectures which are either NUMA (Non-Uniform Memory Access)
or have huge holes in the physical address space for other reasons.
See <file:Documentation/vm/numa> for more.
Mapped kernel support
CONFIG_MAPPED_KERNEL
Change the way a Linux kernel is loaded unto memory on a MIPS64
machine. This is required in order to support text replication and
NUMA. If you need to undersatand it, read the source code.
Kernel text replication support
CONFIG_REPLICATE_KTEXT
Say Y here to enable replicating the kernel text across multiple
nodes in a NUMA cluster. This trades memory for speed.
Exception handler replication support
CONFIG_REPLICATE_EXHANDLERS
Say Y here to enable replicating the kernel exception handlers
across multiple nodes in a NUMA cluster. This trades memory for
speed.
NUMA support?
CONFIG_NUMA
Say Y to compile the kernel to support NUMA (Non-Uniform Memory
Access). This option is for configuring high-end multiprocessor
server machines. If in doubt, say N.
R41xx
CONFIG_CPU_VR41XX
The options selects support for the NEC VR41xx series of processors.
Only choose this option if you have one of these processors as a
kernel built with this option will not run on any other type of
processor or vice versa.
CPU feature configuration
CONFIG_CPU_ADVANCED
Saying yes here allows you to select support for various features
your CPU may or may not have. Most people should say N here.
ll and sc instructions available
CONFIG_CPU_HAS_LLSC
MIPS R4000 series and later provide the Load Linked (ll)
and Store Conditional (sc) instructions. More information is
available at <http://www.go-ecs.com/mips/miptek1.htm>.
Say Y here if your CPU has the ll and sc instructions. Say Y here
for better performance, N if you don't know. You must say Y here
for multiprocessor machines.
lld and scd instructions available
CONFIG_CPU_HAS_LLDSCD
Say Y here if your CPU has the lld and scd instructions, the 64-bit
equivalents of ll and sc. Say Y here for better performance, N if
you don't know. You must say Y here for multiprocessor machines.
Writeback Buffer available
CONFIG_CPU_HAS_WB
Say N here for slightly better performance. You must say Y here for
machines which require flushing of write buffers in software. Saying
Y is the safe option; N may result in kernel malfunction and crashes.
Support for large 64-bit configurations
CONFIG_MIPS_INSANE_LARGE
MIPS R10000 does support a 44 bit / 16TB address space as opposed to
previous 64-bit processors which only supported 40 bit / 1TB. If you
need processes of more than 1TB virtual address space, say Y here.
This will result in additional memory usage, so it is not
recommended for normal users.
Generate little endian code
CONFIG_CPU_LITTLE_ENDIAN
Some MIPS machines can be configured for either little or big endian
byte order. These modes require different kernels. Say Y if your
machine is little endian, N if it's a big endian machine.
Use power LED as a heartbeat
CONFIG_HEARTBEAT
Use the power-on LED on your machine as a load meter. The exact
behavior is platform-dependent, but normally the flash frequency is
a hyperbolic function of the 5-minute load average.
Networking support
CONFIG_NET
Unless you really know what you are doing, you should say Y here.
The reason is that some programs need kernel networking support even
when running on a stand-alone machine that isn't connected to any
other computer. If you are upgrading from an older kernel, you
should consider updating your networking tools too because changes
in the kernel and the tools often go hand in hand. The tools are
contained in the package net-tools, the location and version number
of which are given in <file:Documentation/Changes>.
For a general introduction to Linux networking, it is highly
recommended to read the NET-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>.
Socket filtering
CONFIG_FILTER
The Linux Socket Filter is derived from the Berkeley Packet Filter.
If you say Y here, user-space programs can attach a filter to any
socket and thereby tell the kernel that it should allow or disallow
certain types of data to get through the socket. Linux Socket
Filtering works on all socket types except TCP for now. See the
text file <file:Documentation/networking/filter.txt> for more
information.
You need to say Y here if you want to use PPP packet filtering
(see the CONFIG_PPP_FILTER option below).
If unsure, say N.
Network packet filtering (replaces ipchains)
CONFIG_NETFILTER
Netfilter is a framework for filtering and mangling network packets
that pass through your Linux box.
The most common use of packet filtering is to run your Linux box as
a firewall protecting a local network from the Internet. The type of
firewall provided by this kernel support is called a "packet
filter", which means that it can reject individual network packets
based on type, source, destination etc. The other kind of firewall,
a "proxy-based" one, is more secure but more intrusive and more
bothersome to set up; it inspects the network traffic much more
closely, modifies it and has knowledge about the higher level
protocols, which a packet filter lacks. Moreover, proxy-based
firewalls often require changes to the programs running on the local
clients. Proxy-based firewalls don't need support by the kernel, but
they are often combined with a packet filter, which only works if
you say Y here.
You should also say Y here if you intend to use your Linux box as
the gateway to the Internet for a local network of machines without
globally valid IP addresses. This is called "masquerading": if one
of the computers on your local network wants to send something to
the outside, your box can "masquerade" as that computer, i.e. it
forwards the traffic to the intended outside destination, but
modifies the packets to make it look like they came from the
firewall box itself. It works both ways: if the outside host
replies, the Linux box will silently forward the traffic to the
correct local computer. This way, the computers on your local net
are completely invisible to the outside world, even though they can
reach the outside and can receive replies. It is even possible to
run globally visible servers from within a masqueraded local network
using a mechanism called portforwarding. Masquerading is also often
called NAT (Network Address Translation).
Another use of Netfilter is in transparent proxying: if a machine on
the local network tries to connect to an outside host, your Linux
box can transparently forward the traffic to a local server,
typically a caching proxy server.
Various modules exist for netfilter which replace the previous
masquerading (ipmasqadm), packet filtering (ipchains), transparent
proxying, and portforwarding mechanisms. Please see
<file:Documentation/Changes> under "iptables" for the location of
these packages.
Make sure to say N to "Fast switching" below if you intend to say Y
here, as Fast switching currently bypasses netfilter.
Chances are that you should say Y here if you compile a kernel which
will run as a router and N for regular hosts. If unsure, say N.
Network packet filtering debugging
CONFIG_NETFILTER_DEBUG
You can say Y here if you want to get additional messages useful in
debugging the netfilter code.
Connection tracking (required for masq/NAT)
CONFIG_IP_NF_CONNTRACK
Connection tracking keeps a record of what packets have passed
through your machine, in order to figure out how they are related
into connections.
This is required to do Masquerading or other kinds of Network
Address Translation (except for Fast NAT). It can also be used to
enhance packet filtering (see `Connection state match support'
below).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
IRC Send/Chat protocol support
CONFIG_IP_NF_IRC
There is a commonly-used extension to IRC called
Direct Client-to-Client Protocol (DCC). This enables users to send
files to each other, and also chat to each other without the need
of a server. DCC Sending is used anywhere you send files over IRC,
and DCC Chat is most commonly used by Eggdrop bots. If you are
using NAT, this extension will enable you to send files and initiate
chats. Note that you do NOT need this extension to get files or
have others initiate chats, or everything else in IRC.
If you want to compile it as a module, say 'M' here and read
Documentation/modules.txt. If unsure, say 'N'.
FTP protocol support
CONFIG_IP_NF_FTP
Tracking FTP connections is problematic: special helpers are
required for tracking them, and doing masquerading and other forms
of Network Address Translation on them.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `Y'.
User space queueing via NETLINK
CONFIG_IP_NF_QUEUE
Netfilter has the ability to queue packets to user space: the
netlink device can be used to access them using this driver.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
IP tables support (required for filtering/masq/NAT)
CONFIG_IP_NF_IPTABLES
iptables is a general, extensible packet identification framework.
The packet filtering and full NAT (masquerading, port forwarding,
etc) subsystems now use this: say `Y' or `M' here if you want to use
either of those.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
limit match support
CONFIG_IP_NF_MATCH_LIMIT
limit matching allows you to control the rate at which a rule can be
matched: mainly useful in combination with the LOG target ("LOG
target support", below) and to avoid some Denial of Service attacks.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
MAC address match support
CONFIG_IP_NF_MATCH_MAC
MAC matching allows you to match packets based on the source
Ethernet address of the packet.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Netfilter MARK match support
CONFIG_IP_NF_MATCH_MARK
Netfilter mark matching allows you to match packets based on the
`nfmark' value in the packet. This can be set by the MARK target
(see below).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Multiple port match support
CONFIG_IP_NF_MATCH_MULTIPORT
Multiport matching allows you to match TCP or UDP packets based on
a series of source or destination ports: normally a rule can only
match a single range of ports.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
TTL match support
CONFIG_IP_NF_MATCH_TTL
This adds CONFIG_IP_NF_MATCH_TTL option, which enabled the user
to match packets by their TTL value.
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `N'.
LENGTH match support
CONFIG_IP_NF_MATCH_LENGTH
This option allows you to match the length of a packet against a
specific value or range of values.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
AH/ESP match support
CONFIG_IP_NF_MATCH_AH_ESP
These two match extensions (`ah' and `esp') allow you to match a
range of SPIs inside AH or ESP headers of IPSec packets.
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `N'.
TOS match support
CONFIG_IP_NF_MATCH_TOS
TOS matching allows you to match packets based on the Type Of
Service fields of the IP packet.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Connection state match support
CONFIG_IP_NF_MATCH_STATE
Connection state matching allows you to match packets based on their
relationship to a tracked connection (ie. previous packets). This
is a powerful tool for packet classification.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Unclean match support
CONFIG_IP_NF_MATCH_UNCLEAN
Unclean packet matching matches any strange or invalid packets, by
looking at a series of fields in the IP, TCP, UDP and ICMP headers.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Owner match support
CONFIG_IP_NF_MATCH_OWNER
Packet owner matching allows you to match locally-generated packets
based on who created them: the user, group, process or session.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Packet filtering
CONFIG_IP_NF_FILTER
Packet filtering defines a table `filter', which has a series of
rules for simple packet filtering at local input, forwarding and
local output. See the man page for iptables(8).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
REJECT target support
CONFIG_IP_NF_TARGET_REJECT
The REJECT target allows a filtering rule to specify that an ICMP
error should be issued in response to an incoming packet, rather
than silently being dropped.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
MIRROR target support
CONFIG_IP_NF_TARGET_MIRROR
The MIRROR target allows a filtering rule to specify that an
incoming packet should be bounced back to the sender.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Full NAT (Network Address Translation)
CONFIG_IP_NF_NAT
The Full NAT option allows masquerading, port forwarding and other
forms of full Network Address Port Translation. It is controlled by
the `nat' table in iptables: see the man page for iptables(8).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
MASQUERADE target support
CONFIG_IP_NF_TARGET_MASQUERADE
Masquerading is a special case of NAT: all outgoing connections are
changed to seem to come from a particular interface's address, and
if the interface goes down, those connections are lost. This is
only useful for dialup accounts with dynamic IP address (ie. your IP
address will be different on next dialup).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Basic SNMP-ALG support
CONFIG_IP_NF_NAT_SNMP_BASIC
This module implements an Application Layer Gateway (ALG) for
SNMP payloads. In conjunction with NAT, it allows a network
management system to access multiple private networks with
conflicting addresses. It works by modifying IP addresses
inside SNMP payloads to match IP-layer NAT mapping.
This is the "basic" form of SNMP-ALG, as described in RFC 2962
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
REDIRECT target support
CONFIG_IP_NF_TARGET_REDIRECT
REDIRECT is a special case of NAT: all incoming connections are
mapped onto the incoming interface's address, causing the packets to
come to the local machine instead of passing through. This is
useful for transparent proxies.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Packet mangling
CONFIG_IP_NF_MANGLE
This option adds a `mangle' table to iptables: see the man page for
iptables(8). This table is used for various packet alterations
which can effect how the packet is routed.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
TOS target support
CONFIG_IP_NF_TARGET_TOS
This option adds a `TOS' target, which allows you to create rules in
the `mangle' table which alter the Type Of Service field of an IP
packet prior to routing.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
MARK target support
CONFIG_IP_NF_TARGET_MARK
This option adds a `MARK' target, which allows you to create rules
in the `mangle' table which alter the netfilter mark (nfmark) field
associated with the packet prior to routing. This can change
the routing method (see `Use netfilter MARK value as routing
key') and can also be used by other subsystems to change their
behavior.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
TCPMSS target support
CONFIG_IP_NF_TARGET_TCPMSS
This option adds a `TCPMSS' target, which allows you to alter the
MSS value of TCP SYN packets, to control the maximum size for that
connection (usually limiting it to your outgoing interface's MTU
minus 40).
This is used to overcome criminally braindead ISPs or servers which
block ICMP Fragmentation Needed packets. The symptoms of this
problem are that everything works fine from your Linux
firewall/router, but machines behind it can never exchange large
packets:
1) Web browsers connect, then hang with no data received.
2) Small mail works fine, but large emails hang.
3) ssh works fine, but scp hangs after initial handshaking.
Workaround: activate this option and add a rule to your firewall
configuration like:
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
TCPMSS match support
CONFIG_IP_NF_MATCH_TCPMSS
This option adds a `tcpmss' match, which allows you to examine the
MSS value of TCP SYN packets, which control the maximum packet size
for that connection.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
ULOG target support
CONFIG_IP_NF_TARGET_ULOG
This option adds a `ULOG' target, which allows you to create rules in
any iptables table. The packet is passed to a userspace logging
daemon using netlink multicast sockets; unlike the LOG target
which can only be viewed through syslog.
The apropriate userspace logging daemon (ulogd) may be obtained from
http://www.gnumonks.org/projects/ulogd
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `N'.
LOG target support
CONFIG_IP_NF_TARGET_LOG
This option adds a `LOG' target, which allows you to create rules in
any iptables table which records the packet header to the syslog.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
ipchains (2.2-style) support
CONFIG_IP_NF_COMPAT_IPCHAINS
This option places ipchains (with masquerading and redirection
support) back into the kernel, using the new netfilter
infrastructure. It is not recommended for new installations (see
`Packet filtering'). With this enabled, you should be able to use
the ipchains tool exactly as in 2.2 kernels.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
ipfwadm (2.0-style) support
CONFIG_IP_NF_COMPAT_IPFWADM
This option places ipfwadm (with masquerading and redirection
support) back into the kernel, using the new netfilter
infrastructure. It is not recommended for new installations (see
`Packet filtering'). With this enabled, you should be able to use
the ipfwadm tool exactly as in 2.0 kernels.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
MAC address match support
CONFIG_IP6_NF_MATCH_MAC
mac matching allows you to match packets based on the source
Ethernet address of the packet.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Netfilter MARK match support
CONFIG_IP6_NF_MATCH_MARK
Netfilter mark matching allows you to match packets based on the
`nfmark' value in the packet. This can be set by the MARK target
(see below).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Multiple port match support
CONFIG_IP6_NF_MATCH_MULTIPORT
Multiport matching allows you to match TCP or UDP packets based on
a series of source or destination ports: normally a rule can only
match a single range of ports.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
IPV6 queue handler (EXPERIMENTAL)
CONFIG_IP6_NF_QUEUE
This option adds a queue handler to the kernel for IPv6
packets which lets us to receive the filtered packets
with QUEUE target using libiptc as we can do with
the IPv4 now.
(C) Fernando Anton 2001
IPv64 Project - Work based in IPv64 draft by Arturo Azcorra.
Universidad Carlos III de Madrid
Universidad Politecnica de Alcala de Henares
email: fanton@it.uc3m.es
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `N'.
Owner match support
CONFIG_IP6_NF_MATCH_OWNER
Packet owner matching allows you to match locally-generated packets
based on who created them: the user, group, process or session.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Packet filtering
CONFIG_IP6_NF_FILTER
Packet filtering defines a table `filter', which has a series of
rules for simple packet filtering at local input, forwarding and
local output. See the man page for iptables(8).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Packet mangling
CONFIG_IP6_NF_MANGLE
This option adds a `mangle' table to iptables: see the man page for
iptables(8). This table is used for various packet alterations
which can effect how the packet is routed.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
MARK target support
CONFIG_IP6_NF_TARGET_MARK
This option adds a `MARK' target, which allows you to create rules
in the `mangle' table which alter the netfilter mark (nfmark) field
associated with the packet packet prior to routing. This can change
the routing method (see `Use netfilter MARK value as routing
key') and can also be used by other subsystems to change their
behavior.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
TCP Explicit Congestion Notification support
CONFIG_INET_ECN
Explicit Congestion Notification (ECN) allows routers to notify
clients about network congestion, resulting in fewer dropped packets
and increased network performance. This option adds ECN support to
the Linux kernel, as well as a sysctl (/proc/sys/net/ipv4/tcp_ecn)
which allows ECN support to be disabled at runtime.
Note that, on the Internet, there are many broken firewalls which
refuse connections from ECN-enabled machines, and it may be a while
before these firewalls are fixed. Until then, to access a site
behind such a firewall (some of which are major sites, at the time
of this writing) you will have to disable this option, either by
saying N now or by using the sysctl.
If in doubt, say N.
IPv6 tables support (required for filtering/masq/NAT)
CONFIG_IP6_NF_IPTABLES
ip6tables is a general, extensible packet identification framework.
Currently only the packet filtering and packet mangling subsystem
for IPv6 use this, but connection tracking is going to follow.
Say 'Y' or 'M' here if you want to use either of those.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
IPv6 limit match support
CONFIG_IP6_NF_MATCH_LIMIT
limit matching allows you to control the rate at which a rule can be
matched: mainly useful in combination with the LOG target ("LOG
target support", below) and to avoid some Denial of Service attacks.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
LOG target support
CONFIG_IP6_NF_TARGET_LOG
This option adds a `LOG' target, which allows you to create rules in
any iptables table which records the packet header to the syslog.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
SYN flood protection
CONFIG_SYN_COOKIES
Normal TCP/IP networking is open to an attack known as "SYN
flooding". This denial-of-service attack prevents legitimate remote
users from being able to connect to your computer during an ongoing
attack and requires very little work from the attacker, who can
operate from anywhere on the Internet.
SYN cookies provide protection against this type of attack. If you
say Y here, the TCP/IP stack will use a cryptographic challenge
protocol known as "SYN cookies" to enable legitimate users to
continue to connect, even when your machine is under attack. There
is no need for the legitimate users to change their TCP/IP software;
SYN cookies work transparently to them. For technical information
about SYN cookies, check out <http://cr.yp.to/syncookies.html>.
If you are SYN flooded, the source address reported by the kernel is
likely to have been forged by the attacker; it is only reported as
an aid in tracing the packets to their actual source and should not
be taken as absolute truth.
SYN cookies may prevent correct error reporting on clients when the
server is really overloaded. If this happens frequently better turn
them off.
If you say Y here, note that SYN cookies aren't enabled by default;
you can enable them by saying Y to "/proc file system support" and
"Sysctl support" below and executing the command
echo 1 >/proc/sys/net/ipv4/tcp_syncookies
at boot time after the /proc file system has been mounted.
If unsure, say N.
HCI EMU (virtual device) driver
CONFIG_BLUEZ_HCIEMU
Bluetooth Virtual HCI device driver.
This driver is required if you want to use HCI Emulation software.
Say Y here to compile support for Virtual HCI devices into the
kernel or say M to compile it as module (hci_usb.o).
# Choice: alphatype
Alpha system type
CONFIG_ALPHA_GENERIC
This is the system type of your hardware. A "generic" kernel will
run on any supported Alpha system. However, if you configure a
kernel for your specific system, it will be faster and smaller.
To find out what type of Alpha system you have, you may want to
check out the Linux/Alpha FAQ, accessible on the WWW from
<http://www.alphalinux.org/>. In summary:
Alcor/Alpha-XLT AS 600
Alpha-XL XL-233, XL-266
AlphaBook1 Alpha laptop
Avanti AS 200, AS 205, AS 250, AS 255, AS 300, AS 400
Cabriolet AlphaPC64, AlphaPCI64
DP264 DP264
EB164 EB164 21164 evaluation board
EB64+ EB64+ 21064 evaluation board
EB66 EB66 21066 evaluation board
EB66+ EB66+ 21066 evaluation board
Jensen DECpc 150, DEC 2000 model 300,
DEC 2000 model 500
LX164 AlphaPC164-LX
Miata Personal Workstation 433a, 433au, 500a,
500au, 600a, or 600au
Mikasa AS 1000
Noname AXPpci33, UDB (Multia)
Noritake AS 1000A, AS 600A, AS 800
PC164 AlphaPC164
Rawhide AS 1200, AS 4000, AS 4100
Ruffian RPX164-2, AlphaPC164-UX, AlphaPC164-BX
SX164 AlphaPC164-SX
Sable AS 2000, AS 2100
Shark DS 20L
Takara Takara
Titan Privateer
Wildfire AlphaServer GS 40/80/160/320
If you don't know what to do, choose "generic".
# Most of the information on these variants is from
# <http://www.alphalinux.org/docs/alpha-howto.html>
Alcor/Alpha-XLT
CONFIG_ALPHA_ALCOR
For systems using the Digital ALCOR chipset: 5 chips (4, 64-bit data
slices (Data Switch, DSW) - 208-pin PQFP and 1 control (Control, I/O
Address, CIA) - a 383 pin plastic PGA). It provides a DRAM
controller (256-bit memory bus) and a PCI interface. It also does
all the work required to support an external Bcache and to maintain
memory coherence when a PCI device DMAs into (or out of) memory.
Alpha-XL
CONFIG_ALPHA_XL
XL-233 and XL-266-based Alpha systems.
AlphaBook1
CONFIG_ALPHA_BOOK1
Dec AlphaBook1/Burns Alpha-based laptops.
Avanti
CONFIG_ALPHA_AVANTI
Avanti AS 200, AS 205, AS 250, AS 255, AS 300, and AS 400-based
Alphas. Info at
<http://www.unix-ag.org/Linux-Alpha/Architectures/Avanti.html>.
Cabriolet
CONFIG_ALPHA_CABRIOLET
Cabriolet AlphaPC64, AlphaPCI64 systems. Derived from EB64+ but now
baby-AT with Flash boot ROM, no on-board SCSI or Ethernet. 3 ISA
slots, 4 PCI slots (one pair are on a shared slot), uses plug-in
Bcache SIMMs. Requires power supply with 3.3V output.
DP264
CONFIG_ALPHA_DP264
Various 21264 systems with the tsunami core logic chipset.
API Networks: 264DP, UP2000(+), CS20;
Compaq: DS10(E,L), XP900, XP1000, DS20(E), ES40.
EB164
CONFIG_ALPHA_EB164
EB164 21164 evaluation board from DEC. Uses 21164 and ALCOR. Has
ISA and PCI expansion (3 ISA slots, 2 64-bit PCI slots (one is
shared with an ISA slot) and 2 32-bit PCI slots. Uses plus-in
Bcache SIMMs. I/O sub-system provides SuperI/O (2S, 1P, FD), KBD,
MOUSE (PS2 style), RTC/NVRAM. Boot ROM is Flash. PC-AT-sized
motherboard. Requires power supply with 3.3V output.
EB64+
CONFIG_ALPHA_EB64P
Uses 21064 or 21064A and APECs. Has ISA and PCI expansion (3 ISA,
2 PCI, one pair are on a shared slot). Supports 36-bit DRAM SIMs.
ISA bus generated by Intel SaturnI/O PCI-ISA bridge. On-board SCSI
(NCR 810 on PCI) Ethernet (Digital 21040), KBD, MOUSE (PS2 style),
SuperI/O (2S, 1P, FD), RTC/NVRAM. Boot ROM is EPROM. PC-AT size.
Runs from standard PC power supply.
EB66
CONFIG_ALPHA_EB66
A Digital DS group board. Uses 21066 or 21066A. I/O sub-system is
identical to EB64+. Baby PC-AT size. Runs from standard PC power
supply. The EB66 schematic was published as a marketing poster
advertising the 21066 as "the first microprocessor in the world with
embedded PCI".
EB66+
CONFIG_ALPHA_EB66P
Later variant of the EB66 board.
Eiger
CONFIG_ALPHA_EIGER
Apparently an obscure OEM single-board computer based on the
Typhoon/Tsunami chipset family. Information on it is scanty.
Jensen
CONFIG_ALPHA_JENSEN
DEC PC 150 AXP (aka Jensen): This is a very old Digital system - one
of the first-generation Alpha systems. A number of these systems
seem to be available on the second- hand market. The Jensen is a
floor-standing tower system which originally used a 150MHz 21064 It
used programmable logic to interface a 486 EISA I/O bridge to the
CPU.
LX164
CONFIG_ALPHA_LX164
A technical overview of this board is available at
<http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html>.
Miata
CONFIG_ALPHA_MIATA
The Digital PersonalWorkStation (PWS 433a, 433au, 500a, 500au, 600a,
or 600au). There is an Installation HOWTO for this hardware at
<http://members.brabant.chello.nl/~s.vandereijk/miata.html>.
Mikasa
CONFIG_ALPHA_MIKASA
AlphaServer 1000-based Alpha systems.
Nautilus
CONFIG_ALPHA_NAUTILUS
Alpha systems based on the AMD 751 & ALI 1543C chipsets.
Noname
CONFIG_ALPHA_NONAME
The AXPpci33 (aka NoName), is based on the EB66 (includes the Multia
UDB). This design was produced by Digital's Technical OEM (TOEM)
group. It uses the 21066 processor running at 166MHz or 233MHz. It
is a baby-AT size, and runs from a standard PC power supply. It has
5 ISA slots and 3 PCI slots (one pair are a shared slot). There are
2 versions, with either PS/2 or large DIN connectors for the
keyboard.
Noritake
CONFIG_ALPHA_NORITAKE
AlphaServer 1000A, AlphaServer 600A, and AlphaServer 800-based
systems.
Rawhide
CONFIG_ALPHA_RAWHIDE
AlphaServer 1200, AlphaServer 4000 and AlphaServer 4100 machines.
See HOWTO at
<http://www.alphalinux.org/docs/rawhide/4100_install.shtml>.
Ruffian
CONFIG_ALPHA_RUFFIAN
Samsung APC164UX. There is a page on known problems and workarounds
at <http://www.alphalinux.org/faq/FAQ-11.html>.
Sable
CONFIG_ALPHA_SABLE
Digital AlphaServer 2000 and 2100-based systems.
Takara
CONFIG_ALPHA_TAKARA
Alpha 11164-based OEM single-board computer.
Wildfire
CONFIG_ALPHA_WILDFIRE
AlphaServer GS 40/80/160/320 SMP based on the EV67 core.
EV5 CPU daughtercard (model 5/xxx)
CONFIG_ALPHA_PRIMO
Say Y if you have an AS 1000 5/xxx or an AS 1000A 5/xxx.
EV5 CPU(s) (model 5/xxx)
CONFIG_ALPHA_GAMMA
Say Y if you have an AS 2000 5/xxx or an AS 2100 5/xxx.
EV67 (or later) CPU (speed > 600MHz)?
CONFIG_ALPHA_EV67
Is this a machine based on the EV67 core? If in doubt, select N here
and the machine will be treated as an EV6.
Use SRM as bootloader
CONFIG_ALPHA_SRM
There are two different types of booting firmware on Alphas: SRM,
which is command line driven, and ARC, which uses menus and arrow
keys. Details about the Linux/Alpha booting process are contained in
the Linux/Alpha FAQ, accessible on the WWW from
<http://www.alphalinux.org/>.
The usual way to load Linux on an Alpha machine is to use MILO
(a bootloader that lets you pass command line parameters to the
kernel just like lilo does for the x86 architecture) which can be
loaded either from ARC or can be installed directly as a permanent
firmware replacement from floppy (which requires changing a certain
jumper on the motherboard). If you want to do either of these, say N
here. If MILO doesn't work on your system (true for Jensen
motherboards), you can bypass it altogether and boot Linux directly
from an SRM console; say Y here in order to do that. Note that you
won't be able to boot from an IDE disk using SRM.
If unsure, say N.
Legacy kernel start address
CONFIG_ALPHA_LEGACY_START_ADDRESS
The 2.4 kernel changed the kernel start address from 0x310000
to 0x810000 to make room for the Wildfire's larger SRM console.
If you're using aboot 0.7 or later, the bootloader will examine the
ELF headers to determine where to transfer control. Unfortunately,
most older bootloaders -- APB or MILO -- hardcoded the kernel start
address rather than examining the ELF headers, and the result is a
hard lockup.
Say Y if you have a broken bootloader. Say N if you do not, or if
you wish to run on Wildfire.
Large VMALLOC support
CONFIG_ALPHA_LARGE_VMALLOC
Process creation and other aspects of virtual memory management can
be streamlined if we restrict the kernel to one PGD for all vmalloc
allocations. This equates to about 8GB.
Under normal circumstances, this is so far and above what is needed
as to be laughable. However, there are certain applications (such
as benchmark-grade in-kernel web serving) that can make use of as
much vmalloc space as is available.
Say N unless you know you need gobs and gobs of vmalloc space.
Non-standard serial port support
CONFIG_SERIAL_NONSTANDARD
Say Y here if you have any non-standard serial boards -- boards
which aren't supported using the standard "dumb" serial driver.
This includes intelligent serial boards such as Cyclades,
Digiboards, etc. These are usually used for systems that need many
serial ports because they serve many terminals or dial-in
connections.
Note that the answer to this question won't directly affect the
kernel: saying N will just cause the configurator to skip all
the questions about non-standard serial boards.
Most people can say N here.
Extended dumb serial driver options
CONFIG_SERIAL_EXTENDED
If you wish to use any non-standard features of the standard "dumb"
driver, say Y here. This includes HUB6 support, shared serial
interrupts, special multiport support, support for more than the
four COM 1/2/3/4 boards, etc.
Note that the answer to this question won't directly affect the
kernel: saying N will just cause the configurator to skip all
the questions about serial driver options. If unsure, say N.
Support more than 4 serial ports
CONFIG_SERIAL_MANY_PORTS
Say Y here if you have dumb serial boards other than the four
standard COM 1/2/3/4 ports. This may happen if you have an AST
FourPort, Accent Async, Boca (read the Boca mini-HOWTO, available
from <http://www.linuxdoc.org/docs.html#howto>), or other custom
serial port hardware which acts similar to standard serial port
hardware. If you only use the standard COM 1/2/3/4 ports, you can
say N here to save some memory. You can also say Y if you have an
"intelligent" multiport card such as Cyclades, Digiboards, etc.
Support for serial ports defined by ACPI tables
CONFIG_SERIAL_ACPI
Legacy free machines may not have serial ports at the legacy COM1,
COM2 etc addresses. Serial ports on such machines are described by
the ACPI tables SPCR (Serial Port Console Redirection) table and
DBGP (Debug Port) table. Say Y here if you want to include support
for these serial ports.
Support for sharing serial interrupts
CONFIG_SERIAL_SHARE_IRQ
Some serial boards have hardware support which allows multiple dumb
serial ports on the same board to share a single IRQ. To enable
support for this in the serial driver, say Y here.
Auto-detect IRQ on standard ports (unsafe)
CONFIG_SERIAL_DETECT_IRQ
Say Y here if you want the kernel to try to guess which IRQ
to use for your serial port.
This is considered unsafe; it is far better to configure the IRQ in
a boot script using the setserial command.
If unsure, say N.
Support special multiport boards
CONFIG_SERIAL_MULTIPORT
Some multiport serial ports have special ports which are used to
signal when there are any serial ports on the board which need
servicing. Say Y here to enable the serial driver to take advantage
of those special I/O ports.
SGI Zilog85C30 serial support
CONFIG_SGI_SERIAL
If you want to use your SGI's built-in serial ports under Linux,
answer Y.
SGI Newport Graphics support
CONFIG_SGI_NEWPORT_GFX
If you have an SGI machine and you want to compile the graphics
drivers, say Y here. This will include the code for the
/dev/graphics and /dev/gfx drivers into the kernel for supporting
virtualized access to your graphics hardware.
SGI Newport Console support
CONFIG_SGI_NEWPORT_CONSOLE
Say Y here if you want the console on the Newport aka XL graphics
card of your Indy. Most people say Y here.
SGI DS1286 RTC support
CONFIG_SGI_DS1286
If you say Y here and create a character special file /dev/rtc with
major number 10 and minor number 135 using mknod ("man mknod"), you
will get access to the real time clock built into your computer.
Every SGI has such a clock built in. It reports status information
via the file /proc/rtc and its behaviour is set by various ioctls on
/dev/rtc.
Support the Bell Technologies HUB6 card
CONFIG_HUB6
Say Y here to enable support in the dumb serial driver to support
the HUB6 card.
PCMCIA serial device support
CONFIG_PCMCIA_SERIAL_CS
Say Y here to enable support for 16-bit PCMCIA serial devices,
including serial port cards, modems, and the modem functions of
multi-function Ethernet/modem cards. (PCMCIA- or PC-cards are
credit-card size devices often used with laptops.)
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called serial_cs.o. If you want to compile it as
a module, say M here and read <file:Documentation/modules.txt>.
If unsure, say N.
ACP Modem (Mwave) support
CONFIG_MWAVE
The ACP modem (Mwave) for Linux is a WinModem. It is composed of a
kernel driver and a user level application. Together these components
support direct attachment to public switched telephone networks (PSTNs)
and support selected world wide countries.
This version of the ACP Modem driver supports the IBM Thinkpad 600E,
600, and 770 that include on board ACP modem hardware.
The modem also supports the standard communications port interface
(ttySx) and is compatible with the Hayes AT Command Set.
The user level application needed to use this driver can be found at
the IBM Linux Technology Center (LTC) web site:
<http://www.ibm.com/linux/ltc/>.
If you own one of the above IBM Thinkpads which has the Mwave chipset
in it, say Y.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called mwave.o. If you want to compile it as
a module, say M here and read Documentation/modules.txt.
/dev/agpgart (AGP Support)
CONFIG_AGP
AGP (Accelerated Graphics Port) is a bus system mainly used to
connect graphics cards to the rest of the system.
If you have an AGP system and you say Y here, it will be possible to
use the AGP features of your 3D rendering video card. This code acts
as a sort of "AGP driver" for the motherboard's chipset.
If you need more texture memory than you can get with the AGP GART
(theoretically up to 256 MB, but in practice usually 64 or 128 MB
due to kernel allocation issues), you could use PCI accesses
and have up to a couple gigs of texture space.
Note that this is the only means to have XFree4/GLX use
write-combining with MTRR support on the AGP bus. Without it, OpenGL
direct rendering will be a lot slower but still faster than PIO.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
This driver is available as a module. If you want to compile it as
a module, say M here and read <file:Documentation/modules.txt>. The
module will be called agpgart.o.
Intel 440LX/BX/GX/815/820/830/840/845/850/860 support
CONFIG_AGP_INTEL
This option gives you AGP support for the GLX component of the
XFree86 4.x on Intel 440LX/BX/GX, 815, 820, 830, 840, 845, 850 and 860 chipsets.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
Intel 460GX support
CONFIG_AGP_I460
This option gives you AGP support for the Intel 460GX chipset. This
chipset, the first to support Intel Itanium processors, is new and
this option is correspondingly a little experimental.
If you don't have a 460GX based machine (such as BigSur) with an AGP
slot then this option isn't going to do you much good. If you're
dying to do Direct Rendering on IA-64, this is what you're looking for.
Intel I810/I815 DC100/I810e support
CONFIG_AGP_I810
This option gives you AGP support for the Xserver on the Intel 810
815 and 830m chipset boards for their on-board integrated graphics. This
is required to do any useful video modes with these boards.
VIA chipset support
CONFIG_AGP_VIA
This option gives you AGP support for the GLX component of the
XFree86 4.x on VIA MPV3/Apollo Pro chipsets.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
AMD Irongate, 761, and 762 support
CONFIG_AGP_AMD
This option gives you AGP support for the GLX component of the
XFree86 4.x on AMD Irongate, 761, and 762 chipsets.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
Generic SiS support
CONFIG_AGP_SIS
This option gives you AGP support for the GLX component of the "soon
to be released" XFree86 4.x on Silicon Integrated Systems [SiS]
chipsets.
Note that 5591/5592 AGP chipsets are NOT supported.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
Serverworks LE/HE support
CONFIG_AGP_SWORKS
Say Y here to support the Serverworks AGP card. See
<http://www.serverworks.com/> for product descriptions and images.
ALI chipset support
CONFIG_AGP_ALI
This option gives you AGP support for the GLX component of the
XFree86 4.x on the following ALi chipsets. The supported chipsets
include M1541, M1621, M1631, M1632, M1641,M1647,and M1651.
For the ALi-chipset question, ALi suggests you refer to
<http://www.ali.com.tw/eng/support/index.shtml>.
The M1541 chipset can do AGP 1x and 2x, but note that there is an
acknowledged incompatibility with Matrox G200 cards. Due to
timing issues, this chipset cannot do AGP 2x with the G200.
This is a hardware limitation. AGP 1x seems to be fine, though.
You should say Y here if you use XFree86 3.3.6 or 4.x and want to
use GLX or DRI. If unsure, say N.
Support for ISA-bus hardware
CONFIG_ISA
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other stuff
inside your box. Other bus systems are PCI, EISA, MicroChannel
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
newer boards don't support it. If you have ISA, say Y, otherwise N.
Support for PCI bus hardware
CONFIG_PCI
Find out whether you have a PCI motherboard. PCI is the name of a
bus system, i.e. the way the CPU talks to the other stuff inside
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
VESA. If you have PCI, say Y, otherwise N.
The PCI-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>, contains valuable
information about which PCI hardware does work under Linux and which
doesn't.
PCI support
CONFIG_PCI_INTEGRATOR
Find out whether you have a PCI motherboard. PCI is the name of a
bus system, i.e. the way the CPU talks to the other stuff inside
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
VESA. If you have PCI, say Y, otherwise N.
The PCI-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>, contains valuable
information about which PCI hardware does work under Linux and which
doesn't.
QSpan PCI
CONFIG_PCI_QSPAN
Find out whether you have a PCI motherboard. PCI is the name of a
bus system, i.e. the way the CPU talks to the other stuff inside
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
VESA. If you have PCI, say Y, otherwise N.
The PCI-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>, contains valuable
information about which PCI hardware does work under Linux and which
doesn't.
# Choice: pci_access
PCI access mode
CONFIG_PCI_GOBIOS
On PCI systems, the BIOS can be used to detect the PCI devices and
determine their configuration. However, some old PCI motherboards
have BIOS bugs and may crash if this is done. Also, some embedded
PCI-based systems don't have any BIOS at all. Linux can also try to
detect the PCI hardware directly without using the BIOS.
With this option, you can specify how Linux should detect the PCI
devices. If you choose "BIOS", the BIOS will be used, if you choose
"Direct", the BIOS won't be used, and if you choose "Any", the
kernel will try the direct access method and falls back to the BIOS
if that doesn't work. If unsure, go with the default, which is
"Any".
PCI device name database
CONFIG_PCI_NAMES
By default, the kernel contains a database of all known PCI device
names to make the information in /proc/pci, /proc/ioports and
similar files comprehensible to the user. This database increases
size of the kernel image by about 80KB, but it gets freed after the
system boots up, so it doesn't take up kernel memory. Anyway, if you
are building an installation floppy or kernel for an embedded system
where kernel image size really matters, you can disable this feature
and you'll get device ID numbers instead of names.
When in doubt, say Y.
Generic PCI hotplug support
CONFIG_HOTPLUG_PCI
Say Y here if you have a motherboard with a PCI Hotplug controller.
This allows you to add and remove PCI cards while the machine is
powered up and running. The file system pcihpfs must be mounted
in order to interact with any PCI Hotplug controllers.
This code is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called pci_hotplug.o. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>.
When in doubt, say N.
Compaq PCI Hotplug driver
CONFIG_HOTPLUG_PCI_COMPAQ
Say Y here if you have a motherboard with a Compaq PCI Hotplug
controller.
This code is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called cpqphp.o. If you want to compile it
as a module, say M here and read <file:Documentation/modules.txt>.
When in doubt, say N.
PCI Compaq Hotplug controller NVRAM support
CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM
Say Y here if you have a Compaq server that has a PCI Hotplug
controller. This will allow the PCI Hotplug driver to store the PCI
system configuration options in NVRAM.
When in doubt, say N.
MCA support
CONFIG_MCA
MicroChannel Architecture is found in some IBM PS/2 machines and
laptops. It is a bus system similar to PCI or ISA. See
<file:Documentation/mca.txt> (and especially the web page given
there) before attempting to build an MCA bus kernel.
Support for EISA-bus hardware
CONFIG_EISA
The Extended Industry Standard Architecture (EISA) bus was
developed as an open alternative to the IBM MicroChannel bus.
The EISA bus provided some of the features of the IBM MicroChannel
bus while maintaining backward compatibility with cards made for
the older ISA bus. The EISA bus saw limited use between 1988 and
1995 when it was made obsolete by the PCI bus.
Say Y here if you are building a kernel for an EISA-based machine.
Otherwise, say N.
SGI Visual Workstation support
CONFIG_VISWS
The SGI Visual Workstation series is an IA32-based workstation
based on SGI systems chips with some legacy PC hardware attached.
Say Y here to create a kernel to run on the SGI 320 or 540.
A kernel compiled for the Visual Workstation will not run on other
PC boards and vice versa.
See <file:Documentation/sgi-visws.txt> for more.
SGI Visual Workstation framebuffer support
CONFIG_FB_SGIVW
SGI Visual Workstation support for framebuffer graphics.
I2O support
CONFIG_I2O
The Intelligent Input/Output (I2O) architecture allows hardware
drivers to be split into two parts: an operating system specific
module called the OSM and an hardware specific module called the
HDM. The OSM can talk to a whole range of HDM's, and ideally the
HDM's are not OS dependent. This allows for the same HDM driver to
be used under different operating systems if the relevant OSM is in
place. In order for this to work, you need to have an I2O interface
adapter card in your computer. This card contains a special I/O
processor (IOP), thus allowing high speeds since the CPU does not
have to deal with I/O.
If you say Y here, you will get a choice of interface adapter
drivers and OSM's with the following questions.
This support is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. You will get modules called
i2o_core.o and i2o_config.o.
If unsure, say N.
I2O PCI support
CONFIG_I2O_PCI
Say Y for support of PCI bus I2O interface adapters. Currently this
is the only variety supported, so you should say Y.
This support is also available as a module called i2o_pci.o ( = code
which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
I2O Block OSM
CONFIG_I2O_BLOCK
Include support for the I2O Block OSM. The Block OSM presents disk
and other structured block devices to the operating system.
This support is also available as a module called i2o_block.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
I2O LAN OSM
CONFIG_I2O_LAN
Include support for the LAN OSM. You will also need to include
support for token ring or FDDI if you wish to use token ring or FDDI
I2O cards with this driver.
This support is also available as a module called i2o_lan.o ( = code
which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
I2O SCSI OSM
CONFIG_I2O_SCSI
Allows direct SCSI access to SCSI devices on a SCSI or FibreChannel
I2O controller. You can use both the SCSI and Block OSM together if
you wish.
This support is also available as a module called i2o_scsi.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
I2O /proc support
CONFIG_I2O_PROC
If you say Y here and to "/proc file system support", you will be
able to read I2O related information from the virtual directory
/proc/i2o.
This support is also available as a module called i2o_proc.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
Plug and Play support
CONFIG_PNP
Plug and Play (PnP) is a standard for peripherals which allows those
peripherals to be configured by software, e.g. assign IRQ's or other
parameters. No jumpers on the cards are needed, instead the values
are provided to the cards from the BIOS, from the operating system,
or using a user-space utility.
Say Y here if you would like Linux to configure your Plug and Play
devices. You should then also say Y to "ISA Plug and Play support",
below. Alternatively, you can say N here and configure your PnP
devices using the user space utilities contained in the isapnptools
package.
This support is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>.
ISA Plug and Play support
CONFIG_ISAPNP
Say Y here if you would like support for ISA Plug and Play devices.
Some information is in <file:Documentation/isapnp.txt>.
This support is also available as a module called isapnp.o ( =
code which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
If unsure, say Y.
PNPBIOS support
CONFIG_PNPBIOS
Linux uses the PNPBIOS as defined in "Plug and Play BIOS
Specification Version 1.0A May 5, 1994" to autodetect built-in
mainboard resources (e.g. parallel port resources).
Other features (e.g. change resources, ESCD, event notification,
Docking station information, ISAPNP services) are not used.
Note: ACPI is expected to supersede PNPBIOS some day, currently it
co-exists nicely.
See latest pcmcia-cs (stand-alone package) for a nice "lspnp" tools,
or have a look at /proc/bus/pnp.
If unsure, say Y.
Support for hot-pluggable devices
CONFIG_HOTPLUG
Say Y here if you want to plug devices into your computer while
the system is running, and be able to use them quickly. In many
cases, the devices can likewise be unplugged at any time too.
One well known example of this is PCMCIA- or PC-cards, credit-card
size devices such as network cards, modems or hard drives which are
plugged into slots found on all modern laptop computers. Another
example, used on modern desktops as well as laptops, is USB.
Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
software (at <http://linux-hotplug.sourceforge.net/>) and install it.
Then your kernel will automatically call out to a user mode "policy
agent" (/sbin/hotplug) to load modules and set up software needed
to use devices as you hotplug them.
PCMCIA/CardBus support
CONFIG_PCMCIA
Say Y here if you want to attach PCMCIA- or PC-cards to your Linux
computer. These are credit-card size devices such as network cards,
modems or hard drives often used with laptops computers. There are
actually two varieties of these cards: the older 16 bit PCMCIA cards
and the newer 32 bit CardBus cards. If you want to use CardBus
cards, you need to say Y here and also to "CardBus support" below.
To use your PC-cards, you will need supporting software from David
Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
for location). Please also read the PCMCIA-HOWTO, available from
<http://www.linuxdoc.org/docs.html#howto>.
This driver is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
When compiled this way, there will be modules called pcmcia_core.o
and ds.o. If you want to compile it as a module, say M here and
read <file:Documentation/modules.txt>.
CardBus card and (Yenta) bridge support
CONFIG_CARDBUS
CardBus is a bus mastering architecture for PC-cards, which allows
for 32 bit PC-cards (the original PCMCIA standard specifies only
a 16 bit wide bus). Many newer PC-cards are actually CardBus cards.
This option enables support for CardBus PC Cards, as well as supp