Next
Previous Contents
4. Configuring The Kernel
This is where you make all your choices on what to include in your new
kernel. You have complete control over what is in this new kernel, but
you should understand what you change before you make the changes. Remember,
if you compile something in that you don't need, it wont really hurt, it
will just make a bigger kernel. However, if you exclude something that
you needed you will not be able to use that piece of hardware with that
kernel, or in extreme situations, your computer will not boot.
In case you need more help with any features there is online help included
with the source tree. Just type "?" at almost any option and you will be
given a short help file.
4.1 Execute the Configuration
Make sure you are in the directory /usr/src/linux-2.4.x (Where "x" is your
version) and execute your choice of configuration options. I am going to
use "make menuconfig".
4.2 Code Maturity Level Options
There is only one option in this category. This determines if the following
categories will offer options for incomplete or experimental kernel drivers.
For the greatest range of possibilities you can say yes here, but if you
are in an environment that needs absolute stability, you should disable
this feature.
4.3 Loadable Module Support
This determines whether or not the kernel supports modules and how modules
are dealt with. Most people should leave these all enabled. The only reason
I can see that you would want to disable modules would be in an embedded
device or boot disk that will not include any modules. Unless this is the
case, I would leave these alone.
4.4 Processor Type and Features
There are a handful of options here, but only a couple are really important
to the beginner. These are the processor type, memory support, math emulation,
MTRR support, SMP support, and APIC support.
First, processor type determines what processor family the kernel is
optimized for, ranging from a 386 to a Pentium 4. You should choose your
process from the list in order to provide the best performance. However,
be aware that the kernel will not be backwards compatible, so a kernel
optimized for a Pentium III will probably not run on a 486DX. To use the
kernel on any machine, choose 386.
High memory support is only necessary for very high end machines or
servers. This allows the kernel to address very large amounts of memory,
4GB and 16GB specifically. unless you plan of having more than 4GB of RAM
in your PC, this can be left on "off".
Math emulation is for older PCs that do not have math co-processors.
If you have a 386 or 486SX and have not specifically added a math co-processor
to your system, you need to enable this. Unless you really need this, don't
enable this. Your kernel will work fine, but it adds 66 KB to your kernel.
Memory type range register (MTRR) support is a feature you should enable
if your system supports it. Most every modern Pentium class or higher processor
supports MTRR, so this is usually a good idea. read the help file just
in case.
Finally, Symmetric Multi-Processing support is another feature that
you should know about. Unless you have two or more processors in your computer
it is unnecessary. Removing this feature should make your kernel smaller.
On top of that, a SMP kernel might not run on all uni-processor machines.
4.5 General Setup
Most of these settings can be left as is unless you know your computer
needs something changed. There are only a couple of options that you really
need to worry about, and those are primarily for legacy support.
First is EISA support. If you know that you are using EISA/ISA peripherals,
enable this support. If you do not, your kernel will not be able to use
EISA devices. Second is another bus type even older than EISA, MCA. If
your computer is quite old, like a 486DX or older, you may have MCA peripherals.
Enable this if needed.
4.6 Memory Technology Devices (MTD)
Chances are you don't need this, so you can probably ignore this.
4.7 Parallel Port Support
Most PCs have standard parallel ports and are IEEE 1284 compatible. Unless
you have an older computer or one that does not support standard PC ports,
enable "Parallel Port Support", "PC-Style Hardware", "Use FIFO/DMA", and
"IEEE 1284 Transfer Modes".
4.8 Plug and Play Configuration
The defaults are fine in this categories, so unless you know otherwise,
don't change these.
4.9 Block Devices
The defaults are fine in this categories, so unless you know otherwise,
don't change these.
4.10 Multi-Device Support
Chances are you don't need this, so you can probably ignore this.
4.11 Networking Options
The defaults are fine in this categories, so unless you know otherwise,
don't change these.
4.12 Telephony Support
Chances are you don't need this, so you can probably ignore this.
4.13 ATA/IDE/MFM/RLL Support
Most all settings in this category are fine, but there is one option that
you should enable. Under IDE, ATA, and ATAPI Block Devices there is an
option called "Generic PCI Bus-master DMA Support". Most all pentium class
or higher PCs should be able to support this, so say yes here.
4.14 SCSI Support
Chances are you don't need this, so you can probably ignore this.
4.15 IEEE 1394 (Firewire) Support
Chances are you don't need this, so you can probably ignore this.
4.16 I20 Device Support
Chances are you don't need this, so you can probably ignore this.
4.17 Network Device Support
Most all of these settings can be left alone, but there is one thing you
need to change if you expect to use Ethernet with Linux. Under "Ethernet
(10 or 100Mbit)" Find your network card and enable it so Linux can use
it.
4.18 Amateur Radio Support
Chances are you don't need this, so you can probably ignore this.
4.19 IrDA Support
Chances are you don't need this, so you can probably ignore this.
4.20 ISDN Subsystem
Chances are you don't need this, so you can probably ignore this.
4.21 Old CD-ROM Drivers
Chances are you don't need this, so you can probably ignore this.
4.22 Input Core Support
Chances are you don't need this, so you can probably ignore this.
4.23 Character Devices
Most all of these setting are fine as they are, but if you have a newer
video card, particularly a 3DFX or ATI, and you want to be able to use
the Direct Rendering Manager of XFree86 4.0, you need to find your card
and enable the support for it.
4.24 Multimedia Devices
Chances are you don't need this, so you can probably ignore this.
4.25 File Systems
Linux really doesn't really need anything extra here, but if you want to
be able to read windows CD-ROM with long filenames you need to enable some
support. Enable "DOS FAT FS Support" and then choose "MSDOS FS Support"
and "VFAT FS Support" under that. Finally, under "ISO 9660 CDROM FS" enable
"Microsoft Joliet CDROM Extensions".
4.26 Console Drivers
The defaults are fine in this categories, so unless you know otherwise,
don't change these.
4.27 Sound
Make sure "Sound Card Support" is enabled if you want to be able to have
sound in Linux and then find and enable your sound card.
4.28 USB Support
The defaults are fine in this categories, so unless you know otherwise,
don't change these.
4.29 Kernel Hacking
Chances are you don't need this, so you can probably ignore this.
Next Previous
Contents