blob: 024966116229a5901a24309ca098cd3cc6236621 [file] [log] [blame]
# Maintained by:
# Eric S. Raymond <mailto:esr@thyrsus.com>
# Steven Cole <mailto:elenstev@mesatop.com>
#
# 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:dominik@piorunek.pl>, at
# <http://www.piorunek.pl/~dominik/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>
#
# 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.tldp.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 should 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.
Prompt for advanced kernel configuration options
CONFIG_ADVANCED_OPTIONS
This option will enable prompting for a variety of advanced kernel
configuration options. These options can cause the kernel to not
work if they are set incorrectly, but can be used to optimize certain
aspects of kernel memory management.
Unless you know what you are doing you *should not* enable this option.
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,
single 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.tldp.org/docs.html#howto>.
If you don't know what to do here, say N.
Maximum number of CPUs
CONFIG_NR_CPUS
This allows you to specify the maximum number of CPUs which this
kernel will support. The maximum supported value is 32 and the
mimimum value which makes sense is 2.
This is purely to save memory - each supported CPU adds
approximately eight kilobytes to the kernel image.
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/>.
Unsynced TSC support
CONFIG_X86_TSC_DISABLE
This option is used for getting Linux to run on a NUMA multi-node
boxes, laptops and other systems suffering from unsynced TSCs or
TSC drift, which can cause gettimeofday to return non-monotonic values.
Choosing this option will disable the CONFIG_X86_TSC optimization,
and allows you to then specify "notsc" as a boot option regardless of
which processor you have compiled for.
NOTE: If your system hangs when init should run, you are probably
using a i686 compiled glibc which reads the TSC without checking for
availability. Boot without "notsc" and install a i386 compiled glibc
to solve the problem.
If unsure, say N.
Multiquad support for NUMAQ systems
CONFIG_X86_NUMAQ
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
Support for IBM Summit (EXA) systems
CONFIG_X86_SUMMIT
This option is needed for IBM systems that use the Summit/EXA chipset.
(EXA: Extendable Xseries Architecture)In particular, it is needed for
the x440 (even for the 4-CPU model).
If you don't have this computer, you may safely say N.
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 behaviour 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.
HIGHMEM I/O support
CONFIG_HIGHIO
If you want to be able to do I/O to high memory pages, say Y.
Otherwise low memory pages are used as bounce buffers causing a
degrade in performance.
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.
Embed root filesystem ramdisk into the kernel
CONFIG_EMBEDDED_RAMDISK
Select this option if you want to build the ramdisk image into the
the final kernel binary.
Filename of gziped ramdisk image
CONFIG_EMBEDDED_RAMDISK_IMAGE
This is the filename of the ramdisk image to be built into the
kernel. Relative pathnames are relative to arch/mips/ramdisk/.
The ramdisk image is not part of the kernel distribution; you must
provide one yourself.
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.
Micro Memory MM5415 Battery Backed RAM support (EXPERIMENTAL)
CONFIG_BLK_DEV_UMEM
Saying Y here will include support for the MM5415 family of
battery backed (Non-volatile) RAM cards.
<http://www.umem.com/>
The cards appear as block devices that can be partitioned into
as many as 15 partitions.
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 Documentation/modules.txt. The module will be
called umem.o.
The umem driver has been allocated block major number 116.
See Documentation/devices.txt for recommended device naming.
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.
Per partition statistics in /proc/partitions
CONFIG_BLK_STATS
If you say yes here, your kernel will keep statistical information
for every partition. The information includes things as numbers of
read and write accesses, the number of merged requests etc.
This is required for the full functionality of sar(8) and interesting
if you want to do performance tuning, by tweaking the elevator, e.g.
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.tldp.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.tldp.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.
This driver 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>. The module will be called
ide-cs.o
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.
AWARD Bios Work-Around
CONFIG_IDEDISK_STROKE
Should you have a system w/ an AWARD Bios and your drives are larger
than 32GB and it will not boot, one is required to perform a few OEM
operations first. The option is called "STROKE" because it allows
one to "soft clip" the drive to work around a barrier limit. For
Maxtor drives it is called "jumpon.exe". Please search Maxtor's
web-site for "JUMPON.EXE". IBM has a similar tool at:
<http://www.storage.ibm.com/hdd/support/download.htm>.
If you are unsure, say N here.
Raw Access to Media
CONFIG_IDE_TASK_IOCTL
This is a direct raw access to the media. It is a complex but
elegant solution to test and validate the domain of the hardware and
perform below the driver data recover if needed. This is the most
basic form of media-forensics.
If you are unsure, say N here.
Use Taskfile I/O
CONFIG_IDE_TASKFILE_IO
This is the "Jewel" of the patch. It will go away and become the new
driver core. Since all the chipsets/host side hardware deal w/ their
exceptions in "their local code" currently, adoption of a
standardized data-transport is the only logical solution.
Additionally we packetize the requests and gain rapid performance and
a reduction in system latency. Additionally by using a memory struct
for the commands we can redirect to a MMIO host hardware in the next
generation of controllers, specifically second generation Ultra133
and Serial ATA.
Since this is a major transition, it was deemed necessary to make the
driver paths buildable in separate models. Therefore if using this
option fails for your arch then we need to address the needs for that
arch.
If you want to test this functionality, say Y here.
Force DMA
CONFIG_BLK_DEV_IDEDMA_FORCED
This is an old piece of lost code from Linux 2.0 Kernels.
Generally say N here.
DMA Only on Disks
CONFIG_IDEDMA_ONLYDISK
This is used if you know your ATAPI Devices are going to fail DMA
Transfers.
Generally say N here.
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.
This driver 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>. The module will be called
ide-scsi.o
Use the NOOP Elevator (WARNING)
CONFIG_BLK_DEV_ELEVATOR_NOOP
If you are using a raid class top-level driver above the ATA/IDE core,
one may find a performance boost by preventing a merging and re-sorting
of the new requests.
If unsure, say N.
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.
Asynchronous 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/setup-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>.
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 3w-xxxx.o.
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/pci/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/pci/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/pci/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 and nVidia IDE support
CONFIG_BLK_DEV_AMD74XX
This driver adds explicit support for AMD-7xx and AMD-8111 chips
and also for the nVidia nForce chip. This allows the kernel to
change PIO, DMA and UDMA speeds and to configure the chip to
optimum performance.
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/pci/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/CMD680 chipset support
CONFIG_BLK_DEV_CMD64X
Say Y here if you have an IDE controller which uses any of these
chipsets: CMD643, CMD646 and CMD648.
Compaq Triflex IDE support
CONFIG_BLK_DEV_TRIFLEX
Say Y here if you have a Compaq Triflex IDE controller, such
as those commonly found on Compaq Pentium-Pro systems
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The module will be called
triflex.o.
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/pci/hpt34x.c>. If you say Y
here, then say Y to "Use DMA by default when available" as well.
If unsure, say N.
HPT36X/37X 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.
HPT372 is an Ultra DMA chipset for ATA-133.
HPT374 is an Ultra DMA chipset for ATA-133.
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/pci/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/pci/opti621.c>.
National SCx200 chipset support
CONFIG_BLK_DEV_SC1200
This driver adds support for the built in IDE on the National
SCx200 series of embedded x86 "Geode" systems
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The module will be called
sc1200.o.
ServerWorks OSB4/CSB5 chipset support
CONFIG_BLK_DEV_SVWKS
This driver adds PIO/(U)DMA support for the ServerWorks OSB4/CSB5
chipsets.
SGI IOC4 chipset support
CONFIG_BLK_DEV_SGIIOC4
This driver adds PIO & MultiMode DMA-2 support for the SGI IOC4
chipset. Please say Y here, if you have an Altix System from
Silicon Graphics Inc.
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/pci/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_OLD
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/pci/pdc202xx_old.c>.
If unsure, say N.
PROMISE PDC202{68|69|70|71|75|76|77} support
CONFIG_BLK_DEV_PDC202XX_NEW
Promise Ultra 100 TX2 [PDC20268]
Promise Ultra 133 PTX2 [PDC20269]
Promise FastTrak LP/TX2/TX4 [PDC20270]
Promise FastTrak TX2000 [PDC20271]
Promise MB Ultra 133 [PDC20275]
Promise MB FastTrak 133 [PDC20276]
Promise FastTrak 133 [PDC20277]
This driver adds up to 4 more EIDE devices sharing a single
interrupt. This device 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 (max of five) 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.
If you say Y here, you need to say Y to "Use DMA by default when
available" as well.
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 successfully 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/pci/pdc202xx_old.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 family based
mainboards.
The following chipsets are supported:
ATA16: SiS5511, SiS5513
ATA33: SiS5591, SiS5597, SiS5598, SiS5600
ATA66: SiS530, SiS540, SiS620, SiS630, SiS640
ATA100: SiS635, SiS645, SiS650, SiS730, SiS735, SiS740,
SiS745, SiS750
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/pci/sis5513.c>.
Silicon Image chipset support
CONFIG_BLK_DEV_SIIMAGE
This driver provides (U)DMA support for the SII3112 SATA controllers and
for the CMD/SI680 UDMA/DMA ATA controller.
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/pci/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/pci/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/pci/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/legacy/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/legacy/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/legacy/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/legacy/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/legacy/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/legacy/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.
Broadcom SiByte onboard IDE support
CONFIG_BLK_DEV_IDE_SIBYTE
Include the driver for on-board IDE on the SiByte Generic Bus. Note
that this limits the number of IDE devices to 4 (ide0...ide3).
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.tldp.org/docs.html#howto>. There you will also learn
where to get the supporting user space utilities raidtools.
This driver 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>. The module will be called
md.o
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.tldp.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.tldp.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.tldp.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.
This driver 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>. The module will be called
multipath.o
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 implementation 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.
This driver 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>. The module will be called
ataraid.o
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/>.
SGI SN2 L1 serial port support
CONFIG_SGI_L1_SERIAL
If you have an SGI SN2 and you want to use the serial port connected
to the system controller (you want this!), say Y. Otherwise, say N.
SGI SN2 L1 serial console support
CONFIG_SGI_L1_SERIAL_CONSOLE
If you have an SGI SN2 and you would like to use the system
controller serial port as your console (you want this!), say Y.
Otherwise, say N.
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.
# Choice: bcmboard
Support for Broadcom SiByte boards
CONFIG_SIBYTE_SWARM
Enable support for boards based on the Broadcom SiByte family:
BCM91250A-SWARM BCM1250 ATX size Eval Board (BCM91250A-SWARM)
BCM91250E-Sentosa BCM1250 PCI card Eval Board (BCM91250E-Sentosa)
BCM91125E-Rhone BCM1125 PCI card Eval Board (BCM91125E-Rhone)
Other Non-Broadcom SiByte-based platform
# Choice: bcmsoc
Support for Broadcom BCM1xxx SOCs
CONFIG_SIBYTE_SB1250
BCM1250 Dual-CPU SB1 with PCI and HyperTransport.
BCM1120 Uniprocessor SB1.
BCM1125 Uniprocessor SB1 with PCI (and HyperTransport for 1125H).
BCM1250 Stepping
CONFIG_CPU_SB1_PASS_1
Which pass of the SOC is supported (see the "system_revision"
register in the User Manual for more discussion of revisions):
Pass1 1250 "Pass 1"
An 1250 "Pass 2"
Bn 1250 "Pass 2.2"
Cn 1250 "Pass 3"
BCM112x Stepping
CONFIG_CPU_SB1_PASS_2
Which pass of the SOC is supported (see the "system_revision"
register in the User Manual for more discussion of revisions):
Hybrid 1250 "Pass 2"
An 112x "Pass 1"
Booting from CFE
CONFIG_SIBYTE_CFE
Make use of the CFE API for enumerating available memory,
controlling secondary CPUs, and possibly console output.
Use firmware console
CONFIG_SIBYTE_CFE_CONSOLE
Use the CFE API's console write routines during boot. Other console
options (VT console, sb1250 duart console, etc.) should not be
configured.
Support for Bus Watcher statistics
CONFIG_SIBYTE_BUS_WATCHER
Handle and keep statistics on the bus error interrupts (COR_ECC,
BAD_ECC, IO_BUS).
Corelis Debugger
CONFIG_SB1XXX_CORELIS
Select compile flags that produce code that can be processed by the
Corelis mksym utility and UDB Emulator.
DMA for page clear and copy
CONFIG_SIBYTE_DMA_PAGEOPS
Instead of using the CPU to zero and copy pages, use a Data Mover
channel. These DMA channels are otherwise unused by the standard
SiByte Linux port. Seems to give a small performance benefit.
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.
Lasi Ethernet
CONFIG_LASI_82596
Say Y here to support the on-board Intel 82596 ethernet controller
built into Hewlett-Packard PA-RISC machines.
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 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.
SGI PROM Console Support
CONFIG_SGI_PROM_CONSOLE
Say Y here to set up the boot console on serial port 0.
DECstation serial support
CONFIG_SERIAL_DEC
This selects whether you want to be asked about drivers for
DECstation serial ports.
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 DECstation serial ports.
If unsure, say Y.
Support for console on a DECstation serial port
CONFIG_SERIAL_DEC_CONSOLE
If you say Y here, it will be possible to use a serial port as the
system console (the system console is the device which receives all
kernel messages and warnings and which allows logins in single user
mode). Note that the firmware uses ttyS0 as the serial console on
the Maxine and ttyS2 on the others.
If unsure, say Y.
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.
SB1 Broadcom SiByte SB1 processor.
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.
SB1
CONFIG_CPU_SB1
Broadcom SiByte SB1 processor.
Discontiguous Memory Support
CONFIG_DISCONTIGMEM
Say Y to support 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 understand 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
behaviour 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.tldp.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'.
Amanda protocol support
CONFIG_IP_NF_AMANDA
If you are running the Amanda backup package (http://www.amanda.org/)
on this machine or machines that will be MASQUERADED through this
machine, then you may want to enable this feature. This allows the
connection tracking and natting code to allow the sub-channels that
Amanda requires for communication of the backup data, messages and
index.
If you want to compile it as a module, say M here and read
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'.
TFTP protocol support
CONFIG_IP_NF_TFTP
TFTP connection tracking helper, this is required depending
on how restrictive your ruleset is.
If you are using a tftp client behind -j SNAT or -j MASQUERADING
you will need this.
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `Y'.
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'.
recent match support
CONFIG_IP_NF_MATCH_RECENT
This match is used for creating one or many lists of recently
used addresses and then matching against that/those list(s).
Short options are available by using 'iptables -m recent -h'
Official Website: <http://snowman.net/projects/ipt_recent/>
If you want to compile it as a module, say M here and read
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'.
skb->pkt_type packet match support
CONFIG_IP_NF_MATCH_PKTTYPE
This patch allows you to match packet in accrodance
to its "class", eg. BROADCAST, MULTICAST, ...
Typical usage:
iptables -A INPUT -m pkttype --pkt-type broadcast -j LOG
If you want to compile it as a module, say M here and read
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'.
DSCP match support
CONFIG_IP_NF_MATCH_DSCP
This option adds a `DSCP' match, which allows you to match against
the IPv4 header DSCP field (DSCP codepoint).
The DSCP codepoint can have any value between 0x0 and 0x4f.
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `N'.
ECN match support
CONFIG_IP_NF_MATCH_ECN
This option adds a `ECN' match, which allows you to match against
the IPv4 and TCP header ECN fields.
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'.
conntrack match support
CONFIG_IP_NF_MATCH_CONNTRACK
This is a general conntrack match module, a superset of the state match.
It allows matching on additional conntrack information, which is
useful in complex configurations, such as NAT gateways with multiple
internet links or tunnels.
If you want to compile it as a module, say M here and read
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'.
Local NAT support
CONFIG_IP_NF_NAT_LOCAL
This option enables support for NAT of locally originated connections.
Enable this if you need to use destination NAT on connections
originating from local processes on the nat box itself.
Please note that you will need a recent version (>= 1.2.6a)
of the iptables userspace program in order to use this feature.
See <http://www.iptables.org/> for download instructions.
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'.
DSCP target support
CONFIG_IP_NF_TARGET_DSCP
This option adds a `DSCP' target, which allows you to create rules in
the iptables mangle table. The selected packet has the DSCP field set
to the hex value provided on the command line; unlike the TOS target
which will only set the legal values within ip.h.
The DSCP field can be set to any value between 0x0 and 0x4f. It does
take into account that bits 6 and 7 are used by ECN.
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `N'.
ECN target support
CONFIG_IP_NF_TARGET_ECN
This option adds a `ECN' target, which can be used in the iptables mangle
table.
You can use this target to remove the ECN bits from the IPv4 header of
an IP packet. This is particularly useful, if you need to work around
existing ECN blackholes on the internet, but don't want to disable
ECN support in general.
If you want to compile it as a module, say M here and read
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
behaviour.
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'.
Helper match support
CONFIG_IP_NF_MATCH_HELPER
Helper matching allows you to match packets in dynamic connections
tracked by a conntrack-helper, ie. ip_conntrack_ftp
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `Y'.
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 appropriate 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'.
EUI64 address check (EXPERIMENTAL)
CONFIG_IP6_NF_MATCH_EUI64
This module performs checking on the IPv6 source address
Compares the last 64 bits with the EUI64 (delivered
from the MAC address) address
If you want to compile it as a module, say M here and read
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'.
length match support
CONFIG_IP6_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
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
behaviour.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
ARP payload mangling
CONFIG_IP_NF_ARP_MANGLE
Allows altering the ARP packet payload: source and destination
hardware and network addresses.
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'.
IP: virtual server support
CONFIG_IP_VS
IP Virtual Server support will let you build a high-performance
virtual server based on cluster of two or more real servers. This
option must be enabled for at least one of the clustered computers
that will take care of intercepting incomming connections to a
single IP address and scheduling them to real servers.
Three request dispatching techniques are implemented, they are
virtual server via NAT, virtual server via tunneling and virtual
server via direct routing. The several scheduling algorithms can
be used to choose which server the connection is directed to,
thus load balancing can be achieved among the servers. For more
information and its administration program, please visit the
following URL:
http://www.linuxvirtualserver.org/
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IP virtual server debugging
CONFIG_IP_VS_DEBUG
Say Y here if you want to get additional messages useful in
debugging the IP virtual server code. You can change the debug
level in /proc/sys/net/ipv4/vs/debug_level
IPVS connection hash table size (the Nth power of 2)
CONFIG_IP_VS_TAB_BITS
The IPVS connection hash table uses the chaining scheme to handle
hash collisions. Using a big IPVS connection hash table will greatly
reduce conflicts when there are hundreds of thousands of connections
in the hash table.
Note the table size must be power of 2. The table size will be the
value of 2 to the your input number power. The number to choose is
from 8 to 20, the default number is 12, which means the table size
is 4096. Don't input the number too small, otherwise you will lose
performance on it. You can adapt the table size yourself, according
to your virtual server application. It is good to set the table size
not far less than the number of connections per second multiplying
average lasting time of connection in the table. For example, your
virtual server gets 200 connections per second, the connection lasts
for 200 seconds in average in the connection table, the table size
should be not far less than 200x200, it is good to set the table
size 32768 (2**15).
Another note that each connection occupies 128 bytes effectively and
each hash entry uses 8 bytes, so you can estimate how much memory is
needed for your box.
IPVS: round-robin scheduling
CONFIG_IP_VS_RR
The robin-robin scheduling algorithm simply directs network
connections to different real servers in a round-robin manner.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: weighted round-robin scheduling
CONFIG_IP_VS_WRR
The weighted robin-robin scheduling algorithm directs network
connections to different real servers based on server weights
in a round-robin manner. Servers with higher weights receive
new connections first than those with less weights, and servers
with higher weights get more connections than those with less
weights and servers with equal weights get equal connections.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: least-connection scheduling
CONFIG_IP_VS_LC
The least-connection scheduling algorithm directs network
connections to the server with the least number of active
connections.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: weighted least-connection scheduling
CONFIG_IP_VS_WLC
The weighted least-connection scheduling algorithm directs network
connections to the server with the least active connections
normalized by the server weight.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: locality-based least-connection scheduling
CONFIG_IP_VS_LBLC
The locality-based least-connection scheduling algorithm is for
destination IP load balancing. It is usually used in cache cluster.
This algorithm usually directs packet destined for an IP address to
its server if the server is alive and under load. If the server is
overloaded (its active connection numbers is larger than its weight)
and there is a server in its half load, then allocate the weighted
least-connection server to this IP address.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: locality-based least-connection with replication scheduling
CONFIG_IP_VS_LBLCR
The locality-based least-connection with replication scheduling
algorithm is also for destination IP load balancing. It is
usually used in cache cluster. It differs from the LBLC scheduling
as follows: the load balancer maintains mappings from a target
to a set of server nodes that can serve the target. Requests for
a target are assigned to the least-connection node in the target's
server set. If all the node in the server set are over loaded,
it picks up a least-connection node in the cluster and adds it
in the sever set for the target. If the server set has not been
modified for the specified time, the most loaded node is removed
from the server set, in order to avoid high degree of replication.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: destination hashing scheduling
CONFIG_IP_VS_DH
The destination hashing scheduling algorithm assigns network
connections to the servers through looking up a statically assigned
hash table by their destination IP addresses.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: source hashing scheduling
CONFIG_IP_VS_SH
The source hashing scheduling algorithm assigns network
connections to the servers through looking up a statically assigned
hash table by their source IP addresses.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: shortest expected delay scheduling
CONFIG_IP_VS_SED
The shortest expected delay scheduling algorithm assigns network
connections to the server with the shortest expected delay. The
expected delay that the job will experience is (Ci + 1) / Ui if
sent to the ith server, in which Ci is the number of connections
on the the ith server and Ui is the fixed service rate (weight)
of the ith server.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: never queue scheduling
CONFIG_IP_VS_NQ
The never queue scheduling algorithm adopts a two-speed model.
When there is an idle server available, the job will be sent to
the idle server, instead of waiting for a fast one. When there
is no idle server available, the job will be sent to the server
that minimize its expected delay (The Shortest Expected Delay
scheduling algorithm).
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
IPVS: FTP protocol helper
CONFIG_IP_VS_FTP
FTP is a protocol that transfers IP address and/or port number in
the payload. In the virtual server via Network Address Translation,
the IP address and port number of real servers cannot be sent to
clients in ftp connections directly, so FTP protocol helper is
required for tracking the connection and mangling it back to that of
virtual service.
If you want to compile it in kernel, say Y. If you want to compile
it as a module, say M here and read Documentation/modules.txt. If
unsure, say N.
AH/ESP match support (EXPERIMENTAL)
CONFIG_IP6_NF_MATCH_AHESP
This module allows one to match AH and ESP packets.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The modules will be called
ip6t_ah.o and ip6t_esp.o.
If unsure, say 'N'.
Routing header match support
CONFIG_IP6_NF_MATCH_RT
rt matching allows you to match packets based on the routing
header of the packet.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The module will be called
ip6t_rt.o.
If unsure, say 'N'.
Hop-by-hop and Dst opts header match support
CONFIG_IP6_NF_MATCH_OPTS
This allows one to match packets based on the hop-by-hop
and destination options headers of a packet.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The modules will be called
ip6t_hbh.o and ip6t_dst.o.
If unsure, say 'N'.
Fragmentation header match support
CONFIG_IP6_NF_MATCH_FRAG
frag matching allows you to match packets based on the fragmentation
header of the packet.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The module will be called
ip6t_frag.o.
If unsure, say 'N'.
HL match support
CONFIG_IP6_NF_MATCH_HL
HL matching allows you to match packets based on the hop
limit of the packet.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The module will be called
ip6t_hl.o.
If unsure, say 'N'.
IPv6 Extension Headers Match (EXPERIMENTAL)
CONFIG_IP6_NF_MATCH_IPV6HEADER
This module allows one to match packets based upon
the ipv6 extension headers.
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. The module will be called
ip6t_ipv6header.o.
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.
# 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