589 592




Using Linux:Managing the Kernel






-->















Previous
Table of Contents
Next




Before Configuring the Kernel
Make sure that you note the following information about your system before configuring a kernel that you intend to use:


•  Your processor type.
•  Whether your machine is PCI.
•  The type of IDE controller in your system (if there is one).
•  The type of SCSI controller in your system—manufacturer, model number, chipset number, and revision are important here.
•  The type of interface your CD-ROM uses.
•  The type of network card that’s in your system. Having the make and model number of the chipset on the network card is also quite handy.
•  The make, model, and chip number of your sound card. You should also note the interrupt request line (IRQ, for short), the IO addresses the card uses, and the DMA lines the card uses.

PC hardware is a complex thing. Not only is there a myriad of possible combinations of hardware for your computer, but also many manufacturers and their products, although not officially supported by Linux, use chip sets and other components that work just fine. Sometimes it’s a matter of trial and error to figure out what works, but often, the answer can be determined easily by getting the chip numbers from the cards, and looking into the appropriate directory containing similar drivers.

In fact, the writers of the drivers for Linux often go as far as to include one or more documentation files with the drivers to explain some of the “gotchas” for a particular piece of hardware. Just look in the drivers subdirectory of the linux directory. The documentation files in the drivers/sound and drivers/net are particularly detailed.
Also, I recommend that, if you have never built a Linux kernel before, you review all the sections, in particular the make config and the make xconfig sections. They both deal with the same kernel, but the material (and configuration programs) are organized slightly differently. These differences may shed some light on items that may not be apparent from reading just one section.
Using make config

This section describes the classic way to configure the Linux kernel, and is entirely text based. I don’t recommend that you use it, simply because it’s inconvenient—after you make a decision, you must restart the process to change it.



If the descriptions in this section differ from what you see on your system
The kernel configuration examples here use a kernel that Red Hat Linux 5 did not ship with. Some additional support for devices has been added to the newer kernels, and the additional information about these devices is included in this section.

To configure your kernel by using make config, change to the /usr/src/linux directory and, as root or someone with write permissions there, type the following command:


make config


You are greeted by the following friendly message:



[root@jansmachine linux]# make config
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
/bin/sh scripts/Configure arch/i386/config.in
#
# Using defaults found in .config
#
*
* Code maturity level options
*
Prompt for development and/or incomplete code/drivers
(CONFIG_EXPERIMENTAL)[Y/n/?]


The questions usually list choices of valid answers, with the default answer in capital letters. If you cannot decide, type a question mark and press Enter. Usually there is some text to help you, but sometimes the answers are quite cryptic.

In the case of the preceding code, you’ll normally want to answer Y, especially if you have a PCI–based PC.
The configuration script continues here:


*
* Loadable module support
*
Enable loadable module support (CONFIG_MODULES)[Y/n/?]
Set version information on all symbols for modules
(CONFIG_MODVERSIONS)[Y/n/?]
Kernel daemon support (e.g. autoload of modules)
(CONFIG_KERNELD)[Y/n/?]


For normal configurations, answer Y to all of the above. If you want to turn off kernel daemon support, here is where it’s done.The configuration script continues here:


*
* General setup
*
Kernel math emulation (CONFIG_MATH_EMULATION)[N/y/?]
Networking support (CONFI|G_NET)[Y/n/?]
Limit memory to low 16MB (CONFIG_MAX_16M)[N/y/?]
PCI bios support (CONFIG_PCI)[Y/n/?]
PCI bridge optimization (experimental)
(CONFIG_PCI_OPTIMIZE)[Y/n/?]




If you turn off kernel daemon support
Turning off kernel daemon support can cause your system to lose network connectivity because there will be nothing to load the drivers when the network cards are configured in the init scripts on system boot. If you turn off this support, either compile the drivers for your network card into the kernel rather than as modules, or modify your init scripts to manually load the modules for your network card before the network script is called.

These questions should be pretty clear. The most notable is the PCI Bridge Optimization option. It’s recommended, despite being experimental, and in my time I have not encountered any problems with this feature.

The next section of script configures the binary formats the kernel supports, as well as other compatibility options:


System V IPC (CONFIG_SYSVIPC)[Y/n/?]

Kernel support for a.out binaries
(CONFIG_BINFMT_AOUT)[Y/m/n/?]

Kernel support for ELF binaries (CONFIG_BINFMT_ELF)[Y/m/n/?]

Kernel support for JAVA binaries
(CONFIG_BINFMT_JAVA)[N/y/m/?]

Compile kernel as ELF - if your GCC is ELF-GCC
(CONFIG_KERNEL_ELF)[Y/n/?]

Processor type (386, 486, Pentium, PPro)[Pentium]
defined CONFIG_M586


These options allow you to set the types of binaries supported by the kernel. Respond Y to all options except Java support. Although the a.out format is the older Linux binary format, and is not technically required, it can prevent headaches when running older programs. Some kernel options can break Java compatibility, according to some sources, and in addition to this other modifications have to be made to the system to support Java binaries. As far as processor types are concerned, choose the one you have. It does not hurt too much to use a kernel built for a 386 on a Pentium system, but a kernel compiled for a Pentium will not run on a 386. If you have a NexGen processor, compile for 386, and make sure that Math Emulation (previous section) is turned on. If you have any other non-Intel processor, answer 486 here. Some processors ID themselves as Pentium processors, but some differences still exist. Besides, these processors tend to have more advanced features, such as out-of-order instruction execution, and do not need any of the more advanced optimizations to function at peak efficiency.



Previous
Table of Contents
Next














Wyszukiwarka

Podobne podstrony:
README (589)
589,8,artykul
CLATRONIC AR 589 CD AR 600 CD
586 589
589 640 (2)
592,24,artykul

więcej podobnych podstron