Extract and customize the kernel
1. Log in as root, extract the kernel sources:
tar jxf linux-.tar.bz2 -C /usr/src
2. Customize the kernel with make menuconfig, make xconfig, etc… Create two copies of the .config file and save them in /usr/src/linux<version>-:
.config: this copy has to provide the configuration for the single processor kernel
.config_smp: this copy has to provide the configuration the dual processor (SMP) kernel
3. Copy the linux<version>-.tar.bz2 you downloaded in /usr/src/redhat/SOURCES/
4. Copy my_kernel.spec in /usr/src/redhat/SPECS/
5. Customize the fields Version, Release, description and kernel24 definition in my_kernel.spec. Please note that:
Version has to be the kernel version (e.g. “2.4.33”)
Release should be customized (e.g. “xeon_1.0”). Release will be used for the “EXTRAVERSION” variable in the main kernel Makefile, so you should get at the end that the output of “uname -r” is exactly Version-Release (in this case “2.4.33-xeon_1.0” and “2.4.33-xeon_1.0smp” for the SMP version).
Set kernel24 1 if you are compiling a 2.4 kernel, 0 if it is a 2.6 kernel.
Rebuild the kernel
To recompile the kernel:
rpm -ba /usr/src/redhat/SPECS/my_kernel.spec
or:
rpmbuild -ba /usr/src/redhat/SPECS/my_kernel.spec
You should get two binary packages (kernel-* and kernel-smp-*) in: /usr/src/redhat/RPMS/i386/