Edited for brevity (mostly networking), to make the links clickable, and to add the table of contents. Taken from linux-2.2.14-pre9
# From 2.2.14-pre9
#
# Maintained by Axel Boldt (boldt@math.ucsb.edu)
#
# This version of the Linux kernel configuration help texts
# corresponds to the kernel versions 2.2.x.
#
# All this was shamelessly stolen from several 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-1999 by Axel Boldt and many others and are governed by the GNU
# General Public License.
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 filesystems 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 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 Documentation/modules.txt. The module will be
called nbd.o.
If unsure, say N.
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 Documentation/Changes.
For a general introduction to Linux networking, it is highly
recommended to read the NET-3-HOWTO, available via FTP (user:
anonymous) from ftp://metalab.unc.edu/pub/Linux/docs/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 linux/Documentation/networking/filter.txt for more information.
If unsure, say N.
Network firewalls
CONFIG_FIREWALL
A firewall is a computer which protects a local network from the
rest of the world: all traffic to and from computers on the local
net is inspected by the firewall first, and sometimes blocked or
modified. The type of firewall you'll get if you say Y here is
called a "packet filter": it can block network traffic based on
type, origin and destination. By contrast, "proxy-based" firewalls
are more secure but more intrusive and more bothersome to set up;
they inspect the network traffic much more closely, modify it and
have knowledge about the higher level protocols, which packet
filters lack. They also often require changes in the programs
running on the local clients. Proxy-based firewalls don't need
support by the kernel, but they are often combined with packet
filters, which only works if you say Y here.
If you want to configure your Linux box as a packet filter firewall
for a local network, say Y here. If your local network is TCP/IP
based, you will then also have to say Y to "IP: firewalling", below.
You also need to say Y here and to "IP firewalling" below in order
to be able to use IP masquerading (i.e. local computers can chat
with an outside host, but that outside host is made to think that it
is talking to the firewall box -- makes the local network completely
invisible to the outside world and avoids the need to allocate
globally valid IP host addresses for the machines on the local net)
and IP transparent proxying (makes the computers on the local
network think they're talking to a remote computer, while in reality
the traffic is redirected by your Linux firewall to a local proxy
server).
Make sure to say N to "Fast switching" below if you intend to say Y
here.
Chances are that you should say Y here for every machine which is
run as a router and N for every regular host. 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
ftp://koobera.math.uic.edu/pub/docs/syncookies-archive
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 filesystem support" and
"Sysctl support" below and executing the command
echo 1 >/proc/sys/net/ipv4/tcp_syncookies
at boot time after the proc filesystem has been mounted.
If unsure, say Y.
Sysctl support
CONFIG_SYSCTL
The sysctl interface provides a means of dynamically changing
certain kernel parameters and variables on the fly without requiring
a recompile of the kernel or reboot of the system. The primary
interface consists of a system call, but if the /proc filesystem is
enabled, a tree of modifiable sysctl entries will be generated
beneath the /proc/sys directory. They are explained in the files in
Documentation/sysctl/. Note that enabling this option will enlarge
the kernel by at least 8 KB.
As it is generally a good thing, you should say Y here unless
building a kernel for install/rescue disks or your system is very
limited in memory.
ARP daemon support (EXPERIMENTAL)
CONFIG_ARPD
Normally, the kernel maintains an internal cache which maps IP
addresses to hardware addresses on the local network, so that
Ethernet/Token Ring/ etc. frames are sent to the proper address on
the physical networking layer. For small networks having a few
hundred directly connected hosts or less, keeping this address
resolution (ARP) cache inside the kernel works well. However,
maintaining an internal ARP cache does not work well for very large
switched networks, and will use a lot of kernel memory if TCP/IP
connections are made to many machines on the network.
If you say Y here, the kernel's internal ARP cache will never grow
to more than 256 entries (the oldest entries are expired in a LIFO
manner) and communication will be attempted with the user space ARP
daemon arpd. Arpd then answers the address resolution request either
from its own cache or by asking the net.
This code is experimental. If you do say Y here, you should obtain a
copy of arpd from http://www.loran.com/~layes/arpd/index.html, and
you should also say Y to "Kernel/User network link driver", below.
If unsure, say N.
TCP/IP networking
CONFIG_INET
These are the protocols used on the Internet and on most local
Ethernets. It is highly recommended to say Y here (this will enlarge
your kernel by about 35 KB), since some programs (e.g. the X window
system) use TCP/IP even if your machine is not connected to any
other computer. You will get the so-called loopback device which
allows you to ping yourself (great fun, that!).
For an excellent introduction to Linux networking, please read the
NET-3-HOWTO, available via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
This option is also necessary if you want to use the full power of
term (term is a program which gives you almost full Internet
connectivity if you have a regular dial up shell account on some
Internet connected Unix computer; for more information, read
http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html).
If you say Y here and also to "/proc filesystem support" and "Sysctl
support" below, you can change various aspects of the behavior of
the TCP/IP code by writing to the (virtual) files in
/proc/sys/net/ipv4/*; the options are explained in the file
Documentation/Networking/ip-sysctl.txt.
Short answer: say Y.
IP: multicasting
CONFIG_IP_MULTICAST
This is code for addressing several networked computers at once,
enlarging your kernel by about 2 kB. You need multicasting if you
intend to participate in the MBONE, a high bandwidth network on top
of the Internet which carries audio and video broadcasts. More
information about the MBONE is on the WWW at
http://www.best.com/~prince/techinfo/mbone.html (to browse the WWW,
you need to have access to a machine on the Internet that has a
program like lynx or netscape). Information about the multicast
capabilities of the various network cards is contained in
Documentation/networking/multicast.txt. For most people, it's safe
to say N.
IP: advanced router
CONFIG_IP_ADVANCED_ROUTER
If you intend to run your Linux box mostly as a router, i.e. as a
computer that forwards and redistributes network packets, say Y; you
will then be presented with several options that allow more precise
control about the routing process.
The answer to this question won't directly affect the kernel:
answering N will just cause this configure script to skip all the
questions about advanced routing.
Note that your box can only act as a router if you enable IP
forwarding in your kernel; you can do that by saying Y to "/proc
filesystem support" and "Sysctl support" below and executing the
line
echo "1" > /proc/sys/net/ipv4/ip_forward
at boot time after the /proc filesystem has been mounted.
If you turn on IP forwarding, you will also get the rp_filter, which
automatically rejects incoming packets if the routing table entry
for their source address doesn't match the network interface they're
arriving on. This has security advantages because it prevents the
so-called IP spoofing, however it can pose problems if you use
asymmetric routing (packets from you to a host take a different path
than packets from that host to you) or if you operate a non-routing
host which has several IP addresses on different interfaces. To turn
rp_filter off use:
echo 0 > /proc/sys/net/ipv4/conf/<device>/rp_filter
or
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
If unsure, say N here.
IP: policy routing
CONFIG_IP_MULTIPLE_TABLES
Normally, a router decides what to do with a received packet based
solely on the packet's final destination address. If you say Y here,
the Linux router will also be able to take the packet's source
address into account. Furthermore, if you also say Y to "IP: use TOS
value as routing key" below, the TOS (Type-Of-Service) field of the
packet can be used for routing decisions as well. In addition, if
you say Y here and to "IP: fast network address translation" below,
the router will also be able to modify source and destination
addresses of forwarded packets.
If you are interested in this, please see the preliminary
documentation at http://www.compendium.com.ar/policy-routing.txt and
ftp://post.tepkom.ru/pub/vol2/Linux/docs/advanced-routing.tex You
will need supporting software from ftp://ftp.inr.ac.ru/ip-routing/
If unsure, say N.
IP: equal cost multipath
CONFIG_IP_ROUTE_MULTIPATH
Normally, the routing tables specify a single action to be taken in
a deterministic manner for a given packet. If you say Y here
however, it becomes possible to attach several actions to a packet
pattern, in effect specifying several alternative paths to travel
for those packets. The router considers all these paths to be of
equal "cost" and chooses one of them in a non-deterministic fashion
if a matching packet arrives.
IP: use TOS value as routing key
CONFIG_IP_ROUTE_TOS
The header of every IP packet carries a TOS (Type of Service) value
with which the packet requests a certain treatment, e.g. low latency
(for interactive traffic), high throughput, or high reliability. If
you say Y here, you will be able to specify different routes for
packets with different TOS values.
IP: use FWMARK value as routing key
CONFIG_IP_ROUTE_FWMARK
If you say Y here, you will be able to specify different routes for
packets with different FWMARK ("firewalling mark") values
(see ipchains(8), "-m" argument).
IP: verbose route monitoring
CONFIG_IP_ROUTE_VERBOSE
If you say Y here, which is recommended, then the kernel will print
verbose messages regarding the routing, for example warnings about
received packets which look strange and could be evidence of an
attack or a misconfigured system somewhere. The information is
handled by the klogd daemon which is responsible for kernel messages
("man klogd").
IP: large routing tables
CONFIG_IP_ROUTE_LARGE_TABLES
If you have routing zones that grow to more than about 64 entries,
you may want to say Y here to speed up the routing process.
IP: fast network address translation
CONFIG_IP_ROUTE_NAT
If you say Y here, your router will be able to modify source and
destination addresses of packets that pass through it, in a manner
you specify. General information about Network Address Translation
can be gotten from the document
http://www.csn.tu-chemnitz.de/~mha/linux-ip-nat/diplom/nat.html
IP: optimize as router not host
CONFIG_IP_ROUTER
Some Linux network drivers use a technique called copy and checksum
to optimize host performance. For a machine which acts as a router
most of the time and is forwarding most packets to another host this
is however a loss. If you say Y here, copy and checksum will be
switched off. In the future, it may make other changes which
optimize for router operation.
Note that your box can only act as a router if you enable IP
forwarding in your kernel; you can do that by saying Y to "/proc
filesystem support" and "Sysctl support" below and executing the
line
echo "1" > /proc/sys/net/ipv4/ip_forward
at boot time after the /proc filesystem has been mounted. You can do
that even if you say N here.
If unsure, say N here.
IP: firewalling
CONFIG_IP_FIREWALL
If you want to configure your Linux box as a packet filter firewall
for a local TCP/IP based network, say Y here. You may want to read
the FIREWALL-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
Also, you will need the ipchains tool (available on the WWW at
http://www.rustcorp.com/linux/ipchains/) to allow selective blocking
of Internet traffic based on type, origin and destination.
Note that the Linux firewall code has changed and the old program
called ipfwadm won't work anymore. Please read the IPCHAINS-HOWTO.
The type of firewall provided by ipchains and this kernel support is
called a "packet filter". The other type 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.
The firewalling code will only work if IP forwarding is enabled in
your kernel. You can do that by saying Y to "/proc filesystem
support" and "Sysctl support" below and executing the line
echo "1" > /proc/sys/net/ipv4/ip_forward
at boot time after the /proc filesystem has been mounted.
You need to say Y to "IP firewalling" in order to be able to use IP
masquerading (masquerading means that local computers can chat with
an outside host, but that outside host is made to think that it is
talking to the firewall box -- makes the local network completely
invisible to the outside world and avoids the need to allocate
globally valid IP host addresses for the machines on the local net)
and IP packet logging and accounting (keeping track of what is using
all your network bandwidth) and IP transparent proxying (makes the
computers on the local network think they're talking to a remote
computer, while in reality the traffic is redirected by your Linux
firewall to a local proxy server).
If in doubt, say N here.
IP: firewall packet netlink device
CONFIG_IP_FIREWALL_NETLINK
If you say Y here, you can use the ipchains tool to copy all or part
of any packet you specify that hits your Linux firewall to optional
user space monitoring software that can then look for attacks and
take actions such as paging the administrator of the site.
To use this, you need to create a character special file under /dev
with major number 36 and minor number 3 using mknod ("man mknod"),
and you need (to write) a program that reads from that device and
takes appropriate action.
IP: kernel level autoconfiguration
CONFIG_IP_PNP
This enables automatic configuration of IP addresses of devices and
of the routing table during kernel boot, based on either information
supplied at the kernel command line or by BOOTP or RARP protocols.
You need to say Y only for diskless machines requiring network
access to boot (in which case you want to say Y to "Root file system
on NFS" as well), because all other machines configure the network
in their startup scripts.
BOOTP support
CONFIG_IP_PNP_BOOTP
If you want your Linux box to mount its whole root filesystem (the
one containing the directory /) from some other computer over the
net via NFS and you want the IP address of your computer to be
discovered automatically at boot time using the BOOTP protocol (a
special protocol designed for doing this job), say Y here. In case
the boot ROM of your network card was designed for booting Linux and
does BOOTP itself, providing all necessary information on the kernel
command line, you can say N here. If unsure, say Y. Note that if you
want to use BOOTP, a BOOTP server must be operating on your network.
Read Documentation/nfsroot.txt for details.
RARP support
CONFIG_IP_PNP_RARP
If you want your Linux box to mount its whole root filesystem (the
one containing the directory /) from some other computer over the
net via NFS and you want the IP address of your computer to be
discovered automatically at boot time using the RARP protocol (an
older protocol which is being obsoleted by BOOTP and DHCP), say Y
here. Note that if you want to use RARP, a RARP server must be
operating on your network. Read Documentation/nfsroot.txt for
details.
IP: tunneling
CONFIG_NET_IPIP
Tunneling means encapsulating data of one protocol type within
another protocol and sending it over a channel that understands the
encapsulating protocol. This particular tunneling driver implements
encapsulation of IP within IP, which sounds kind of pointless, but
can be useful if you want to make your (or some other) machine
appear on a different network than it physically is, or to use
mobile-IP facilities (allowing laptops to seamlessly move between
networks without changing their IP addresses; check out
http://anchor.cs.binghamton.edu/~mobileip/LJ/index.html).
Saying Y to this option will produce two modules ( = code which can
be inserted in and removed from the running kernel whenever you
want). Most people won't need this and can say N.
IP: GRE tunnels over IP
CONFIG_NET_IPGRE
Tunneling means encapsulating data of one protocol type within
another protocol and sending it over a channel that understands the
encapsulating protocol. This particular tunneling driver implements
GRE (Generic Routing Encapsulation) and at this time allows
encapsulating of IPv4 or IPv6 over existing IPv4 infrastructure.
This driver is useful if the other endpoint is a Cisco router: Cisco
likes GRE much better than the other Linux tunneling driver ("IP:
tunneling" above). In addition, GRE allows multicast redistribution
through the tunnel.
IP: broadcast GRE over IP
CONFIG_NET_IPGRE_BROADCAST
One application of GRE/IP is to construct a broadcast WAN (Wide Area
Network), which looks like a normal Ethernet LAN (Local Area
Network), but can be distributed all over the Internet. If you want
to do that, say Y here and to "IP: multicast routing" below.
IP: transparent proxying
CONFIG_IP_TRANSPARENT_PROXY
This enables your Linux firewall to transparently redirect any
network traffic originating from the local network and destined
for a remote host to a local server, called a "transparent proxy
server". This makes the local computers think they are talking to
the remote end, while in fact they are connected to the local
proxy. Redirection is activated by defining special input firewall
rules (using the ipchains utility) and/or by doing an appropriate
bind() system call.
IP: masquerading
CONFIG_IP_MASQUERADE
If one of the computers on your local network for which your Linux
box acts as a firewall 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 makes it look like it came
from the firewall box itself. It works both ways: if the outside
host replies, the Linux firewall will silently forward the traffic
to the corresponding 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. This makes it
possible to have the computers on the local network participate on
the Internet even if they don't have officially registered IP
addresses. (This last problem can also be solved by connecting the
Linux box to the Internet using SLiRP [SLiRP is a SLIP/PPP emulator
that works if you have a regular dial up shell account on some UNIX
computer; get it via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/system/network/serial/ ].)
The IP masquerading code will only work if IP forwarding is enabled
in your kernel; you can do this by saying Y to "/proc
filesystem support" and "Sysctl support" below and then executing a
line like
echo "1" > /proc/sys/net/ipv4/ip_forward
from a boot time script after the /proc filesystem has been mounted.
Enabling masquerading automagically enables ip_always_defrag too.
Details on how to set things up are contained in the IP Masquerade
mini-HOWTO, available via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/mini; there's also some
information on the WWW at
http://www.tor.shaw.wave.ca/~ambrose/kernel21.html
If you say Y here, then the modules ip_masq_ftp.o (for ftp file
transfers), ip_masq_irc.o (for irc chats), ip_masq_quake.o (you
guessed it), ip_masq_vdolive.o (for VDOLive video connections),
ip_masq_cuseeme.o (for CU-SeeMe broadcasts) and ip_masq_raudio.o
(for RealAudio downloads) will automatically be compiled. They are
needed to make masquerading for these protocols work. Modules are
pieces of code which can be inserted in and removed from the running
kernel whenever you want; read Documentation/modules.txt for
details.
IP: ICMP masquerading
CONFIG_IP_MASQUERADE_ICMP
The basic masquerade code described for "IP: masquerading" above
only handles TCP or UDP packets (and ICMP errors for existing
connections). This option adds additional support for masquerading
ICMP packets, such as ping or the probes used by the Windows 95
tracert program.
If you want this, say Y.
IP: masquerading special modules support
CONFIG_IP_MASQUERADE_MOD
This provides support for special modules that can modify the
rewriting rules used when masquerading. Please note that this
feature adds a little overhead in the input packet processing chain.
Examples of such modules are ipautofw (allowing the masquerading of
protocols which don't have their own protocol helpers) and port
forwarding (making an incoming port of a local computer visible
through the masquerading host).
You will need the user space program "ipmasqadm" to use these
additional modules; you can download it from
http://juanjox.linuxhq.com/
All this additional code is still under development and so is
currently marked EXPERIMENTAL.
If you want to try, for example, PORT FORWARDING, say Y.
IP: ipautofw masquerade support (Experimental)
CONFIG_IP_MASQUERADE_IPAUTOFW
ipautofw is a program which allows the masquerading of protocols
which do not (as yet) have their own protocol helpers. Information
and source for ipautofw is available via FTP (user: anonymous) from
ftp://ftp.netis.com/pub/members/rlynch/
You will also need the ipmasqadm tool available from
http://juanjox.linuxhq.com/ .
The ipautofw code is still under development and so is currently
marked EXPERIMENTAL. If you want to try it, say Y.
This code is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called ip_masq_autofw.o. If you want to compile
it as a module, say M here and read Documentation/modules.txt.
IP: ipportfw masquerade support
CONFIG_IP_MASQUERADE_IPPORTFW
Port Forwarding is an addition to IP Masquerading which allows some
forwarding of packets from outside to inside a firewall on given
ports. This could be useful if, for example, you want to run a web
server behind the firewall or masquerading host and that web server
should be accessible from the outside world. An external client
sends a request to port 80 of the firewall, the firewall forwards
this request to the web server, the web server handles the request
and the results are sent through the firewall to the original
client. The client thinks that the firewall machine itself is
running the web server. This can also be used for load balancing if
you have a farm of identical web servers behind the firewall.
Information about this feature is available from
http://www.monmouth.demon.co.uk/ipsubs/portforwarding.html (to
browse the WWW, you need to have access to a machine on the Internet
that has a program like lynx or netscape). For general info, please
see ftp://ftp.compsoc.net/users/steve/ipportfw/linux21/
You will need the user space program "ipmasqadm" which can be
downloaded from http://juanjox.linuxhq.com/
The portfw code is still under development and so is currently
marked EXPERIMENTAL. If you want to try it, say Y.
This code is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called ip_masq_portfw.o. If you want to compile
it as a module, say M here and read Documentation/modules.txt.
IP: ipmarkfw masquerade support
CONFIG_IP_MASQUERADE_MFW
Firewall Mark Forwarding provides functionality similar to port
forwarding (see "IP: ipportfw masquerade support", above), the
difference being that Firewall Mark Forwarding uses "firewalling
mark" to select which packets must be forwarded (see ipchains(8),
"-m" argument).
This code is still under development and so is currently marked
EXPERIMENTAL. If you want to try it, say Y.
This code is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called ip_masq_markfw.o. If you want to compile
it as a module, say M here and read Documentation/modules.txt.
IP: aliasing support
CONFIG_IP_ALIAS
Sometimes it is useful to give several IP addresses to a single
physical network interface (serial port or Ethernet card). The most
common case is that you want to serve different WWW or ftp documents
to the outside depending on which of your host names was used to
connect to you. This is called "multihosting" or "virtual domains"
or "virtual hosting services" and is explained in detail on the WWW
at http://www.thesphere.com/~dlp/TwoServers/ (to browse the WWW, you
need to have access to a machine on the Internet that has a program
like lynx or netscape) and also in the Virtual-Services-HOWTO,
available via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
Another scenario would be that there are two logical networks living
on your local Ethernet and you want to access them both with the
same Ethernet card. This can also be done if you say Y here.
The configuration of these alias addresses is done with a special
name syntax explained in Documentation/networking/alias.txt and in
the IP-Alias mini-HOWTO. If you want this, say Y. Most people don't
need it and say N.
IP: multicast routing
CONFIG_IP_MROUTE
This is used if you want your machine to act as a router for IP
packets that have several destination addresses. It is needed on the
MBONE, a high bandwidth network on top of the Internet which carries
audio and video broadcasts. In order to do that, you would most
likely run the program mrouted. Information about the multicast
capabilities of the various network cards is contained in
Documentation/networking/multicast.txt. If you haven't heard about
it, you don't need it.
IP: PIM-SM version 1 support
CONFIG_IP_PIMSM_V1
Kernel side support for Sparse Mode PIM (Protocol Independent
Multicast) version 1. This multicast routing protocol is used widely
because Cisco supports it. You need special software to use it
(pimd-v1). Please see http://netweb.usc.edu/pim/ for more
information about PIM (to browse the WWW, you need to have access to
a machine on the Internet that has a program like lynx or
netscape).
Say Y if you want to use PIM-SM v1. Note that you can say N here if
you just want to use Dense Mode PIM.
IP: PIM-SM version 2 support
CONFIG_IP_PIMSM_V2
Kernel side support for Sparse Mode PIM version 2. In order to use
this, you need an experimental routing daemon supporting it (pimd or
gated-5). This routing protocol is not used widely, so say N unless
you want to play with it.
PC/TCP compatibility mode
CONFIG_INET_PCTCP
If you have been having difficulties telnetting to your Linux
machine from a DOS system that uses (broken) PC/TCP networking
software (all versions up to OnNet 2.0) over your local Ethernet try
saying Y here. Everyone else says N.
People having problems with NCSA telnet should see the file
linux/Documentation/networking/ncsa-telnet.
Reverse ARP server
CONFIG_INET_RARP
If there are (usually diskless or portable) machines on your local
network that know their hardware Ethernet addresses but don't know
their IP addresses upon startup, they can send out a Reverse Address
Resolution Protocol (RARP) request to find out their own IP
addresses. Diskless Sun 3 machines use this procedure at boot time,
and diskless Linux boxes can be configured to do it as well.
If you want your Linux box to be able to *answer* such requests,
answer Y here; you'll then have to run the program rarp ("man rarp")
on your box.
If you actually want to use a diskless Sun 3 machine as an X
terminal to Linux, say Y here and fetch Linux-Xkernel from
ftp://metalab.unc.edu/pub/Linux/system/network/boot.net/
Superior solutions to the problem of booting and configuring
machines over a net connection are given by the protocol BOOTP and
its successor DHCP. See the DHCP FAQ
http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html for details (to
browse the WWW, you need to have access to a machine on the Internet
that has a program like lynx or netscape).
If you want to compile RARP support 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 rarp.o.
If you don't understand a word of the above, say N and rest in
peace.
Assume subnets are local
CONFIG_INET_SNARL
Say Y if you are on a subnetted network with all machines connected
by Ethernet segments only, as this option optimizes network access
for this special case. If there are other connections, e.g. SLIP
links, between machines of your IP network, say N. If in doubt,
answer N. The PATH mtu discovery facility will cover most cases
anyway.
Path MTU Discovery (normally enabled)
CONFIG_PATH_MTU_DISCOVERY
MTU (maximal transfer unit) is the size of the chunks we send out
over the net. "Path MTU Discovery" means that, instead of always
sending very small chunks, we start out sending big ones and if we
then discover that some host along the way likes its chunks smaller,
we adjust to a smaller size. This is good, so most people say Y
here.
However, some DOS software (versions of DOS NCSA telnet and Trumpet
Winsock in PPP mode) is broken and won't be able to connect to your
Linux machine correctly in all cases (especially through a terminal
server) unless you say N here. See
Documentation/networking/ncsa-telnet for the location of fixed NCSA
telnet clients. If in doubt, say Y.
Disable NAGLE algorithm (normally enabled)
CONFIG_TCP_NAGLE_OFF
The NAGLE algorithm works by requiring an acknowledgment before
sending small IP frames (packets). This keeps tiny telnet and
rlogin packets from congesting Wide Area Networks. Most people
strongly recommend to say N here, thereby leaving NAGLE
enabled. Those programs that would benefit from disabling this
facility can do it on a per connection basis themselves.
IP: Allow large windows (not recommended if <16 MB of memory)
CONFIG_SKB_LARGE
On high speed, long distance networks the performance limit on
networking becomes the amount of data the sending machine can buffer
until the other end confirms its reception. (At 45 Mbit/second there
are a lot of bits between New York and London ...). If you say Y
here, bigger buffers can be used which allows larger amounts of data
to be "in flight" at any given time. It also means a user process
can require a lot more memory for network buffers and thus this
option is best used only on machines with 16 MB of memory or higher.
Unless you are using long links with end to end speeds of over 2
Mbit a second or satellite links this option will make no difference
to performance.
Unix domain sockets
CONFIG_UNIX
If you say Y here, you will include support for Unix domain sockets;
sockets are the standard Unix mechanism for establishing and
accessing network connections. Many commonly used programs such as
the X Window system and syslog use these sockets even if your
machine is not connected to any network. Unless you are working on
an embedded system or something similar, you therefore definitely
want to say Y here.
However, the socket support is also available as a module ( = code
which can be inserted in and removed from the running kernel
whenever you want). If you want to compile it as a module, say M
here and read Documentation/modules.txt. The module will be called
unix.o. If you try building this as a module and you have said Y to
"Kernel module loader support" above, be sure to add 'alias net-pf-1
unix' to your /etc/conf.modules file. Note that several important
services won't work correctly if you say M here and then neglect to
load the module.
Say Y unless you know what you are doing.
The IPv6 protocol
CONFIG_IPV6
This is experimental support for the next version of the Internet
Protocol: IP version 6 (also called IPng "IP next generation").
Features of this new protocol include: expanded address space,
authentication and privacy, and seamless interoperability with the
current version of IP (IP version 4). For general information about
IPv6, see http://playground.sun.com/pub/ipng/html/ipng-main.html (to
browse the WWW, you need to have access to a machine on the Internet
that has a program like lynx or netscape); for specific information
about IPv6 under Linux read the file net/ipv6/README in the kernel source.
If you want to use IPv6, please upgrade to the newest net-tools as
given in Documentation/Changes. You will still be able to do regular
IPv4 networking as well.
This protocol support 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 ipv6.o. If you want to compile it
as a module, say M here and read Documentation/modules.txt.
It is safe to say N here for now.
IPv6: enable EUI-64 token format
CONFIG_IPV6_EUI64
6bone, the network of computers using the IPv6 protocol, is moving
to a new aggregatable address format and a new link local address
assignment (EUI-64). Say Y if your site has upgraded already, or
has started to upgrade.
IPv6: disable provider based addresses
CONFIG_IPV6_NO_PB
Linux tries to operate correctly when your site has moved to EUI-64
only partially. Unfortunately, the two address formats (old:
"provider based" and new: "aggregatable") are incompatible. Say Y if
your site finished the upgrade to EUI-64, and/or you encountered
some problems caused by the presence of two link-local addresses on
an interface.
IPv6: routing messages via old netlink
CONFIG_IPV6_NETLINK
You can say Y here to receive routing messages from the IPv6 code
through the old netlink interface. However, a better option is to
say Y to "Kernel/User network link driver" and to "Routing
messages" instead.
IPX networking
CONFIG_IPX
This is support for the Novell networking protocol, IPX, commonly
used for local networks of Windows machines. You need it if you want
to access Novell NetWare file or print servers using the Linux
Novell client ncpfs (available via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/system/filesystems/) or from within
the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO, available in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO). In order to do the
former, you'll also have to say Y to "NCP filesystem support",
below.
IPX is similar in scope to IP, while SPX, which runs on top of IPX,
is similar to TCP. There is also experimental support for SPX in
Linux (see "SPX networking", below).
To turn your Linux box into a fully featured NetWare file server and
IPX router, say Y here and fetch either lwared from
ftp://metalab.unc.edu/pub/Linux/system/network/daemons/ or mars_nwe
from ftp://ftp.gwdg.de/pub/linux/misc/ncpfs For more information,
read the IPX-HOWTO in ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
General information about how to connect Linux, Windows machines and
Macs is on the WWW at http://www.eats.com/linux_mac_win.html (to
browse the WWW, you need to have access to a machine on the Internet
that has a program like lynx or netscape).
The IPX driver would enlarge your kernel by about 5 kB. 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 ipx.o. If you want to compile it as a module, say M here
and read Documentation/modules.txt. Unless you want to integrate
your Linux box with a local Novell network, say N.
IPX: Full internal IPX network
CONFIG_IPX_INTERN
Every IPX network has an address that identifies it. Sometimes it is
useful to give an IPX "network" address to your Linux box as well
(for example if your box is acting as a file server for different
IPX networks: it will then be accessible from everywhere using the
same address). The way this is done is to create a virtual internal
"network" inside your box and to assign an IPX address to this
network. Say Y here if you want to do this; read the IPX-HOWTO at
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO for details.
The full internal IPX network enables you to allocate sockets on
different virtual nodes of the internal network. This is done by
evaluating the field sipx_node of the socket address given to the
bind call. So applications should always initialize the node field
to 0 when binding a socket on the primary network. In this case the
socket is assigned the default node that has been given to the
kernel when the internal network was created. By enabling the full
internal IPX network the cross-forwarding of packets targeted at
'special' sockets to sockets listening on the primary network is
disabled. This might break existing applications, especially RIP/SAP
daemons. A RIP/SAP daemon that works well with the full internal net
can be found on ftp://ftp.gwdg.de/pub/linux/misc/ncpfs
If you don't know what you are doing, say N.
IPX: SPX networking (EXPERIMENTAL)
CONFIG_SPX
The Sequenced Packet eXchange protocol is a transport layer protocol
built on top of IPX. It is used in Novell NetWare systems for
client-server applications and is similar to TCP (which runs on top
of IP).
Note that Novell NetWare file sharing does not use SPX; it uses a
protocol called NCP, for which separate Linux support is available
("NCP filesystem support" below for the client side, and the user
space programs lwared or mars_nwe for the server side).
Say Y here if you have use for SPX; read the IPX-HOWTO at
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO for details.
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 af_spx.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
AppleTalk DDP
CONFIG_ATALK
AppleTalk is the way Apple computers speak to each other on a
network. If your Linux box is connected to such a network and you
want to join the conversation, say Y. You will need to use the
netatalk package so that your Linux box can act as a print and file
server for Macs as well as access AppleTalk printers. Check out
http://threepio.hitchcock.org/cgi-bin/faq/netatalk/faq.pl on the WWW
for details (to browse the WWW, you need to have access to a machine
on the Internet that has a program like lynx or netscape). EtherTalk
is the name used for AppleTalk over Ethernet and the cheaper and
slower LocalTalk is AppleTalk over a proprietary Apple network using
serial links. EtherTalk and LocalTalk are fully supported by Linux.
General information about how to connect Linux, Windows machines and
Macs is on the WWW at http://www.eats.com/linux_mac_win.html
The NET-3-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO contains valuable
information as well.
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 is called appletalk.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt. I hear that
the GNU boycott of Apple is over, so even politically correct people
are allowed to say Y here.
AppleTalk-IP driver support
CONFIG_IPDDP
This allows IP networking for users who only have AppleTalk
networking available. This feature is experimental. With this
driver, you can encapsulate IP inside AppleTalk (e.g. if your Linux
box is stuck on an AppleTalk only network) or decapsulate (e.g. if
you want your Linux box to act as an Internet gateway for a zoo of
AppleTalk connected Macs). Please see the file
Documentation/networking/ipddp.txt for more information.
If you say Y here, the AppleTalk-IP support will be compiled into
the kernel. In this case, you can either use encapsulation or
decapsulation, but not both. With the following two questions, you
decide which one you want.
If you say M here, the AppleTalk-IP support will be compiled as a
module ( = code which can be inserted in and removed from the
running kernel whenever you want, read Documentation/modules.txt).
The module is called ipddp.o. In this case, you will be able to use
both encapsulation and decapsulation simultaneously, by loading two
copies of the module and specifying different values for the module
option ipddp_mode.
IP to AppleTalk-IP Encapsulation support
CONFIG_IPDDP_ENCAP
If you say Y here, the AppleTalk-IP code will be able to encapsulate
IP packets inside AppleTalk frames; this is useful if your Linux box
is stuck on an AppleTalk network (which hopefully contains a
decapsulator somewhere). Please see
Documentation/networking/ipddp.txt for more information. If you said
Y to "AppleTalk-IP driver support" above and you say Y here, then
you cannot say Y to "AppleTalk-IP to IP Decapsulation support",
below.
AppleTalk-IP to IP Decapsulation support
CONFIG_IPDDP_DECAP
If you say Y here, the AppleTalk-IP code will be able to decapsulate
AppleTalk-IP frames to IP packets; this is useful if you want your
Linux box to act as an Internet gateway for an AppleTalk network.
Please see Documentation/networking/ipddp.txt for more information.
If you said Y to "AppleTalk-IP driver support" above and you say Y
here, then you cannot say Y to "IP to AppleTalk-IP Encapsulation
support", above.
Amateur Radio support
CONFIG_HAMRADIO
If you want to connect your Linux box to an amateur radio, answer Y
here. You want to read http://www.tapr.org/tapr/html/pkthome.html
(to browse the WWW, you need to have access to a machine on the
Internet that has a program like lynx or netscape) and the HAM-HOWTO
and the AX25-HOWTO, both available via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
Note that the answer to this question won't directly affect the
kernel: saying N will just cause this configure script to skip all
the questions about amateur radio.
Amateur Radio AX.25 Level 2
CONFIG_AX25
This is the protocol used for computer communication over amateur
radio. It is either used by itself for point-to-point links, or to
carry other protocols such as tcp/ip. To use it, you need a device
that connects your Linux box to your amateur radio. You can either
use a low speed TNC (a Terminal Node Controller acts as a kind of
modem connecting your computer's serial port to your radio's
microphone input and speaker output) supporting the KISS protocol or
one of the various SCC cards that are supported by the generic Z8530
or the DMA SCC driver. Another option are the Baycom modem serial
and parallel port hacks or the sound card modem (supported by their
own drivers). If you say Y here, you also have to say Y to one of
those drivers.
Information about where to get supporting software for Linux amateur
radio as well as information about how to configure an AX.25 port is
contained in the AX25-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO You might also want to
check out the file Documentation/networking/ax25.txt in the kernel
source. More information about digital amateur radio in general is
on the WWW at http://www.tapr.org/tapr/html/pkthome.html (To browse
the WWW, you need to have access to a machine on the Internet that
has a program like lynx or netscape).
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 ax25.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
AX.25 DAMA Slave support
CONFIG_AX25_DAMA_SLAVE
DAMA is a mechanism to prevent collisions when doing AX.25
networking. A DAMA server (called "master") accepts incoming traffic
from clients (called "slaves") and redistributes it to other slaves.
If you say Y here, your Linux box will act as a DAMA slave; this is
transparent in that you don't have to do any special DAMA
configuration. (Linux cannot yet act as a DAMA server.) If unsure,
say N.
AX.25 DAMA Master support
CONFIG_AX25_DAMA_MASTER
DAMA is a mechanism to prevent collisions when doing AX.25
networking. A DAMA server (called "master") accepts incoming traffic
from clients (called "slaves") and redistributes it to other
slaves. If you say Y here, your Linux box will act as a DAMA server.
If unsure, say N.
Amateur Radio NET/ROM
CONFIG_NETROM
NET/ROM is a network layer protocol on top of AX.25 useful for
routing.
A comprehensive listing of all the software for Linux amateur radio
users as well as information about how to configure an AX.25 port is
contained in the AX25-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO You also might want to
check out the file Documentation/networking/ax25.txt. More
information about digital amateur radio in general is on the WWW at
http://www.tapr.org/tapr/html/pkthome.html (to browse the WWW, you
need to have access to a machine on the Internet that has a program
like lynx or netscape).
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 netrom.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
Amateur Radio X.25 PLP (Rose)
CONFIG_ROSE
The Packet Layer Protocol (PLP) is a way to route packets over X.25
connections in general and amateur radio AX.25 connections in
particular, essentially an alternative to NET/ROM.
A comprehensive listing of all the software for Linux amateur radio
users as well as information about how to configure an AX.25 port is
contained in the AX25-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO You also might want to
check out the file Documentation/networking/ax25.txt. More
information about digital amateur radio in general is on the WWW at
http://www.tapr.org/tapr/html/pkthome.html (to browse the WWW, you
need to have access to a machine on the Internet that has a program
like lynx or netscape).
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 rose.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
Serial port KISS driver for AX.25
CONFIG_MKISS
KISS is a protocol used for the exchange of data between a computer
and a Terminal Node Controller (a small embedded system commonly
used for networking over AX.25 amateur radio connections; it
connects the computer's serial port with the radio's microphone
input and speaker output).
Although KISS is less advanced than the 6pack protocol, it has
the advantage that it is already supported by most modern TNCs
without the need for a firmware upgrade.
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 mkiss.o.
Serial port 6PACK driver for AX.25
CONFIG_6PACK
6pack is a transmission protocol for the data exchange between your
PC and your TNC (the Terminal Node Controller acts as a kind of
modem connecting your computer's serial port to your radio's
microphone input and speaker output). This protocol can be used as
an alternative to KISS for networking over AX.25 amateur radio
connections, but it has some extended functionality.
Note that this driver is still experimental and might cause
problems. For details about the features and the usage of the
driver, read Documentation/networking/6pack.txt.
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 6pack.o.
BPQ Ethernet driver
CONFIG_BPQETHER
AX.25 is the protocol used for computer communication over amateur
radio. If you say Y here, you will be able to send and receive AX.25
traffic over Ethernet (also called "BPQ AX.25"), which could be
useful if some other computer on your local network has a direct
amateur radio connection.
High-speed (DMA) SCC driver for AX.25
CONFIG_DMASCC
This is a driver for high-speed SCC boards, i.e. those supporting
DMA on one port. You usually use those boards to connect your
computer to an amateur radio modem (such as the WA4DSY 56kbps
modem), in order to send and receive AX.25 packet radio network
traffic.
Currently, this driver supports Ottawa PI/PI2
(http://hydra.carleton.ca/info/pi2.html) and Gracilis PackeTwin
(http://www.paccomm.com/gracilis.html) boards. They are detected
automatically. If you have one of these cards, say Y here and read
the AX25-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/
This driver can operate multiple boards simultaneously. If you
compile it as a module (by saying M instead of Y), it will be called
dmascc.o. If you don't pass any parameter to the driver, all
possible I/O addresses are probed. This could irritate other devices
that are currently not in use. You may specify the list of addresses
to be probed by "dmascc=addr1,addr2,..." (when compiled into the
kernel image) or "io=addr1,addr2,..." (when loaded as a module). The
network interfaces will be called dmascc0 and dmascc1 for the board
detected first, dmascc2 and dmascc3 for the second one, and so on.
Before you configure each interface with ifconfig, you MUST set
certain parameters, such as channel access timing, clock mode, and
DMA channel. This is accomplished with a small utility program,
dmascc_cfg, available at
http://www.nt.tuwien.ac.at/~kkudielk/Linux/ (To browse the WWW, you
need to have access to a machine on the Internet that has a program
like lynx or netscape).
Z8530 SCC driver for AX.25
CONFIG_SCC
These cards are used to connect your Linux box to an amateur radio
in order to communicate with other computers. If you want to use
this, read Documentation/networking/z8530drv.txt and the
AX25-HOWTO, available via FTP (user: anonymous) at
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO Also make sure to say Y
to "Amateur Radio AX.25 Level 2" support.
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 Documentation/modules.txt. The module will be
called scc.o.
additional delay for PA0HZP OptoSCC compatible boards
CONFIG_SCC_DELAY
Say Y here if you experience problems with the SCC driver not
working properly; please read Documentation/networking/z8530drv.txt
for details. If unsure, say N.
#support for TRX that feedback the tx signal to rx
#CONFIG_SCC_TRXECHO
###
### Don't know what's going on here.
###
#
YAM driver for AX.25
CONFIG_YAM
Support for the YAM modem on serial port. 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
Documentation/modules.txt.
BAYCOM picpar and par96 driver for AX.25
CONFIG_BAYCOM_PAR
This is a driver for Baycom style simple amateur radio modems that
connect to a parallel interface. The driver supports the picpar and
par96 designs. To configure the driver, use the sethdlc utility
available in the standard ax25 utilities package. For information on
the modems, see http://www.baycom.de (to browse the WWW, you need to
have access to a machine on the Internet that has a program like
lynx or netscape) and Documentation/networking/baycom.txt.
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. This is recommended.
The module will be called baycom_par.o.
BAYCOM EPP driver for AX.25
CONFIG_BAYCOM_EPP
This is a driver for Baycom style simple amateur radio modems that
connect to a parallel interface. The driver supports the EPP
designs. To configure the driver, use the sethdlc utility available
in the standard ax25 utilities package. For information on the
modems, see http://www.baycom.de (to browse the WWW, you need to
have access to a machine on the Internet that has a program like
lynx or netscape) and Documentation/networking/baycom.txt.
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. This is recommended.
The module will be called baycom_par.o.
BAYCOM ser12 full duplex driver for AX.25
CONFIG_BAYCOM_SER_FDX
This is one of two drivers for Baycom style simple amateur radio
modems that connect to a serial interface. The driver supports the
ser12 design in full duplex mode. In addition, it allows the
baudrate to be set between 300 and 4800 baud (however not all modems
support all baudrates). This is the preferred driver. The next
driver, "BAYCOM ser12 half duplex driver for AX.25" is the old
driver and still provided in case this driver does not work with
your serial interface chip. To configure the driver, use the sethdlc
utility available in the standard ax25 utilities package. For
information on the modems, see http://www.baycom.de (to browse the
WWW, you need to have access to a machine on the Internet that has a
program like lynx or netscape) and
Documentation/networking/baycom.txt.
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. This is recommended.
The module will be called baycom_ser_fdx.o.
BAYCOM ser12 half duplex driver for AX.25
CONFIG_BAYCOM_SER_HDX
This is one of two drivers for Baycom style simple amateur radio
modems that connect to a serial interface. The driver supports the
ser12 design in full duplex mode. This is the old driver. It is
still provided in case your serial interface chip does not work with
the full duplex driver. This driver is depreciated. To configure
the driver, use the sethdlc utility available in the standard ax25
utilities package. For information on the modems, see
http://www.baycom.de (to browse the WWW, you need to have access to
a machine on the Internet that has a program like lynx or netscape)
and Documentation/networking/baycom.txt.
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. This is recommended.
The module will be called baycom_ser_hdx.o.
Sound card modem driver for AX.25
CONFIG_SOUNDMODEM
This experimental driver allows a standard Sound Blaster or
WindowsSoundSystem compatible sound card to be used as a packet
radio modem (NOT as a telephone modem!), to send digital traffic
over amateur radio.
To configure the driver, use the sethdlc, smdiag and smmixer
utilities available in the standard ax25 utilities package. For
information on how to key the transmitter, see
http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html (to browse
the WWW, you need to have access to a machine on the Internet that
has a program like lynx or netscape) and
Documentation/networking/soundmodem.txt.
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. This is recommended.
The module will be called soundmodem.o.
Sound card modem support for Sound Blaster and compatible cards
CONFIG_SOUNDMODEM_SBC
This option enables the soundmodem driver to use Sound Blaster and
compatible cards. If you have a dual mode card (i.e. a WSS cards
with a Sound Blaster emulation) you should say N here and Y to
"Sound card modem support for WSS and Crystal cards", below, because
this usually results in better performance. This option also
supports SB16/32/64 in full duplex mode.
Sound card modem support for WSS and Crystal cards
CONFIG_SOUNDMODEM_WSS
This option enables the soundmodem driver to use WindowsSoundSystem
compatible cards. These cards feature a codec chip from either
Analog Devices (such as AD1848, AD1845, AD1812) or Crystal
Semiconductors (such as CS4248, CS423x). This option also supports
the WSS full duplex operation which currently works with Crystal
CS423x chips. If you don't need full duplex operation, do not enable
it to save performance.
Sound card modem support for 1200 baud AFSK modulation
CONFIG_SOUNDMODEM_AFSK1200
This option enables the soundmodem driver 1200 baud AFSK modem,
compatible to popular modems using TCM3105 or AM7911. The
demodulator requires about 12% of the CPU power of a Pentium 75 CPU
per channel.
Sound card modem support for 2400 baud AFSK modulation (7.3728MHz crystal)
CONFIG_SOUNDMODEM_AFSK2400_7
This option enables the soundmodem driver 2400 baud AFSK modem,
compatible to TCM3105 modems (over-)clocked with a 7.3728MHz
crystal. Note that the availability of this driver does _not_ imply
that I recommend building such links. It is only here since users
especially in eastern Europe have asked me to do so. In fact this
modulation scheme has many disadvantages, mainly its incompatibility
with many transceiver designs and the fact that the TCM3105 (if
used) is operated widely outside its specifications.
Sound card modem support for 2400 baud AFSK modulation (8MHz crystal)
CONFIG_SOUNDMODEM_AFSK2400_8
This option enables the soundmodem driver 2400 baud AFSK modem,
compatible to TCM3105 modems (over-)clocked with an 8MHz crystal.
Note that the availability of this driver does _not_ imply that I
recommend building such links. It is only here since users
especially in eastern Europe have asked me to do so. In fact this
modulation scheme has many disadvantages, mainly its incompatibility
with many transceiver designs and the fact that the TCM3105 (if
used) is operated widely outside its specifications.
Sound card modem support for 2666 baud AFSK modulation
CONFIG_SOUNDMODEM_AFSK2666
This option enables the soundmodem driver 2666 baud AFSK modem.
This modem is experimental, and not compatible to anything
else I know of.
Sound card modem support for 4800 baud 8PSK modulation
CONFIG_SOUNDMODEM_PSK4800
This option enables the soundmodem driver 4800 baud 8PSK modem.
This modem is experimental, and not compatible to anything
else I know of.
Sound card modem support for 4800 baud HAPN-1 modulation
CONFIG_SOUNDMODEM_HAPN4800
This option enables the soundmodem driver 4800 baud HAPN-1
compatible modem. This modulation seems to be widely used 'down
under' and in the Netherlands. Here, nobody uses it, so I could not
test if it works. It is compatible to itself, however :-)
Sound card modem support for 9600 baud FSK G3RUH modulation
CONFIG_SOUNDMODEM_FSK9600
This option enables the soundmodem driver 9600 baud FSK modem,
compatible to the G3RUH standard. The demodulator requires about 4%
of the CPU power of a Pentium 75 CPU per channel. You can say Y to
both 1200 baud AFSK and 9600 baud FSK if you want (but obviously you
can only use one protocol at a time, depending on what the other end
can understand).
CCITT X.25 Packet Layer
CONFIG_X25
X.25 is a set of standardized network protocols, similar in scope to
frame relay; the one physical line from your box to the X.25 network
entry point can carry several logical point-to-point connections
(called "virtual circuits") to other computers connected to the X.25
network. Governments, banks, and other organizations tend to use it
to connect to each other or to form Wide Area Networks (WANs). Many
countries have public X.25 networks. X.25 consists of two
protocols: the higher level Packet Layer Protocol (PLP) (say Y here
if you want that) and the lower level data link layer protocol LAPB
(say Y to "LAPB Data Link Driver" below if you want that).
You can read more about X.25 at http://www.sangoma.com/x25.html and
http://www.cisco.com/univercd/data/doc/software/11_0/rpcg/cx25.htm
(to browse the WWW, you need to have access to a machine on the
Internet that has a program like lynx or netscape). Information
about X.25 for Linux is contained in the files
Documentation/networking/x25.txt and
Documentation/networking/x25-iface.txt.
One connects to an X.25 network either with a dedicated network card
using the X.21 protocol (not yet supported by Linux) or one can do
X.25 over a standard telephone line using an ordinary modem (say Y
to "X.25 async driver" below) or over Ethernet using an ordinary
Ethernet card and either the 802.2 LLC protocol (say Y to "802.2
LLC" below) or LAPB over Ethernet (say Y to "LAPB Data Link Driver"
and "LAPB over Ethernet driver" below).
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 x25.o. If unsure, say N.
LAPB Data Link Driver (EXPERIMENTAL)
CONFIG_LAPB
Link Access Procedure, Balanced (LAPB) is the data link layer (i.e.
the lower) part of the X.25 protocol. It offers a reliable
connection service to exchange data frames with one other host, and
it is used to transport higher level protocols (mostly X.25 Packet
Layer, the higher part of X.25, but others are possible as well).
Usually, LAPB is used with specialized X.21 network cards, but Linux
currently supports LAPB only over Ethernet connections. If you want
to use LAPB connections over Ethernet, say Y here and to "LAPB over
Ethernet driver" below. Read
Documentation/networking/lapb-module.txt for technical details.
If you want to compile this driver as a module though ( = 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 lapb.o. If unsure, say N.
802.2 LLC (VERY EXPERIMENTAL)
CONFIG_LLC
This is a Logical Link Layer protocol used for X.25 connections over
Ethernet, using ordinary Ethernet cards.
Bridging (EXPERIMENTAL)
CONFIG_BRIDGE
If you say Y here, then your Linux box will be able to act as an
Ethernet bridge, which means that the different Ethernet segments it
is connected to will appear as one Ethernet to the participants.
Several such bridges can work together to create even larger
networks of Ethernets using the IEEE802.1 spanning tree algorithm.
As this is a standard, Linux bridges will interwork properly with
other third party bridge products.
In order to use this, you'll need the bridge configuration tools
available via FTP (user: anonymous) from
ftp://shadow.cabi.net/pub/Linux Please read the Bridge mini-HOWTO
for more information. Note that if your box acts as a bridge, it
probably contains several Ethernet devices, but the kernel is not
able to recognize more than one at boot time without help; for
details read the Ethernet-HOWTO, available via FTP (user: anonymous)
in ftp://metalab.unc.edu/pub/Linux/docs/HOWTO The Bridging code is
still in test. If unsure, say N.
Packet socket
CONFIG_PACKET
The Packet protocol is used by applications which communicate
directly with network devices without an intermediate network
protocol implemented in the kernel, e.g. tcpdump. If you want them
to work, choose Y. This driver is also available as a module called
af_packet.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 Documentation/modules.txt. You will
need to add 'alias net-pf-17 af_packet' to your /etc/conf.modules
file for the module version to function automatically. If unsure, say Y.
Kernel/User network link driver
CONFIG_NETLINK
This driver allows for two-way communication between certain parts
of the kernel or modules and user processes; the user processes are
able to read from and write to character special files in the /dev
directory having major mode 36. So far, the kernel uses it to
publish some network related information if you say Y to "Routing
messages", below. It is also used by the firewall code to publish
information about possible attacks if you say Y to "IP: firewall
packet netlink device" further down. You also need to say Y here if
you want to use arpd, a daemon that helps keep the internal ARP
cache (a mapping between IP addresses and hardware addresses on the
local network) small. The ethertap device, which lets user space
programs read and write raw Ethernet frames, also needs the network
link driver. If unsure, say Y.
Routing messages
CONFIG_RTNETLINK
If you say Y here and create a character special file /dev/route
with major number 36 and minor number 0 using mknod ("man mknod"),
you (or some user space utility) can read some network related
routing information from that file. Everything you write to that
file will be discarded.
Netlink device emulation
CONFIG_NETLINK_DEV
This is a backward compatibility option, choose Y for now.
This option will be removed soon.
SCSI support?
CONFIG_SCSI
If you want to use a SCSI hard disk, SCSI tape drive, SCSI CDROM or
any other SCSI device under Linux, say Y and make sure that you know
the name of your SCSI host adapter (the card inside your computer
that "speaks" the SCSI protocol, also called SCSI controller),
because you will be asked for it.
You also need to say Y here if you want support for the parallel
port version of the 100 MB IOMEGA ZIP drive.
Please read the SCSI-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO The
SCSI-Programming-HOWTO contains information about how to add or
remove an SCSI device from a running Linux machine without
rebooting.
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 scsi_mod.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt and
Documentation/scsi.txt. However, do not compile this as a module if
your root filesystem (the one containing the directory /) is located
on a SCSI device.
Network device support?
CONFIG_NETDEVICES
You can say N here if you don't intend to connect your Linux box to
any other computer at all or if all your connections will be over a
telephone line with a modem either via UUCP (UUCP is a protocol to
forward mail and news between unix hosts over telephone lines; read
the UUCP-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO) or dialing up a shell
account or a BBS, even using term (term is a program which gives you
almost full Internet connectivity if you have a regular dial up
shell account on some Internet connected Unix computer. Read
http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html (to browse
the WWW, you need to have access to a machine on the Internet that
has a program like lynx or netscape)).
You'll have to say Y if your computer contains a network card that
you want to use under Linux (make sure you know its name because you
will be asked for it and read the Ethernet-HOWTO (especially if you
plan to use more than one network card under Linux), available from
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/mini) or if you want to
use SLIP (Serial Line Internet Protocol is the protocol used to send
Internet traffic over telephone lines or null modem cables) or CSLIP
(compressed SLIP) or PPP (Point to Point Protocol, a better and
newer replacement for SLIP) or PLIP (Parallel Line Internet Protocol
is mainly used to create a mini network by connecting the parallel
ports of two local machines) or AX.25/KISS (protocol for sending
Internet traffic over amateur radio links).
Make sure to read the NET-3-HOWTO. Eventually, you will have to read
Olaf Kirch's excellent and free book "Network Administrator's
Guide", to be found in ftp://metalab.unc.edu/pub/Linux/docs/LDP If
unsure, say Y.
Dummy net driver support
CONFIG_DUMMY
This is essentially a bit-bucket device (i.e. traffic you send to
this device is consigned into oblivion) with a configurable IP
address. It is most commonly used in order to make your currently
inactive SLIP address seem like a real address for local programs.
If you use SLIP or PPP, you might want to say Y here. Read about it
in the Network Administrator's Guide, available via FTP (user:
anonymous) from ftp://metalab.unc.edu/pub/Linux/docs/LDP Since this
thing often comes in handy, the default is Y. It won't enlarge your
kernel either. What a deal.
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 Documentation/modules.txt. The module will be
called dummy.o. If you want to use more than one dummy device at a
time, you need to compile this driver as a module. Instead of
'dummy', the devices will then be called 'dummy0', 'dummy1' etc.
SLIP (serial line) support
CONFIG_SLIP
Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to
connect to your Internet service provider or to connect to some
other local Unix box or if you want to configure your Linux box as a
Slip/CSlip server for other people to dial in. SLIP (Serial Line
Internet Protocol) is a protocol used to send Internet traffic over
serial connections such as telephone lines or null modem cables;
nowadays, the protocol PPP is more commonly used for this same
purpose.
Normally, your access provider has to support SLIP in order for you
to be able to use it, but there is now a SLIP emulator called SLiRP
around (available via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/system/network/serial/ ) which
allows you to use SLIP over a regular dial up shell connection. If
you plan to use SLiRP, make sure to say Y to CSLIP, below. The
NET-3-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO, explains how to
configure SLIP. Note that you don't need this option if you just
want to run term (term is a program which gives you almost full
Internet connectivity if you have a regular dial up shell account on
some Internet connected Unix computer. Read
http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html (to browse
the WWW, you need to have access to a machine on the Internet that
has a program like lynx or netscape)). SLIP support will enlarge
your kernel by about 4 KB. If unsure, say N.
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 Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. The module will be called
slip.o.
CSLIP compressed headers
CONFIG_SLIP_COMPRESSED
This protocol is faster than SLIP because it uses compression on the
TCP/IP headers (not on the data itself), but it has to be supported
on both ends. Ask your access provider if you are not sure and
answer Y, just in case. You will still be able to use plain SLIP. If
you plan to use SLiRP, the SLIP emulator (available via FTP (user:
anonymous) from
ftp://metalab.unc.edu/pub/Linux/system/network/serial/) which allows
you to use SLIP over a regular dial up shell connection, you
definitely want to say Y here. The NET-3-HOWTO, available via FTP
(user: anonymous) in ftp://metalab.unc.edu/pub/Linux/docs/HOWTO,
explains how to configure CSLIP. This won't enlarge your kernel.
Keepalive and linefill
CONFIG_SLIP_SMART
Adds additional capabilities to the SLIP driver to support the
RELCOM line fill and keepalive monitoring. Ideal on poor quality
analogue lines.
Six bit SLIP encapsulation
CONFIG_SLIP_MODE_SLIP6
Just occasionally you may need to run IP over hostile serial
networks that don't pass all control characters or are only seven
bit. Saying Y here adds an extra mode you can use with SLIP:
"slip6". In this mode, SLIP will only send normal ASCII symbols over
the serial device. Naturally, this has to be supported at the other
end of the link as well. It's good enough, for example, to run IP
over the async ports of a Camtec JNT Pad. If unsure, say N.
PPP (point-to-point) support
CONFIG_PPP
PPP (Point to Point Protocol) is a newer and better SLIP. It serves
the same purpose: sending Internet traffic over telephone (and other
serial) lines. Ask your access provider if they support it, because
otherwise you can't use it (not quite true any more: the free
program SLiRP can emulate a PPP line if you just have a regular dial
up shell account on some UNIX computer; get it via FTP (user:
anonymous) from
ftp://metalab.unc.edu/pub/Linux/system/network/serial/). Note that
you don't need "PPP support" if you just want to run term (term is a
program which gives you almost full Internet connectivity if you
have a regular dial up shell account on some Internet connected UNIX
computer. Read
http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html (to browse
the WWW, you need to have access to a machine on the Internet that
has a program like lynx or netscape)).
To use PPP, you need an additional program called pppd as described
in Documentation/networking/ppp.txt and in the PPP-HOWTO, available
from ftp://metalab.unc.edu/pub/Linux/docs/HOWTO If you upgrade
from an older kernel, you might need to upgrade pppd as well. The
PPP option enlarges your kernel by about 16 KB.
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 said Y to "Version information on all symbols" above, then
you cannot compile the PPP driver into the kernel; you can then only
compile it as a module. The module will be called ppp.o. If you want
to compile it as a module, say M here and read
Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. Note that, no matter what
you do, the BSD compression code (used to compress the IP packets
sent over the serial line; has to be supported at the other end as
well) will always be compiled as a module; it is called bsd_comp.o
and will show up in the directory modules once you have said "make
modules". If unsure, say N.
Wireless LAN (non-hamradio)
CONFIG_NET_RADIO
Support for wireless LANs and everything having to do with radio,
but not with amateur radio. Note that the answer to this question
won't directly affect the kernel: saying N will just cause this
configure script to skip all the questions about radio
interfaces.
Some user-level drivers for scarab devices which don't require
special kernel support are available via FTP (user: anonymous) from
ftp://shadow.cabi.net/pub/Linux
STRIP (Metricom Starmode radio IP)
CONFIG_STRIP
Say Y if you have a Metricom radio and intend to use Starmode Radio
IP. STRIP is a radio protocol developed for the MosquitoNet project
(On the WWW at http://mosquitonet.stanford.edu/; to browse the WWW,
you need to have access to a machine on the Internet that has a
program like lynx or netscape) to send Internet traffic using
Metricom radios. Metricom radios are small, battery powered,
100kbit/sec packet radio transceivers, about the size and weight of
a cellular telephone. (You may also have heard them called
"Metricom modems" but we avoid the term "modem" because it misleads
many people into thinking that you can plug a Metricom modem into a
phone line and use it as a modem.)
You can use STRIP on any Linux machine with a serial port, although
it is obviously most useful for people with laptop computers. If you
think you might get a Metricom radio in the future, there is no harm
in saying Y to STRIP now, except that it makes the kernel a bit
bigger.
You can also 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 Documentation/modules.txt. The module will be called
strip.o.
AT&T WaveLAN & DEC RoamAbout DS support
CONFIG_WAVELAN
The Lucent WaveLAN (formerly NCR and AT&T; or DEC RoamAbout DS) is
a Radio LAN (wireless Ethernet-like Local Area Network) using the
radio frequencies 900 MHz and 2.4 GHz.
This driver support the ISA version of the WaveLAN card. A separate
driver for the PCMCIA (PC-card) hardware is available in David
Hinds' pcmcia-cs package (see the file Documentation/Changes for
location).
If you want to use an ISA WaveLAN card under Linux, say Y and read
the Ethernet-HOWTO, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO Some more specific
information is contained in Documentation/networking/wavelan.txt and
in the source code drivers/net/wavelan.p.h.
You will also need the wireless tools package available from
ftp://ftp.inka.de/pub/comp/Linux/networking/NetTools/contrib/
Please read the man pages contained therein.
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 wavelan.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt as well as
Documentation/networking/net-modules.txt.
Aironet Arlan 655 & IC2200 DS support
CONFIG_ARLAN
Aironet makes Arlan. www.aironet.com. Uses www.Telxon.com chip, which is
used on several similar cards. Driver is tested on 655 and IC2200 series.
Look for http://www.ylenurme.ee/~elmer/655/ for latest information.
Driver is build as two modules, arlan and arlan-proc. The later is /proc
interface and not needed most of time.
On some computers the card ends up in non-valid state after some time.
Use a ping-reset script to clear it.
LAPB over Ethernet driver
CONFIG_LAPBETHER
This is a driver for a pseudo device (typically called /dev/lapb0)
which allows you to open an LAPB point-to-point connection to some
other computer on your Ethernet network. In order to do this, you
need to say Y or M to the driver for your Ethernet card as well as
to "LAPB Data Link Driver".
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 lapbether.o. If unsure, say N.
X.25 async driver
CONFIG_X25_ASY
This is a driver for sending and receiving X.25 frames over regular
asynchronous serial lines such as telephone lines equipped with
ordinary modems. Experts should note that this driver doesn't
currently comply with the asynchronous HDLS framing protocols in
CCITT recommendation X.25.
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 x25_asy.o. If unsure, say N.
Shortwave radio modem driver
CONFIG_HFMODEM
This experimental driver is used by a package (to be released)
that implements the shortwave radio protocols RTTY, Sitor (Amtor),
Pactor 1 and GTOR using a standard PC sound card. If unsure,
say N.
Shortwave radio modem driver support for Sound Blaster and compatible cards
CONFIG_HFMODEM_SBC
This option enables the hfmodem driver to use Sound Blaster and
compatible cards. It requires a 16bit capable card, i.e.
SB16 or better, or ESS1688 or newer.
Shortwave radio modem driver support for WSS and Crystal cards
CONFIG_HFMODEM_WSS
This option enables the hfmodem driver to use WindowsSoundSystem
compatible cards. These cards feature a codec chip from either
Analog Devices (such as AD1848, AD1845) or Crystal Semiconductors
(such as CS4248, CS423x).
PLIP (parallel port) support
CONFIG_PLIP
PLIP (Parallel Line Internet Protocol) is used to create a
reasonably fast mini network consisting of two (or, rarely, more)
local machines. A PLIP link from a Linux box is a popular means to
install a Linux distribution on a machine which doesn't have a CDROM
drive (a minimal system has to be transferred with floppies first).
The kernels on both machines need to have this PLIP option enabled
for this to work.
The PLIP driver has two modes, mode 0 and mode 1. The parallel ports
(the connectors at the computers with 25 holes) are connected with
"null printer" or "Turbo Laplink" cables which can transmit 4 bits
at a time (mode 0) or with special PLIP cables, to be used on
bidirectional parallel ports only, which can transmit 8 bits at a
time (mode 1); you can find the wiring of these cables in
Documentation/networking/PLIP.txt. The cables can be up to 15m long.
Mode 0 works also if one of the machines runs DOS/Windows and has
some PLIP software installed, e.g. the Crynwr PLIP packet driver
(http://oak.oakland.edu/simtel.net/msdos/pktdrvr-pre.html; to browse
the WWW, you need to have access to a machine on the Internet that
has a program like lynx or netscape) and winsock or NCSA's telnet.
If you want to use PLIP, say Y and read the PLIP mini-HOWTO,
available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/mini as well as the
NET-3-HOWTO in ftp://metalab.unc.edu/pub/Linux/docs/HOWTO Note that
the PLIP protocol was changed and this PLIP driver won't work
together with the PLIP support in Linux versions 1.0.x. This option
enlarges your kernel by about 8 KB.
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 Documentation/modules.txt as well as
Documentation/networking/net-modules.txt. The module will be called
plip.o. If unsure, say Y or M, in case you buy a laptop later.
EQL (serial line load balancing) support
CONFIG_EQUALIZER
If you have two serial connections to some other computer (this
usually requires two modems and two telephone lines) and you use
SLIP (the protocol for sending Internet traffic over telephone
lines) or PPP (a better SLIP) on them, you can make them behave like
one double speed connection using this driver. Naturally, this has
to be supported at the other end as well, either with a similar EQL
Linux driver or with a Livingston Portmaster 2e.
Say Y if you want this and read Documentation/networking/eql.txt.
You may also want to read section 6.2 of the NET-3-HOWTO, available
via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
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 eql.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt. If unsure,
say N.
Ethertap network tap
CONFIG_ETHERTAP
If you say Y here (and have said Y to "Kernel/User network link
driver", above) and create a character special file /dev/tap0 with
major number 36 and minor number 16 using mknod ("man mknod"), you
will be able to have a user space program read and write raw
Ethernet frames from/to that special file. tap0 can be configured
with ifconfig and route like any other Ethernet device but it is not
connected to any physical LAN; everything written by the user to
/dev/tap0 is treated by the kernel as if it had come in from a LAN
to the device tap0; everything the kernel wants to send out over the
device tap0 can instead be read by the user from /dev/tap0: the user
mode program replaces the LAN that would be attached to an ordinary
Ethernet device. Please read the file
Documentation/networking/ethertap.txt for more information.
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 ethertap.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt. If you don't
know what to use this for, you don't need it.
Sealevel Systems 4021 support
CONFIG_SEALEVEL_4021
This is a driver for the Sealevel Systems ACB 56 serial I/O adapter.
This driver can only be compiled as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
If you want to do that, say M here. The module will be called
sealevel.o.
Frame Relay (DLCI) support
CONFIG_DLCI
This is support for the frame relay protocol; frame relay is a fast
low-cost way to connect to a remote Internet access provider or to
form a private wide area network. The one physical line from your
box to the local "switch" (i.e. the entry point to the frame relay
network, usually at the phone company) can carry several logical
point-to-point connections to other computers connected to the frame
relay network. For a general explanation of the protocol, check out
http://www.frforum.com/ on the WWW. (To browse the WWW, you need to
have access to a machine on the Internet that has a program like
lynx or netscape.) To use frame relay, you need supporting hardware
(called FRAD) and certain programs from the net-tools package as
explained in Documentation/networking/framerelay.txt.
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 dlci.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
Max open DLCI
CONFIG_DLCI_COUNT
This is the maximal number of logical point-to-point frame relay
connections (the identifiers of which are called DCLIs) that
the driver can handle. The default is probably fine.
Max DLCI per device
CONFIG_DLCI_MAX
You can specify here how many logical point-to-point frame relay
connections (the identifiers of which are called DCLIs) should be
handled by each of your hardware frame relay access devices. Go with
the default.
Sangoma S502A FRAD support
CONFIG_SDLA
Say Y here if you need a driver for the Sangoma S502A, S502E, and
S508 Frame Relay Access Devices. These are multi-protocol cards, but
only frame relay is supported by the driver at this time. Please
read Documentation/framerelay.txt.
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 sdla.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
Acorn Econet/AUN protocols (EXPERIMENTAL)
CONFIG_ECONET
Econet is a fairly old and slow networking protocol mainly used by
Acorn computers to access file and print servers. It uses native
Econet network cards. AUN is an implementation of the higher level
parts of Econet that runs over ordinary Ethernet connections, on
top of the UDP packet protocol, which in turn runs on top of the
Internet protocol IP.
If you say Y here, you can choose with the next two options whether
to send Econet/AUN traffic over a UDP Ethernet connection or over
a native Econet network card.
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 econet.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
AUN over UDP
CONFIG_ECONET_AUNUDP
Say Y here if you want to send Econet/AUN traffic over a UDP
connection (UDP is a packet based protocol that runs on top of the
Internet protocol IP) using an ordinary Ethernet network card.
Native Econet
CONFIG_ECONET_NATIVE
Say Y here if you have a native Econet network card installed in
your computer.
WAN Router
CONFIG_WAN_ROUTER
Wide Area Networks (WANs), such as X.25, frame relay and leased
lines, are used to interconnect Local Area Networks (LANs) over vast
distances with data transfer rates significantly higher than those
achievable with commonly used asynchronous modem connections.
Usually, a quite expensive external device called a `WAN router' is
needed to connect to a WAN.
As an alternative, WAN routing can be built into the Linux kernel.
With relatively inexpensive WAN interface cards available on the
market, a perfectly usable router can be built for less than half
the price of an external router. If you have one of those cards and
wish to use your Linux box as a WAN router, say Y here and also to
the WAN driver for your card, below. You will then need the
wan-tools package which is available via FTP (user: anonymous) from
ftp://ftp.sangoma.com Read Documentation/networking/wan-router.txt
for more information.
The WAN routing support is also available as a module called
wanrouter.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 Documentation/modules.txt.
If unsure, say N.
Fast switching (read help!)
CONFIG_NET_FASTROUTE
Saying Y here enables direct NIC-to-NIC (NIC = Network Interface
Card) data transfers, which is fast.
*** This option is NOT COMPATIBLE with several important ***
*** networking options: especially CONFIG*FIREWALL. ***
*** Say N here if you intend to use Linux as a firewall. ***
However, it will work with all options in CONFIG_IP_ADVANCED_ROUTER
section (except for CONFIG_IP_ROUTE_TOS and CONFIG_IP_ROUTE_FWMARK).
At the moment, few devices support fast switching (tulip is one of
them, modified 8390 can be found at
ftp://ftp.inr.ac.ru/ip-routing/fastroute/fastroute-8390.tar.gz).
If unsure, say N.
Forwarding between high speed interfaces
CONFIG_NET_HW_FLOWCONTROL
This option enables NIC (Network Interface Card) hardware throttling
during periods of extremal congestion. At the moment only a couple
of device drivers support it (really only one -- tulip, modified
8390 can be found at
ftp://ftp.inr.ac.ru/ip-routing/fastroute/fastroute-8390.tar.gz).
Really, this option is applicable to any machine attached to a fast enough
network, and even a 10 Mb NIC is able to kill a not very slow box,
such as a 120MHz Pentium.
However, do not say Y here if you did not experience any serious
problems.
CPU is too slow to handle full bandwidth
CONFIG_CPU_IS_SLOW
If you suspect that your CPU is not fast enough to handle the
full bandwidth of your network connection, try saying Y here. If
unsure, say N.
QoS and/or fair queueing
CONFIG_NET_SCHED
When the kernel has several packets to send out over the network
devices, it has to make a decision which one to send first. This is
especially important if some of the network devices are real time
devices that need a certain minimum data flow rate. There are
several different algorithms for how to do this "fairly"; they are
called packet schedulers. If you want to stick to the default
scheduling algorithm, say N here. If you want to experiment with a
couple of different algorithms, say Y. You can then attach different
schedulers to different network devices. Currently, this is only
recommended for experts.
To administer these schedulers, you'll need the user-level utilities
from the package iproute2+tc at ftp://ftp.inr.ac.ru/ip-routing/
If you say Y here and to "/proc filesystem" below, you will be able
to read status information about priority schedulers from the file
/proc/net/psched.
The available schedulers are listed in the following questions; you
can say Y to as many as you like. If unsure, say N now.
CBQ packet scheduler
CONFIG_NET_SCH_CBQ
Say Y here if you want to use the Class-Based Queueing (CBQ) packet
scheduling algorithm for some of your network devices. This
algorithm classifies the waiting packets into a tree-like hierarchy
of classes; the leaves of this tree are in turn scheduled by
separate algorithms (called "disciplines" in this context) which you
can choose below from among the various queueing algorithms. See the
top of net/sched/sch_cbq.c for references about the CBQ algorithm.
This code is also available as a module called sch_cbq.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 Documentation/modules.txt.
CSZ packet scheduler
CONFIG_NET_SCH_CSZ
Say Y here if you want to use the Clark-Shenker-Zhang (CSZ) packet
scheduling algorithm for some of your network devices. At the
moment, this is the only algorithm that can guarantee service for
real-time applications (see the top of net/sched/sch_csz.c for
details and references about the algorithm).
Note: this scheduler is currently broken.
This code is also available as a module called sch_csz.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 Documentation/modules.txt.
The simplest PRIO pseudo scheduler
CONFIG_NET_SCH_PRIO
Say Y here if you want to use an n-band priority queue packet
"scheduler" for some of your network devices or as a leaf discipline
for the CBQ scheduling algorithm.
This code is also available as a module called sch_prio.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 Documentation/modules.txt.
RED queue
CONFIG_NET_SCH_RED
Say Y here if you want to use the Random Early Detection (RED)
packet scheduling algorithm for some of your network devices (see
the top of net/sched/sch_red.c for details and references about the
algorithm).
This code is also available as a module called sch_red.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 Documentation/modules.txt.
SFQ queue
CONFIG_NET_SCH_SFQ
Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
packet scheduling algorithm for some of your network devices or as a
leaf discipline for the CBQ scheduling algorithm (see the top of
net/sched/sch_sfq.c for details and references about the SFQ
algorithm).
This code is also available as a module called sch_sfq.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 Documentation/modules.txt.
TEQL queue
CONFIG_NET_SCH_TEQL
Say Y here if you want to use the True Link Equalizer (TLE) packet
scheduling algorithm for some of your network devices or as a leaf
discipline for the CBQ scheduling algorithm. This queueing
discipline allows the combination of several physical devices into
one virtual device. (see the top of net/sched/sch_teql.c for
details).
This code is also available as a module called sch_teql.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 Documentation/modules.txt.
TBF queue
CONFIG_NET_SCH_TBF
Say Y here if you want to use the Simple Token Bucket Filter (TBF)
packet scheduling algorithm for some of your network devices or as a
leaf discipline for the CBQ scheduling algorithm (see the top of
net/sched/sch_tbf.c for a description of the TBF algorithm).
This code is also available as a module called sch_tbf.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 Documentation/modules.txt.
QoS support
CONFIG_NET_QOS
Say Y here if you want to include Quality Of Service scheduling
features, which means that you will be able to request certain
rate-of-flow limits for your net devices.
Note that the answer to this question won't directly affect the
kernel: saying N will just cause this configure script to skip all
the questions about QoS support.
Rate estimator
CONFIG_NET_ESTIMATOR
In order for Quality of Service scheduling to work, the current
rate-of-flow for a network device has to be estimated; if you say Y
here, the kernel will do just that.
Packet classifier API
CONFIG_NET_CLS
The CBQ scheduling algorithm requires that network packets which are
scheduled to be sent out over a network device be classified in some
way. If you say Y here, you will get a choice of several different
packet classifiers with the following questions.
#
# Routing tables based classifier
# CONFIG_NET_CLS_ROUTE
#
# Firewall based classifier
# CONFIG_NET_CLS_FW
#
# U32 classifier
# CONFIG_NET_CLS_U32
#
# Special RSVP classifier
# CONFIG_NET_CLS_RSVP
#
# Special RSVP classifier for IPv6
# CONFIG_NET_CLS_RSVP6
#
# Ingres traffic policing
# CONFIG_NET_CLS_POLICE
###
### Some expert please fill these in
###
Network code profiler
CONFIG_NET_PROFILE
If you say Y here and to "/proc filesystem support" below, some
obscure and undocumented information about the network code's
performance will be written to /proc/net/profile. If you don't know
what it is about, you don't need it: say N.
Red Creek Hardware VPN (EXPERIMENTAL)
CONFIG_RCPCI
This is a driver for hardware which provides a Virtual Private
Network (VPN). Say Y if you have it.
This code is also available as a module called rcpci.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 Documentation/modules.txt.
SBNI Leased Line Adapters
CONFIG_SBNI
This is a driver for ISA SBNI12-xx cards that is a low cost
alternative to leased line modems. Say Y if you want to insert
driver into kernel or say M to compile driver as a module.
You can find more information and last versions of drivers and
utilities at http://www.granch.ru If you have any question you
can mail to sbni@granch.ru.
Say N if unsure.
WAN Drivers
CONFIG_WAN_DRIVERS
Say Y to this option if your Linux box contains a WAN card and you
are planning to use the box as a WAN ( = Wide Area Network) router
( = device used to interconnect local area networks over wide area
communication links, such as leased lines or public data networks,
e.g. X.25 or frame relay) and you will be offered a list of drivers
for WAN cards currently available. For more information, read
Documentation/networking/wan-router.txt.
Note that the answer to this question won't directly affect the
kernel: saying N will just cause this configure script to skip all
the questions about WAN card drivers. If unsure, say N.
Sangoma WANPIPE(tm) multiprotocol cards
CONFIG_VENDOR_SANGOMA
WANPIPE from Sangoma Technologies Inc. (http://www.sangoma.com; to
browse the WWW, you need to have access to a machine on the Internet
that has a program like lynx or netscape) is a family of intelligent
multiprotocol WAN adapters with data transfer rates up to T1 (1.544
Mbps). They are also known as Synchronous Data Link Adapters (SDLA)
and designated S502E(A), S503 or S508. These cards support the X.25,
Frame Relay, and PPP protocols. If you have one or more of these
cards, say Y to this option; you may then also want to read the file
Documentation/networking/wanpipe.txt. The next questions will ask
you about the protocols you want the driver to support.
The driver will be compiled as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module will be called wanpipe.o. For general information about
modules read Documentation/modules.txt.
Maximum number of cards
CONFIG_WANPIPE_CARDS
Enter number of WANPIPE adapters installed in your machine. The
driver can support up to 8 cards. You may enter more than you
actually have if you plan to add more cards in the future without
re-compiling the driver, but remember that in this case you'll waste
some kernel memory (about 1K per card).
WANPIPE X.25 support
CONFIG_WANPIPE_X25
Say Y to this option if you are planning to connect a WANPIPE card
to an X.25 network. You should then also have said Y to "CCITT X.25
Packet Layer" and "LAPB Data Link Driver", above. If you say N, the
X.25 support will not be included in the driver (saves about 16 KB
of kernel memory).
WANPIPE Frame Relay support
CONFIG_WANPIPE_FR
Say Y to this option if you are planning to connect a WANPIPE card
to a frame relay network. You should then also have said Y to "Frame
Relay (DLCI) support", above. If you say N, the frame relay
support will not be included in the driver (saves about 16 KB of
kernel memory).
WANPIPE PPP support
CONFIG_WANPIPE_PPP
Say Y to this option if you are planning to connect a WANPIPE card
to a leased line using Point-to-Point protocol (PPP). You should
then also have said Y to "PPP (point-to-point) support", above. If
you say N, the PPP support will not be included in the driver (saves
about 16 KB of kernel memory).
Traffic Shaper (EXPERIMENTAL)
CONFIG_SHAPER
The traffic shaper is a virtual network device that allows you to
limit the rate of outgoing data flow over some other network
device. See Documentation/networking/shaper.txt for more
information. To set up and configure shaper devices, you need the
shapecfg program, available via FTP (user: anonymous) from
ftp://shadow.cabi.net/pub/Linux in the shaper package.
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 shaper.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt. If unsure,
say N.
FDDI driver support
CONFIG_FDDI
Fiber Distributed Data Interface is a high speed local area network
design; essentially a replacement for high speed Ethernet. FDDI can
run over copper or fiber. If you are connected to such a network and
want a driver for the FDDI card in your computer, say Y here (and
then also Y to the driver for your FDDI card, below). Most people
will say N.
Digital DEFEA and DEFPA adapter support
CONFIG_DEFXX
This is support for the DIGITAL series of EISA (DEFEA) and PCI
(DEFPA) controllers which can connect you to a local FDDI network.
HIgh Performance Parallel Interface support (EXPERIMENTAL)
CONFIG_HIPPI
HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and
1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI
can run over copper (25m) or fiber (300m on multi-mode or 10km on
single-mode). HIPPI networks are commonly used for clusters and to
connect to super computers. If you are connected to a HIPPI network
and have a HIPPI network card in your computer that you want to use
under Linux, say Y here (you must also remember to enable the driver
for your HIPPI card below). Most people will say N here.
Essential RoadRunner HIPPI PCI adapter support
CONFIG_ROADRUNNER
Say Y here if this is your PCI HIPPI network card.
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 rrunner.o. If you want to compile it as
a module, say M here and read Documentation/modules.txt. If unsure,
say N.
Use large TX/RX rings
CONFIG_ROADRUNNER_LARGE_RINGS
If you say Y here, the RoadRunner driver will preallocate up to 2 MB
of additional memory to allow for fastest operation, both for
transmitting and receiving. This memory cannot be used by any other
kernel code or by user space programs. Say Y here only if you have
the memory.
/proc filesystem support
CONFIG_PROC_FS
This is a virtual filesystem providing information about the status
of the system. "Virtual" means that it doesn't take up any space on
your hard disk: the files are created on the fly by the kernel when
you try to access them. Also, you cannot read the files with older
version of the program less: you need to use more or cat.
It's totally cool; for example, "cat /proc/interrupts" gives
information about what the different IRQs are used for at the moment
(there is a small number of Interrupt ReQuest lines in your computer
that are used by the attached devices to gain the CPU's attention --
often a source of trouble if two devices are mistakenly configured
to use the same IRQ).
The /proc filesystem is explained in the file
Documentation/proc.txt, in the Kernel Hacker's Guide at
http://www.redhat.com:8080/HyperNews/get/khg.html on the WWW (to
browse the WWW, you need to have access to a machine on the Internet
that has a program like lynx or netscape), and also on the proc(8)
manpage ("man 8 proc").
This option will enlarge your kernel by about 18 KB. Several
programs depend on this, so everyone should say Y here.
NFS filesystem support
CONFIG_NFS_FS
If you are connected to some other (usually local) Unix computer
(using SLIP, PLIP, PPP or Ethernet) and want to mount files residing
on that computer (the NFS server) using the Network File Sharing
protocol, say Y. "Mounting files" means that the client can access
the files with usual UNIX commands as if they were sitting on the
client's hard disk. For this to work, the server must run the
programs nfsd and mountd (but does not need to have NFS filesystem
support enabled in its kernel). NFS is explained in the Network
Administrator's Guide, available via FTP (user: anonymous) in
ftp://metalab.unc.edu/pub/Linux/docs/LDP, on its man page: "man
nfs", and in the NFS-HOWTO.
A superior but less widely used alternative to NFS is provided by
the Coda filesystem; see "Coda filesystem support" below.
If you say Y here, you should have said Y to TCP/IP networking also.
This option would enlarge your kernel by about 27 kB.
This filesystem is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called nfs.o. If you want to compile it as a module,
say M here and read Documentation/modules.txt.
If you are configuring a diskless machine which will mount its root
filesystem over NFS at boot time, say Y here and to "IP: kernel
level autoconfiguration" above and to "Root file system on NFS"
below. You cannot compile this driver as a module in this case.
There are two packages designed for booting diskless machines over
the net: netboot and etherboot, both available via FTP from
ftp://metalab.unc.edu/pub/Linux/system/boot/ethernet/ .
If you don't know what all this is about, say N.
Root file system on NFS
CONFIG_ROOT_NFS
If you want your Linux box to mount its whole root filesystem (the
one containing the directory /) from some other computer over the
net via NFS (presumably because your box doesn't have a hard disk),
say Y. Read Documentation/nfsroot.txt for details. It is likely that
in this case, you also want to say Y to "IP: kernel level
autoconfiguration" so that your box can discover its network address
at boot time.
Most people say N here.
NFS server support
CONFIG_NFSD
If you want your Linux box to act as a NFS *server*, so that other
computers on your local network which support NFS can access certain
directories on your box transparently, you have two options: you can
use the self-contained user space program nfsd, in which case you
should say N here, or you can say Y and use this new experimental
kernel based NFS server. The advantage of the kernel based solution
is that it is faster; it might not be completely stable yet, though.
In either case, you will need support software; the respective
locations are given in the file Documentation/Changes in the NFS
section.
Please read the NFS-HOWTO, available via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/Linux/docs/HOWTO
The NFS server is also available as a module ( = code which can be
inserted in and removed from the running kernel whenever you want).
The module is called nfsd.o. If you want to compile it as a module,
say M here and read Documentation/modules.txt. If unsure, say N.
Emulate Sun NFS daemon
CONFIG_NFSD_SUN
If you would like for the server to allow clients to access
directories that are mount points on the local filesystem (this is
how nfsd behaves on Sun systems), say yes here. If unsure, say N.
MTRR control and configuration
CONFIG_MTRR
On Intel P6 family processors (Pentium Pro, Pentium II and later)
the Memory Type Range Registers (MTRRs) may be used to control
processor access to memory ranges. This is most useful when you have
a video (VGA) card on a PCI or AGP bus. Enabling write-combining
allows bus write transfers to be combined into a larger transfer
before bursting over the PCI/AGP bus. This can increase performance
of image write operations 2.5 times or more. This option creates a
/proc/mtrr file which may be used to manipulate your
MTRRs. Typically the X server should use this. This should have a
reasonably generic interface so that similar control registers on
other processors can be easily supported.
The Cyrix 6x86, 6x86MX and M II processors have Address Range
Registers (ARRs) which provide a similar functionality to MTRRs. For
these, the ARRs are used to emulate the MTRRs.
The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
MTRRs. These are supported.
The Centaur C6 (WinChip) has 8 MCRs, allowing write-combining. These
are supported.
Saying Y here also fixes a problem with buggy SMP BIOSes which only
set the MTRRs for the boot CPU and not the secondary CPUs. This can
lead to all sorts of problems.
You can safely say Y even if your machine doesn't have MTRRs, you'll
just add about 3k to your kernel.
See Documentation/mtrr.txt for more information.
Watchdog Timer Support
CONFIG_WATCHDOG
If you say Y here (and to one of the following options) and create a
character special file /dev/watchdog with major number 10 and minor
number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
subsequently opening the file and then failing to write to it for
longer than 1 minute will result in rebooting the machine. This
could be useful for a networked machine that needs to come back
online as fast as possible after a lock-up. There's both a watchdog
implementation entirely in software (which can sometimes fail to
reboot the machine) and a driver for hardware watchdog boards, which
are more robust and can also keep track of the temperature inside
your computer. For details, read Documentation/watchdog.txt in the
kernel source.
The watchdog is usually used together with the watchdog daemon which is
available via FTP (user: anonymous) from
ftp://metalab.unc.edu/pub/linux/system/daemons/watchdog This daemon can
check a larger part of the system. For instance it can monitor NFS
connections and reboot the machine when the process table is full or the
workload exceeds a predefined value.
If unsure, say N.
Disable watchdog shutdown on close
CONFIG_WATCHDOG_NOWAYOUT
The default watchdog behaviour (which you get if you say N here) is
to stop the timer if the process managing it closes the file
/dev/watchdog. It's always remotely possible that this process might
get killed. If you say Y here, the watchdog cannot be stopped once
it has been started.
WDT Watchdog timer
CONFIG_WDT
If you have a WDT500P or WDT501P watchdog board, say Y here,
otherwise N. It is not possible to probe for this board, which means
that you have to set the IO port and IRQ it uses in the kernel
source at the top of drivers/char/wdt.c.
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 Documentation/modules.txt. The module will be
called wdt.o.
WDT501 features
CONFIG_WDT_501
Saying Y here and creating a character special file /dev/temperature
with major number 10 and minor number 131 ("man mknod") will give
you a thermometer inside your computer: reading from
/dev/temperature yields one byte, the temperature in degrees
Fahrenheit. This works only if you have a WDT501P watchdog board
installed.
Fan Tachometer
CONFIG_WDT_501_FAN
Enable the Fan Tachometer on the WDT501. Only do this if you have a
fan tachometer actually set up.
Software Watchdog
CONFIG_SOFT_WATCHDOG
A software monitoring watchdog. This will fail to reboot your system
from some situations that the hardware watchdog will recover
from. Equally it's a lot cheaper to install.
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
Documentation/modules.txt. The module will be called softdog.o.
Berkshire Products PC Watchdog
CONFIG_PCWATCHDOG
This is the driver for the Berkshire Products PC Watchdog card.
This card simply watches your kernel to make sure it doesn't freeze,
and if it does, it reboots your computer after a certain amount of
time. This driver is like the WDT501 driver but for different
hardware. Please read Documentation/pcwd-watchdog.txt. The PC
watchdog cards can be ordered from http://www.berkprod.com Some
example rc.local files are available from ftp://ftp.bitgate.com
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 is called pcwd.o. If you want to compile it as a module,
say M here and read Documentation/modules.txt.
Most people will say N.
Acquire SBC Watchdog Timer
CONFIG_ACQUIRE_WDT
This is the driver for the hardware watchdog on the PSC-6x86 Single
Board Computer produced by Acquire Inc (and others). This watchdog
simply watches your kernel to make sure it doesn't freeze, and if
it does, it reboots your computer after a certain amount of time.
This driver is like the WDT501 driver but for different hardware.
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 is called pscwdt.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt. Most people
will say N.
Enhanced Real Time Clock Support
CONFIG_RTC
If you say Y here and create a character special file /dev/rtc with
major number 10 and minor number 135 using mknod ("man mknod"), you
will get access to the real time clock built into your computer.
Every PC has such a clock built in. It can be used to generate
signals from as low as 1Hz up to 8192Hz, and can also be used as a
24 hour alarm. It reports status information via the file /proc/rtc
and its behaviour is set by various ioctls on /dev/rtc.
If you run Linux on a multiprocessor machine and said Y to
"Symmetric Multi Processing" above, you should say Y here to read
and set the RTC clock in an SMP compatible fashion.
If you think you have a use for such a device (such as periodic data
sampling), then say Y here, and read Documentation/rtc.txt for
details.
Tadpole ANA H8 Support
CONFIG_H8
The Hitachi H8/337 is a microcontroller used to deal with the power
and thermal environment. If you say Y here, you will be able to
communicate with it via a character special device.
If unsure, say N.
/dev/nvram support
CONFIG_NVRAM
If you say Y here and create a character special file /dev/nvram
with major number 10 and minor number 144 using mknod ("man mknod"),
you get read and write access to the 50 bytes of non-volatile memory
in the real time clock (RTC), which is contained in every PC and
most Ataris.
This memory is conventionally called "CMOS RAM" on PCs and "NVRAM"
on Ataris. /dev/nvram may be used to view settings there, or to
change them (with some utility). It could also be used to frequently
save a few bits of very important data that may not be lost over
power-off and for which writing to disk is too insecure. Note
however that most NVRAM space in a PC belongs to the BIOS and you
should NEVER idly tamper with it. See Ralf Brown's interrupt list
for a guide to the use of CMOS bytes by your BIOS.
On Atari machines, /dev/nvram is always configured and does not need
to be selected.
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 nvram.o. If you want to compile it as a
module, say M here and read Documentation/modules.txt.
Are you using a crosscompiler
CONFIG_CROSSCOMPILE
Say Y here if you are compiling the kernel on a different
architecture than the one it is intended to run on.
Remote GDB kernel debugging
CONFIG_REMOTE_DEBUG
If you say Y here, it will be possible to remotely debug the MIPS
kernel using gdb. This enlarges your kernel image disk size by
several megabytes and requires a machine with more than 16 MB,
better 32 MB RAM to avoid excessive linking time. This is only
useful for kernel hackers. If unsure, say N.
Magic System Request Key support
CONFIG_MAGIC_SYSRQ
If you say Y here, you will have some control over the system even
if the system crashes for example during kernel debugging (e.g., you
will be able to flush the buffer cache to disk, reboot the system
immediately or dump some status information). This is accomplished
by pressing various keys while holding SysRq (Alt+PrintScreen). The
keys are documented in Documentation/sysrq.txt. Don't say Y unless
you really know what this hack does.
ISDN subsystem
CONFIG_ISDN
ISDN ("Integrated Services Digital Networks", called RNIS in France)
is a special type of fully digital telephone service; it's mostly
used to connect to your Internet service provider (with SLIP or
PPP). The main advantage is that the speed is higher than ordinary
modem/telephone connections, and that you can have voice
conversations while downloading stuff. It only works if your
computer is equipped with an ISDN card and both you and your service
provider purchased an ISDN line from the phone company. For details,
read http://alumni.caltech.edu/~dank/isdn/ on the WWW.
This driver allows you to use an ISDN-card for networking
connections and as dialin/out device. The isdn-tty's have a built in
AT-compatible modem emulator. Network devices support autodial,
channel-bundling, callback and caller-authentication without having
a daemon running. A reduced T.70 protocol is supported with tty's
suitable for German BTX. On D-Channel, the protocols EDSS1
(Euro-ISDN) and 1TR6 (German style) are supported. See
Documentation/isdn/README for more information.
If you want to compile the ISDN code 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 isdn.o. If unsure, say N.
Support synchronous PPP
CONFIG_ISDN_PPP
Over digital connections such as ISDN, there is no need to
synchronize sender and recipient's clocks with start and stop bits
as is done over analog telephone lines. Instead, one can use
"synchronous PPP". Saying Y here will include this protocol. This
protocol is used by Cisco and Sun for example. So you want to say Y
here if the other end of your ISDN connection supports it. You will
need a special version of pppd (called ipppd) for using this
feature. See Documentation/isdn/README.syncppp and
Documentation/isdn/syncPPP.FAQ for more information.
Support generic MP (RFC 1717)
CONFIG_ISDN_MPP
With synchronous PPP enabled, it is possible to increase throughput
by bundling several ISDN-connections, using this protocol. See
Documentation/isdn/README.syncppp for more information.
Use VJ-compression with synchronous PPP
CONFIG_ISDN_PPP_VJ
This enables Van Jacobson header compression for synchronous PPP.
Say Y if the other end of the connection supports it.
Support audio via ISDN
CONFIG_ISDN_AUDIO
If you say Y here, the modem-emulator will support a subset of the
EIA Class 8 Voice commands. Using a getty with voice-support
(mgetty+sendfax by gert@greenie.muc.de with an extension, available
with the ISDN utility package for example), you will be able to use
your Linux box as an ISDN-answering machine. Of course, this must be
supported by the lowlevel driver also. Currently, the HiSax driver
is the only voice-supporting driver. See
Documentation/isdn/README.audio for more information.
X.25 PLP on top of ISDN
CONFIG_ISDN_X25
This feature provides the X.25 protocol over ISDN connections.
See Documentation/isdn/README.x25 for more information
if you are thinking about using this.
ISDN diversion services support
CONFIG_ISDN_DIVERSION
This option allows you to use some supplementary diversion
services in conjunction with the HiSax driver on an EURO/DSS1
line.
Supported options are CD (call deflection), CFU (Call forward
unconditional), CFB (Call forward when busy) and CFNR (call forward
not reachable). Additionally the actual CFU, CFB and CFNR state may
be interrogated.
The use of CFU, CFB, CFNR and interrogation may be limited to some
countries. The keypad protocol is still not implemented. CD should
work in all countries if the service has been subscribed to.
Please read the file Documentation/isdn/README.diversion.
isdnloop support
CONFIG_ISDN_DRV_LOOP
This driver provides a virtual ISDN card. Its primary purpose is
testing of linklevel features or configuration without getting
charged by your service-provider for lots of phone calls.
You need will need the loopctrl utility from the latest isdn4k-utils
package to set up this driver.
Verbose kernel error messages
CONFIG_DEBUG_ERRORS
This option controls verbose debugging information which can be
printed when the kernel detects an internal error. This debugging
information is useful to kernel hackers when tracking down problems,
but mostly meaningless to other people. It's safe to say Y unless
you are concerned with the code size or don't want to see these
messages.
Compile kernel with frame pointer
CONFIG_FRAME_POINTER
If you say Y here, the resulting kernel will be slightly larger and
slower, but it will give useful debugging information. If you don't
debug the kernel, you can say N.
User fault debugging
CONFIG_DEBUG_USER
When a user program crashes due to an exception, the kernel can print
a brief message explaining what the problem was. This is sometimes
helpful for debugging but serves no purpose on a production system.
Most people should say N here.
Include gdb debugging information in kernel binary
CONFIG_DEBUG_INFO
Say Y here to include source-level debugging information in the
`vmlinux' binary image. This is handy if you want to use gdb or
addr2line to debug the kernel. It has no impact on the in-memory
footprint of the running kernel but it can increase the amount of
time and disk space needed for compilation. If in doubt say N.
Split initialisation functions into discardable section
CONFIG_TEXT_SECTIONS
Normally code that is only used during initialisation is collected
into a special area of the kernel so that it can be discarded and
the memory reclaimed when initialisation is complete. In addition,
if the kernel you wish to build is able to run on multiple
architectures, it allows the unused code to be discarded. Some
versions of binutils, however, have a bug that causes the kernel
to crash during startup when this option is enabled. Say Y unless
you experience problems that you suspect may be caused by this.
Disable pgtable cache
CONFIG_NO_PGT_CACHE
Normally the kernel maintains a `quicklist' of preallocated pagetable
structures in order to increase performance. On machines with very
few pages this may however be a loss. Say Y here to disable the pgtable
cache.