Many people new to Linux often ask, "why should I build my own kernel?" Given the advances that have been made in the use of kernel modules, the most accurate response to that question is, "unless you already know why you need to build your own kernel, you probably do not need to."
In the past, you had to recompile the kernel if you added new hardware on your system. In other words, the kernel was static. Improvements in the Linux 2.0.x kernels allowed for many hardware drivers to be modularized into components that are loaded on demand. However, major problems existed when users had multiple kernels that had been compiled for different configuration options on their system; for example, SMP versus UP kernels. Further Linux 2.4.x kernel modularization advancements allow for multiple kernels to co-exist more easily, but they can not share modules.
For information on handling kernel modules see the section called Loading Kernel Modules. Unless you are recompiling a customized kernel for your system, you will not see many changes in how kernel modules are handled.
Red Hat Linux now ships with the 2.4 kernel. Here are the highlights of the 2.4 kernel as shipped with Red Hat Linux:
The directory for the kernel source is now /usr/src/linux-2.4 instead of /usr/src/linux.
Better SMP support.
Support for up to 64 gigabytes of physical RAM — the enterprise kernel installed with Red Hat Linux 7.1 is compiled to support 64 gigabytes of physical memory.
Better multimedia support including the maestro3 module for the ESS Allegro sound card.
Better USB support.
Now support for IEEE 1394, also referred to as FireWireTM, devices.