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 1