kernal configuration parameter help—Non networking part
CONFIG_EXPERIMENTAL:
Some
of the various things that Linux supports (such as network drivers, file systems,
network protocols, etc.) can be in a state of development where the
functionality, stability, or the level of testing is not yet high enough for
general use. This is usually known as the "alpha-test" phase amongst
developers. If a feature is currently in alpha-test, then the developers
usually discourage uninformed widespread use of this feature by the general
public to avoid "Why doesn't this work?" type mail messages. However,
active testing and use of these systems is welcomed. Just be aware that it may
not meet the normal level of reliability or it may fail to work in some special
cases. Detailed bug reports from people familiar with the kernel internals are
usually welcomed by the developers (before submitting bug reports, please read
the documents README, MAINTAINERS, REPORTING-BUGS, Documentation/BUG-HUNTING,
and Documentation/oops-tracing.txt in the kernel source).
This
option will also make obsoleted drivers available.
These are drivers that have been replaced by something else, and/or are scheduled
to be removed in a future kernel release.
Unless
you intend to help test and develop a feature or driver that falls into this
category, or you have a situation that requires using these features, you
should probably say N here, which will cause this configure script to present
you with fewer choices. If you say Y here, you will be offered the choice of
using features or drivers that are currently considered to be in the alpha-test
phase.
In
this project: Yes
In
"Networking Options", IPv6 protocol and IPv6 netfilter configuration are
"EXPERIEMENTAL"
CONFIG_MODULES:
Kernel
modules are small pieces of compiled code which can be inserted in or removed
from the running kernel, using the programs insmod
and rmmod. This is described in the file Documentation/modules.txt,
including the fact that you have to say "make modules" in order to
compile the modules that you chose during
kernel configuration. Modules can be device drivers, file
systems, binary executable formats, and so on.
In
this project: Yes
My
implementation will be a module.
CONFIG_MODVERSIONS:
Usually,
modules have to be recompiled whenever you switch to a new kernel. Saying Y
here makes it possible, and safe, to use the same modules even after compiling
a new kernel; this requires the program modprobe. All
the software needed for module support is in the modutils
package (check the file Documentation/Changes for location and latest version).
NOTE: if you say Y here but don't have the program genksyms
(which is also contained in the above
mentioned modutils package), then
the building of your kernel will fail. If you are going to use modules that are
generated from non-kernel sources, you would benefit from this option. Otherwise
it's not that important. So, N ought to be a safe bet.
In
this project: Yes
I
am not sure. But it doesn't hurt to select it.
CONFIG_KMOD:
Normally
when you have selected some drivers and/or file systems to be created as
loadable modules, you also have the responsibility to load the corresponding
modules (using the programs insmod or modprobe) before you can use them. If you say Y here
however, the kernel will be able to load modules for itself: when a part of the
kernel needs a module, it runs modprobe with the
appropriate arguments, thereby loading the module if it is available. (This is
a replacement for kerneld.) Say Y here and read about
configuring it in Documentation/kmod.txt.
In
this project: Yes
Obvious
CONFIG_M386:
This
is the processor type of your CPU. This information is used for optimizing
purposes. In order to compile a kernel that can run on all x86 CPU types
(albeit not optimally fast), you can specify "386" here.
What
to choose?
London.cs.unh.edu is PII, Madrid,Dublin,Prague is PIII
CONFIG_MICROCODE:
If
you say Y here and also to "/dev file system support" in the 'File
systems' section, you will be able to update the microcode on Intel processors
in the IA32 family, e.g. Pentium Pro, Pentium II, Pentium III, Pentium 4, Xeon
etc. You will obviously need the actual microcode binary data itself which is
not shipped with the Linux kernel.
For
latest news and information on obtaining all the required
ingredients for this driver, check:
http://www.urbanmyth.org/microcode/
Default
is YES. It doesn’t hurt.
CONFIG_X86_MSR:
This
device gives privileged processes access to the x86 Model-Specific Registers (MSRs). It is a
character device with major 202 and minors 0 to 31 for /dev/cpu/0/msr
to /dev/cpu/31/msr. MSR accesses are directed to a specific CPU on
multi-processor systems.
Default
is YES. It doesn’t hurt.
CONFIG_X86_CPUID:
This
device gives processes access to the x86 CPUID instruction
to be executed on a specific processor.
It is a character device with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to /dev/cpu/31/cpuid.
In
this project: NO
There’s
only one CPU in London, Dublin, Madrid, Prague. And I will deal with CPU directly
CONFIG_NOHIGHMEM:
Linux
can use up to 64 Gigabytes of physical memory on x86 systems.
However,
the address space of 32-bit x86 processors is only 4
Gigabytes large. That means that, if you have a large amount
of
physical memory, not all of it can be "permanently
mapped" by the
kernel. The physical memory that's not permanently mapped is
called
"high memory".
If
you are compiling a kernel which will never run on a machine with
more than 1 Gigabyte total physical RAM, answer
"off" here (default
choice and suitable for most users). This will result in a
"3GB/1GB"
split: 3GB are mapped so that each process sees a 3GB
virtual memory
space and the remaining part of the 4GB virtual memory space
is used
by the kernel to permanently map as much physical memory as
possible.
In
this project: NO
None
of the London, Madrid, Dublin, Prague has more than 1 GByte memory
CONFIG_MATH_EMULATION:
Linux
can emulate a math coprocessor (used for floating point operations) if you
don't have one. 486DX and Pentium processors have a math coprocessor built in, 486SX and 386 do not, unless you added a 487DX or 387,
respectively. (The messages during boot time can give you some hints here
["man dmesg"].) Everyone needs either a coprocessor
or this emulation.
If
you don't have a math coprocessor, you need to say Y here; if you say Y here
even though you have a coprocessor, the coprocessor will be used nevertheless.
(This behavior can be changed with the kernel command line option
"no387", which comes handy if your coprocessor is broken. Try
"man bootparam" or see the documentation of
your boot loader (lilo or loadlin)
about how to pass options to the kernel at boot time.) This means that it is a
good idea to say Y here if you
intend to use this kernel on different machines.
More
information about the internals of the Linux math coprocessor
emulation can be found in arch/i386/math-emu/README.
In
this project: YES
I
am not sure whether my computer has this math coprocessor, but according to
the help, it doesn't hurt to have it.
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 if 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. Saying Y here
creates a /proc/mtrr file which may be used to
manipulate your processor's MTRRs. Typically the X server
should use this.
In
this project: NO
I
won't deal with the processors. Just to keep my kernel minimum
CONFIG_SMP:
This
enables support for systems with more than one CPU. If you
have a system with only one CPU, like most personal computers, say N. If
you have a system with more than one CPU, say Y.
In
this project: NO
None
of London, Dublin, Madrid, Prague has more than one
CPU.
CONFIG_X86_UP_IOAPIC:
APIC
(Advanced Programmable Interrupt Controller) is a scheme for delivering
hardware interrupt requests to the CPU. It is commonly used on systems
with several CPU's. If you have a single-CPU system which uses APIC, you can
say Y here to use it. If you say Y here even though your machine doesn't have
APIC, then the kernel will still run with no slowdown at all.
If
you have system with several CPU's, you do not need to say Y here: APIC will be
used automatically.
In
this project: NO
I
am not sure. But it doesn't hurt if I don't choose it.
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.
In
this project: YES
OBVIOUS
CONFIG_PCI:
Find
out whether you have a PCI motherboard. PCI is the name of a bus system,i.e. the way the CPU talks
to the other stuff inside your box. Other bus systems are ISA, EISA, Microchannel (MCA) or VESA. If you have PCI, say Y,
otherwise N.
In
this project: YES
London,
Dublin, Madrid, Prague all has only PCI and IDE. no
ISA/EISA
CONFIG_PCI_GOBIOS:
On
PCI systems, the BIOS can be used to detect the PCI devices and determine their
configuration. However, some old PCI motherboards have BIOS bugs and may crash
if this is done. Also, some embedded PCI-based systems don't have any BIOS at
all. Linux can also try to detect the PCI hardware directly without using the
BIOS.
With
this option, you can specify how Linux should detect the PCI devices. If you
choose "BIOS", the BIOS will be used, if you choose "Direct",
the BIOS won't be used, and if you choose "Any", the kernel will try
the direct access method and falls back to the BIOS if that doesn't work. If
unsure, go with the default, which is "Any".
In
this project: YES
CONFIG_PCI_NAMES:
By
default, the kernel contains a database of all known PCI device names to make
the information in /proc/pci, /proc/ioports and similar files comprehensible to the user. This
database increases size of the kernel image by about 80KB, but it gets freed
after the system boots up, so it doesn't take up kernel memory. Anyway, if you are
building an installation floppy or kernel for an embedded system where kernel
image size really matters, you can disable this feature and you'll get device
ID numbers instead of names.
In
this project: YES
I
am not sure. It doesn’t hurt.
CONFIG_EISA:
The
Extended Industry Standard Architecture (EISA) bus was developed as an open
alternative to the IBM MicroChannel bus.
The
EISA bus provided some of the features of the IBM MicroChannel
bus while maintaining backward compatibility with cards made for the older ISA
bus. The EISA bus saw limited use between 1988 and 1995 when it was made
obsolete by the PCI bus.
In
this project: NO
There
is no EISA slot on london, dublin, madrid, prague machines
CONFIG_MCA:
MicroChannel Architecture is found in some IBM PS/2 machines
and
laptops. It is a bus system similar to PCI or ISA. See
Documentation/mca.txt
(and especially the web page given there)
before attempting to build an MCA bus kernel.
In
this project: NO
Obvious
CONFIG_HOTPLUG:
Say
Y here if you want to plug devices into your computer while
the system is running, and be able to use them quickly. In many
cases, the devices can likewise be unplugged at any time
too.
In
this project: NO
I
won't use any USB, PCMCIA devices on london/dublin/madrid/prague
machines
CONFIG_SYSVIPC:
Inter
Process Communication is a suite of library functions and system calls which
let processes (running programs) synchronize and exchange information. It is
generally considered to be a good thing, and some programs won't run unless you
say Y here. In particular, if you want to run the DOS emulator dosemu under Linux (read the DOSEMU-HOWTO, available from
http://www.linuxdoc.org/docs.html#howto ), you'll need to say Y here.
You
can find documentation about IPC with "info ipc"
and also in section 6.4 of the Linux Programmer's Guide, available from
http://www.linuxdoc.org/docs.html#guide .
In this project: YES
See
the help above
CONFIG_BSD_PROCESS_ACCT:
If
you say Y here, a user level program will be able to instruct the kernel (via a
special system call) to write process accounting information to a file: whenever
a process exits, information about that process will be appended to the file by
the kernel. The information includes things such as creation time,owning user,command
name, memory usage, controlling terminal etc. (the complete list is in the struct acct in include/linux/acct.h).
It is up to the user level program to do useful things with this information.
This is generally a good idea, so say Y.
In
this project: YES
I
am not sure, but it doesn’t hurt.
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 you say Y to "/proc file system support", 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.
In
this project: YES
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.
CONFIG_KCORE_ELF:
If
you enabled support for /proc file system then the file /proc/kcore will contain the kernel core image. This can be used
in gdb:
$
cd /usr/src/linux
; gdb vmlinux /proc/kcore
You
have two choices here: ELF and A.OUT. Selecting ELF will make /proc/kcore appear in ELF core format as defined by the
Executable and Linking Format specification. Selecting A.OUT will choose the old
"a.out" format which may be necessary for
some old versions of binutils or on some architectures.
This
is especially useful if you have compiled the kernel with the "-g"
option to preserve debugging information. It is mainly used for examining
kernel data structures on the live kernel so if you don't understand what this
means or are not a kernel hacker, just leave it at its
default value ELF.
CONFIG_BINFMT_AOUT:
A.out (Assembler.OUTput) is a set
of formats for libraries and executables used in the earliest versions of UNIX.
Linux used the a.out formats QMAGIC and ZMAGIC until
they were replaced with the ELF format.
As
more and more programs are converted to ELF, the use for a.out
will gradually diminish. If you disable this option it will reduce your kernel
by one page. This is not much and by itself does not warrant removing support.
However its removal is a good idea if you wish to ensure that absolutely none
of your programs will use this older executable format. If you don't know what
to answer at this point then answer Y. If someone told you "You need a
kernel with QMAGIC support" then you'll have to say Y here. You may answer
M to compile a.out support as a module and later load
the module when you want to use a program or library in a.out
format. The module will be called binfmt_aout.o.
Saying M or N here is dangerous though, because some crucial programs on your
system might still be in A.OUT format.
CONFIG_BINFMT_ELF:
ELF
(Executable and Linkable Format) is a format for libraries and executables used
across different architectures and operating systems. Saying Y here will enable
your kernel to run ELF binaries and enlarge it by about 13 KB. ELF support
under Linux has now all but replaced the traditional Linux a.out
formats (QMAGIC and ZMAGIC) because it is portable (this does *not* mean that
you will be able to run executables from different architectures or operating
systems
however) and makes building run-time libraries very easy.
Many new executables are distributed solely in ELF format. You definitely want
to say Y here.
Information
about ELF is contained in the ELF HOWTO available from
http://www.linuxdoc.org/docs.html#howto .
If
you find that after upgrading from Linux kernel 1.2 and saying Y here, you
still can't run any ELF binaries (they just crash), then you'll have to install
the newest ELF runtime libraries, including ld.so
(check the file Documentation/Changes for location and latest version).
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 binfmt_elf.o. Saying M or N here is dangerous because some crucial
programs on your system might be in ELF format.
In
this project: set to default: BOTH
CONFIG_BINFMT_MISC:
If
you say Y here, it will be possible to plug wrapper-driven binary formats into
the kernel. You will like this especially when you use programs that need an
interpreter to run like Java, Python or Emacs-Lisp.
It's also useful if you often run DOS executables under the Linux DOS emulator
DOSEMU (read the DOSEMU-HOWTO, available from http://www.linuxdoc.org/docs.html#howto ). Once you have
registered such a binary class with the kernel, you can
start one of those programs simply by typing in its name at a shell prompt;
Linux will automatically feed it to the correct interpreter.
You
can do other nice things, too. Read the file Documentation/binfmt_misc.txt to
learn how to use this feature, and Documentation/java.txt for information about
how to include Java support.
You
must say Y to "/proc file system support" (CONFIG_PROC_FS) to use
this part of the kernel.
You
may say M here for module support and later load the module when you have use
for it; the module is called binfmt_misc.o. If you
don't know what to answer at this point, say Y.
CONFIG_PM:
"Power
Management" means that parts of your computer are shut off or put into a
power conserving "sleep" mode if they are not being used. There are
two competing standards for doing this: APM and ACPI. If you want to use either
one, say Y here and then also to the requisite support below.
In
this project: NO
For
Desktop machines, it doesn't hurt to rule it out
CONFIG_PARPORT:
If
you want to use devices connected to your machine's parallel port
(the connector at the computer with 25 holes), e.g. printer,
ZIP drive, PLIP link (Parallel Line Internet Protocol is mainly used to create
a mini network by connecting the parallel ports of two local machines) etc.,
then you need to say Y here; please read Documentation/parport.txt and drivers/parport/BUGS-parport.
In
this project: NO
No
printers or other parallel port device will be attached.
CONFIG_PNP:
Plug
and Play (PnP) is a standard for peripherals which allows those peripherals to
be configured by software, e.g. assign IRQ's or other
parameters. No jumpers on the cards are needed, instead the values are provided
to the cards from the BIOS, from the operating system, or using a user-space
utility.
Say
Y here if you would like Linux to configure your Plug and Play devices. You
should then also say Y to "ISA Plug and Play support", below.
Alternatively, you can say N here and configure your PnP devices using the user
space utilities contained in the isapnptools package.
This
support is also available as a module ( = code which
can be inserted in and removed from the running kernel whenever you want).If
you want to compile it as a module, say M here and read Documentation/modules.txt.
In
this project: YES
There
might be some NIC installed later
CONFIG_BLK_DEV_FD:
If you want to use the floppy disk drive(s) of your PC
under Linux, say Y. Information about this driver, especially important for IBM
Thinkpad users, is contained in
Documentation/floppy.txt. That file also contains the location of the Floppy
driver FAQ as well as location of the fdutils package
used to configure additional parameters of the driver at run time.
This driver is also available as a module ( = code which can be inserted in and removed from the
running kernel whenever you want). The module will be called floppy.o. If you want to compile it as a module, say M here
and read Documentation/modules.txt.
In
this project: NO
There’s
no floppy disk driver in London, Madrid, Prague, Bublin.
CONFIG_BLK_DEV_XD:
Very
old 8 bit hard disk controllers used in the IBM XT computer will be supported
if you say Y here.
In
this project: NO
CONFIG_PARIDE:
There
are many external CD-ROM and disk devices that connect through your computer's
parallel port. Most of them are actually IDE devices using a parallel port IDE
adapter. This option enables the PARIDE subsystem which contains drivers for
many of these external drives.
Read
Documentation/paride.txt for more information.
In
this project: NO
CONFIG_BLK_DEV_NBD:
CONFIG_BLK_DEV_LOOP:
CONFIG_BLK_DEV_RAM:
In
this project: USE DEFAULT. It doesn’t hurt.
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.
In
this project: NO
There
is no SCSI devices.
CONFIG_BLK_DEV_SD:
CONFIG_SD_EXTRA_DEVS:
CONFIG_I2O:
The Intelligent Input/Output (I2O) architecture allows hardwaredrivers to be split into two parts: an operating
system specific module called the OSM and an hardware
specific module called the HDM. The OSM can talk to a whole range of HDM's, and ideally the HDM's are
not OS dependent. This allows for the same HDM driver to be used under
different operating systems if the relevant OSM is in place. In order for this
to work, you need to have an I2O interface adapter card in your computer. This
card contains a special I/O processor (IOP), thus allowing high speeds since
the CPU does not have to deal with I/O.
If you say Y here, you will get a choice of interface
adapter drivers and OSM's with the following
questions.
This support is also available as a module ( = code which can be inserted in and removed from the
running kernel whenever you want). If you want to compile it as a module, say M
here and read Documentation/modules.txt. You will get modules called i2o_core.o
and i2o_config.o.
In
this project: NO
Unsure
CONFIG_INPUT:
Say
Y here if you want to enable any of the following options for USB Human
Interface Device (HID) support.
CONFIG_INPUT_KEYBDEV:
CONFIG_INPUT_MOUSEDEV:
CONFIG_INPUT_MOUSEDEV_SCREEN_X:
CONFIG_INPUT_MOUSEDEV_SCREEN_Y:
In
this project: NO
There
won’t be any USB input devices
CONFIG_VT:
If
you say Y here, you will get support for terminal devices with display and
keyboard devices. These are called "virtual" because you can run
several virtual terminals (also called virtual consoles) on one physical terminal.
This is rather useful, for example one virtual terminal can collect system
messages and warnings, another one can be used for a text-mode user session,
and a third could run an X session, all in parallel. Switching between virtual
terminals is done with certain key combinations, usually Alt-<function
key>. The setterm command ("man setterm") can be used to change the properties (such
as colors or beeping) of a virtual terminal. The man page console_codes(4) ("man console_codes") contains the special character
sequences that can be used to change those properties directly. The fonts used
on virtual terminals can be changed withthe setfont ("man setfont")
command and the key bindings are defined
with the loadkeys ("man loadkeys") command.
You
need at least one virtual terminal device in order to make use of your keyboard
and monitor. Therefore, only people configuring an embedded system would want
to say N here in order to save some memory; the only way to log into such a
system is then via a serial or network connection.
If
unsure, say Y, or else you won't be able to do much with your new shiny Linux
system :-)
CONFIG_VT_CONSOLE:
In
this project: USE default set value
CONFIG_SERIAL:
This
selects whether you want to include the driver for the standard serial ports.
The standard answer is Y. People who might say N here are those that are
setting up dedicated Ethernet WWW/FTP servers, or users that have one of the
various bus mice instead of a serial mouse and don't intend to use their
machine's standard serial port for anything. (Note that the Cyclades
and Stallion multi serial port drivers do not need this driver built in for
them to work.)
If
you want to compile this driver as a module, say M here and read Documentation/modules.txt.
The module will be called serial.o. [WARNING: Do not
compile this driver as a module if you are using non-standard serial ports,
since the configuration information will be lost when the driver is unloaded.
This limitation may be lifted in the future.]
BTW1:
If you have a mouseman serial mouse which is not
recognized by the X window system, try running gpm
first.
BTW2:
If you intend to use a software modem (also called Winmodem)
under Linux, forget it. These modems are crippled and require proprietary
drivers which are only available under Windows.
Most
people will say Y or M here, so that they can use serial mice, modems and
similar devices connecting to the standard serial ports.
CONFIG_SERIAL_CONSOLE:
If
you say Y here, it will be possible to use a serial port as the system console
(the system console is the device which receives all kernel messages and
warnings and which allows logins in single user mode). This could be useful if
some terminal or printer is connected to that serial port.
Even
if you say Y here, the currently visible virtual console (/dev/tty0) will still
be used as the system console by default, but you can alter that using a kernel
command line option such as "console=ttyS1". (Try "man bootparam" or see the documentation of your boot loader
(lilo or loadlin) about how
to pass options to the kernel at boot time.)
If
you don't have a VGA card installed and you say Y here, the kernel will
automatically use the first serial line, /dev/ttyS0, as system console.
If
unsure, say N.
CONFIG_SERIAL_EXTENDED:
If
you wish to use any non-standard features of the standard "dumb" driver,
say Y here. This includes HUB6 support, shared serial interrupts, special multiport support, support for
more than the four COM 1/2/3/4 boards, etc.
Note
that the answer to this question won't directly affect the kernel: saying N
will just cause this configure script to skip all the questions about serial
driver options. If unsure, say N.
CONFIG_SERIAL_MANY_PORTS:
Say
Y here if you have dumb serial boards other than the four standard COM 1/2/3/4
ports. This may happen if you have an AST FourPort,
Accent Async, Boca (read the Boca mini-HOWTO,
available from http://www.linuxdoc.org/docs.html#howto ), or other custom serial
port hardware which acts similar to standard serial port hardware. If you only
use the standard COM 1/2/3/4 ports, you can say N here to save some memory. You
can also say Y if you have an "intelligent" multiport
card such as Cyclades, Digiboards,
etc.
CONFIG_SERIAL_SHARE_IRQ:
Some
serial boards have hardware support which allows multiple dumb serial ports on
the same board to share a single IRQ. To enable support for this in the serial
driver, say Y here.
CONFIG_SERIAL_NONSTANDARD:
Say
Y here if you have any non-standard serial boards – boards which aren't
supported using the standard "dumb" serial driver.This
includes intelligent serial boards such as Cyclades, Digiboards, etc. These are usually used for systems that
need many serial ports because they serve many terminals or dial-in
connections.
Note
that the answer to this question won't directly affect the kernel: saying N
will just cause this configure script to skip all the questions about
non-standard serial boards.
In
this project: NO
CONFIG_UNIX98_PTYS:
A
pseudo terminal (PTY) is a software device consisting of two halves: a master
and a slave. The slave device behaves identical to a physical terminal; the
master device is used by a process to read data from and write data to the
slave, thereby emulating a terminal. Typical programs for the master side are
telnet servers and xterms.
Linux
has traditionally used the BSD-like names /dev/ptyxx
for masters and /dev/ttyxx for slaves of pseudo
terminals. This scheme has a number of problems. The GNU C library glibc 2.1 and later, however, supports the Unix98 naming
standard: in order to acquire a pseudo terminal, a process opens /dev/ptmx; the number of the pseudo terminal is then made
available to the process and the pseudo terminal slave can be accessed as
/dev/pts/<number>. What was traditionally
/dev/ttyp2 will then be /dev/pts/2, for example.
The
entries in /dev/pts/ are created on the fly by a virtual file system;
therefore, if you say Y here you should say Y to "/dev/pts file system for
Unix98 PTYs" as well.
If
you want to say Y here, you need to have the C library glibc
2.1 or later (equal to libc-6.1, check with "ls
-l /lib/libc.so.*").Read the instructions in
Documentation/Changes pertaining to pseudo terminals. It's safe to say N.
CONFIG_UNIX98_PTY_COUNT:
The maximum number of Unix98 PTYs that
can be used at any one time. The default is 256, and should be enough
for desktop systems. Server machines which support incoming telnet/rlogin/ssh connections and/or serve several X terminals may want
to increase this: every incoming connection and every xterm
uses up one PTY.
When
not in use, each additional set of 256 PTYs occupy approximately
8 KB of kernel memory on 32-bit architectures.
In
this project: The above options use DEFAULT value
CONFIG_I2C:
I2C
(pronounce: I-square-C) is a slow serial bus protocol used in many micro
controller applications and developed by Philips. SMBus, or System Management
Bus is a subset of the I2C protocol. More information is contained in the
directory Documentation/i2c/,especially in the file
called "summary" there.
Both
I2C and SMBus are supported here. You will need this
for hardware sensors support, and also for Video for Linux support.Specifically,
if you want to use a BT848 based frame grabber/overlay boards under Linux, say
Y here and also to "I2C bit-banging interfaces", below.
If
you want I2C support, you should say Y here and also to the specific driver for
your bus adapter(s) below. If you say Y to "/proc file system" below,
you will then get a /proc interface which is documented in
Documentation/i2c/proc-interface.
This
I2C support is also available as a module. If you want to compile it as a
module, say M here and read Documentation/modules.txt. The module will be
called i2c-core.o.
CONFIG_BUSMOUSE:
Say
Y here if your machine has a bus mouse as opposed to a serial mouse. Most
people have a regular serial MouseSystem or Microsoft
mouse (made by Logitech) that plugs into a COM port (rectangular with 9 or 25
pins). These people say N here. If you have something else, read the Busmouse-HOWTO, available from
http://www.linuxdoc.org/docs.html#howto , and say Y here.
In
this project: NO
No
bus mouse. Only PS/2 mouse
CONFIG_ATIXL_BUSMOUSE:
CONFIG_LOGIBUSMOUSE:
CONFIG_MS_BUSMOUSE:
CONFIG_MOUSE:
In
this project: For the above options: NO
CONFIG_PSMOUSE:
In
this project: YES
CONFIG_82C710_MOUSE:
CONFIG_PC110_PAD:
In
this project: For the above options :NO
CONFIG_VIDEO_DEV:
CONFIG_QUOTA:
In
this project: For the above options :NO
CONFIG_AUTOFS_FS:
CONFIG_AUTOFS4_FS:
CONFIG_REISERFS_FS:
CONFIG_REISERFS_CHECK:
CONFIG_ADFS_FS:
CONFIG_AFFS_FS:
CONFIG_HFS_FS:
CONFIG_BFS_FS:
CONFIG_FAT_FS:
CONFIG_MSDOS_FS:
CONFIG_UMSDOS_FS:
CONFIG_VFAT_FS:
CONFIG_EFS_FS:
CONFIG_JFFS_FS:
CONFIG_TMPFS:
CONFIG_RAMFS:
CONFIG_ISO9660_FS:
CONFIG_JOLIET:
CONFIG_MINIX_FS:
CONFIG_VXFS_FS:
CONFIG_NTFS_FS:
CONFIG_NTFS_RW:
CONFIG_HPFS_FS:
CONFIG_PROC_FS:
This
is a virtual file system 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 program procinfo to display
some
information about your system gathered from the /proc file
system.
Before
you can use the /proc file system, it has to be mounted, meaning it has to be
given a location in the directory hierarchy. That location
should be /proc. A command such as "mount -t proc proc /proc" or the equivalent line in /etc/fstab does the job.
The
/proc file system is explained in the file
Documentation/filesystems/proc.txt
and on the proc(5) manpage
("man 5 proc").
This
option will enlarge your kernel by about 67 KB. Several programs depend on
this, so everyone should say Y here.
CONFIG_DEVFS_FS:
CONFIG_DEVFS_FS:
CONFIG_DEVFS_MOUNT:
CONFIG_DEVPTS_FS:
CONFIG_DEVPTS_FS:
CONFIG_QNX4FS_FS:
CONFIG_ROMFS_FS:
CONFIG_EXT2_FS:
This
is the de facto standard Linux file system (method to organize files on a
storage device) for hard disks.
You
want to say Y here, unless you intend to use Linux exclusively from inside a
DOS partition using the UMSDOS file system. The advantage of the latter is that
you can get away without repartitioning your hard drive (which often implies
backing everything up and restoring afterwards); the disadvantage is that Linux
becomes susceptible to DOS viruses and that UMSDOS is somewhat slower than
ext2fs. Even if you want to run Linux in this fashion,it might be a good idea to have ext2fs around: it
enables you to read more floppy disks and facilitates the transition to a
*real* Linux partition later. Another (rare) case which doesn't require ext2fs
is a diskless Linux box which mounts all files over the network using NFS (in
this case it's sufficient to say Y to "NFS file system support"
below). Saying Y here will enlarge your kernel by about 44 KB.
The
Ext2fs-Undeletion mini-HOWTO, available from
http://www.linuxdoc.org/docs.html#howto , gives information about how to retrieve deleted
files on ext2fs file systems.
To
change the behavior of ext2 file systems, you can use the tune2fs utility
("man tune2fs"). To modify attributes of files and directories on
ext2 file systems, use chattr ("man chattr").
Ext2fs
partitions can be read from within DOS using the ext2tool command line tool
package (available via FTP (user: anonymous) from ftp://metalab.unc.edu/pub/Linux/system/filesystems/ext2 ) and from within Windows NT using the ext2nt command
line tool package from ftp://metalab.unc.edu/pub/Linux/utils/dos . Explore2fs
is a graphical explorer for ext2fs partitions which runs on Windows 95 and
Windows NT and includes experimental write support; it is available from
http://jnewbigin-pc.it.swin.edu.au/Linux/Explore2fs.htm .
If
you want to compile this file system as a module ( =
code which can be inserted in and removed from the running kernel whenever youwant), say M here and read Documentation/modules.txt.
The module will be called ext2.o. Be aware however that the file system of your
root partition (the one containing the directory /) cannot be compiled as a
module, and so this could be dangerous. Most everyone wants to say Y here.
CONFIG_SYSV_FS:
CONFIG_UDF_FS:
CONFIG_UDF_RW:
CONFIG_UFS_FS:
CONFIG_UFS_FS_WRITE:
CONFIG_CODA_FS:
CONFIG_NFS_FS:
CONFIG_NFS_V3:
CONFIG_ROOT_NFS:
CONFIG_NFSD:
CONFIG_NFSD_V3:
CONFIG_SMB_FS:
CONFIG_SMB_NLS_DEFAULT:
ONFIG_SMB_NLS_REMOTE:
CONFIG_NCP_FS:
CONFIG_NCPFS_PACKET_SIGNING:
CONFIG_NCPFS_IOCTL_LOCKING:
CONFIG_NCPFS_STRONG:
CONFIG_NCPFS_NFS_NS:
CONFIG_NCPFS_OS2_NS:
CONFIG_NCPFS_SMALLDOS:
CONFIG_NCPFS_NLS:
CONFIG_NCPFS_EXTRAS:
In
this project:
For
the above file system options. Only select FAT VFAT for possible Dos partition
access. Select Ext2 which is linux de facto file
system. Select ISO9600 for possible CD-ROM access
CONFIG_VGA_CONSOLE:
Saying
Y here will allow you to use Linux in text mode through a display that complies
with the generic VGA standard. Virtually everyone wants that.
The
program SVGATextMode can be used to utilize SVGA
video cards to their full potential in text mode. Download it from ftp://metalab.unc.edu/pub/Linux/utils/console .
Say
Y.
CONFIG_VIDEO_SELECT:
This
enables support for text mode selection on kernel startup. If you want to take
advantage of some high-resolution text mode your card's BIOS offers, but the
traditional Linux utilities like SVGATextMode don't,
you can say Y here and set the mode using the "vga="
option from your boot loader (lilo or loadlin) or set "vga=ask"
which brings up a video mode menu on kernel startup. (Try "man bootparam" or see the documentation of your boot
loader about how to pass options to the kernel.)
Read
the file Documentation/svga.txt for more information about the Video mode
selection support. If unsure, say N.
In
this project: NO
NOT
SURE
CONFIG_MDA_CONSOLE:
Say
Y here if you have an old MDA or monochrome Hercules graphics adapter in your
system acting as a second head ( = video card). You will
then be able to use two monitors with your Linux system. Do not say Y here if
your MDA card is the primary card in your system; the normal VGA driver will
handle it.
This
driver is also available as a module ( = code which
can be inserted and removed from the running kernel whenever you want). The
module will be called mdacon.o. If you want to
compile it as a module, say M here and read Documentation/modules.txt.
In
this project: NO unsure
CONFIG_SOUND:
If
you have a sound card in your computer, i.e. if it can say more than an
occasional beep, say Y. Be sure to have all the information about your sound
card and its configuration down (I/O port, interrupt and DMA channel), because
you will be asked for it.
You
want to read the Sound-HOWTO, available from
http://www.linuxdoc.org/docs.html#howto . General information
about the modular sound system is contained in the files Documentation/sound/Introduction.
The file Documentation/sound/README.OSS contains some slightly outdated but still
useful information as well.
If
you have a PnP sound card and you want to configure it at boot time using the
ISA PnP tools (read http://www.roestock.demon.co.uk/isapnptools/ ), then you need to compile the sound card support as a
module ( = code which can be inserted in and removed from the running kernel
whenever you want) and load that module after the PnP configuration is
finished. To do this, say M here and read Documentation/modules.txt as well as Documentation/sound/README.modules; the module will be called soundcore.o.
I'm
told that even without a sound card, you can make your computer say more than
an occasional beep, by programming the PC speaker. Kernel patches and
supporting utilities to do that are in the pcsp package,
available at ftp://ftp.infradead.org/pub/pcsp/ .
In
this project: NO
Won’t
use Sound card, although
we have sound card on board.
CONFIG_SOUND_EMU10K1:
Say
Y or M if you have a PCI sound card using the EMU10K1 chipset, such as the
Creative SBLive!, SB PCI512
or Emu-APS.
For
more information about the degree of support for the different card models
please check:
http://opensource.creative.com
It
is now possible to load dsp microcode patches into
the EMU10K1 chip. These patches are used
to implement real time sound processing effects which include for example:
signal routing, bass/treble control, AC3 passthrough, ...Userspace tools to create new
patches and load/unload them can be found
at the above link. You need to get the source snapshot and
then type:
% make tools
% make
install-tools
in the top directory.
CONFIG_SOUND_FUSION:
This
module drives the Crystal SoundFusion devices
(CS4280/46xx series)
when wired as native sound drivers with AC97 codecs. If this driver
does not work try the CS4232 driver.
CONFIG_USB:
CONFIG_USB_DEBUG:
CONFIG_USB_DEVICEFS:
CONFIG_USB_BANDWIDTH:
CONFIG_USB_UHCI:
CONFIG_USB_OHCI:
CONFIG_USB_AUDIO:
CONFIG_USB_BLUETOOTH:
CONFIG_USB_STORAGE:
CONFIG_USB_ACM:
CONFIG_USB_PRINTER:
CONFIG_USB_HID:
CONFIG_USB_KBD:
CONFIG_USB_MOUSE:
CONFIG_USB_WACOM:
CONFIG_USB_DC2XX:
CONFIG_USB_SCANNER:
CONFIG_USB_IBMCAM:
CONFIG_USB_OV511:
CONFIG_USB_USS720:
CONFIG_USB_SERIAL:
In
this project: For the above USB options, Say No because we won’t use any
USB devices in this project. Just to keep kernel minimum