实验步骤:
1 编译内核需要root权限
ncurses-dev  编译之前需要安装这包
2 内核拷贝到/usr/src/下
#cp linux-2.6.10.tar.gz /usr/src
3 解压缩下载的内核源程序
#tar -xzvf linux-22.6.10.tar.gz
4建立符号链接
#cd /usr/src
#ln -s linux-22.6.10  linux
5 删除所有配置文件和*.o文件
#cd linux
#make mrproper
配置内核命令
#make config  基于文本最为传统
#make menuconfig  基于文本选单
#make xconfig 基于图形界面
#make oldconfig 基于原来内核小修改
Y- 将该功能编译进内核
N- 不讲该功能编译进内核
M- 将该功能编译成在需要时动态插入到内核中的模块

6 以下是第一次升级内核,使用make menuconfig命令,根据需求进行不同的选择
make menuconfig  //出现图形配置界面,可根据自己需求选择不同的选项
7 设定依赖关系
cd /usr/src/linux
make dep
8 确定源代码没有文件
make clean
9 编译内核,默认没选第1个
1).make bzImage  (避免编译出来的内核庞大)
2).make zImage   (编译时产生的内核大)
10 编译内核模块
make modules
11 安装编译的模块
make modules_install
12 创建模块的链接
depmod -a
13 创建新的连接
cp System.map /boot/System.map-2.6.10
cp arch/i386/boot/bzImage /boot/vmlinuxz
14 新映像文件创建
cd /boot/
new-kernel-pkg --mkinitrd --depmod --install 2.6.10
15 修改grub或LILO
vi /boot/grub/menu.lst
复制 对应的以下4行,并进行修改如下
title Red Hat Enterprise Linux AS (2.6.10.EL)                //下面的也这样修改即可,根据上面产生的文件名对应
root(hd0.0)kernel /boot/vmlinuxz ro root=LABEL=/ rhgb quiet //查看对应/boot目录下的对应文件名vmlinuxz
initrd /boot/initrd-2.6.10.img //initrd-2.6.10.img 可以查看 /boot目录下的对应文件名initrd-2.6.10.img
16 init6  重启
开机选项多出了2.6.10内核选项,选择进入Linux