Linux2.6内核编译升级指南 笔记备份
                                   by--浙江大学 彭之军 欢迎转载,敬请署名2007/04/20

1 下载最新版的内核文件

www.kernel.org 假定下载的是linux-2.6.20.7.tar.gz.bz2文件

2 解压缩文件
如果是.bz2文件可以用tar -l来解压
#bzip2 –dc linux-2.6.20.7.tar.bz2 | tar xvf
如成功的话会生成一个名为linux-2.6.20.7的文件夹

3、配置内核
#cd linux-2.6.20.7
#make menuconfig
进入配置内核界面,配置选项后存盘退出。

4、编译内核
#make
编译内核,依据你选定的内核大小,花费时间大约在40-50分钟左右。(喝杯咖啡去吧~~)

5、加载模块
#make modules_install
编译成功后,加载模块。需要几分钟到十几分钟时间。

6、复制bzImage文件
# make install
在2.6版的内核下,这个命令会帮你自动做很多事情:1)复制make命令生成的~/linux-2.6.20.7/arch/i386/boot/bzImage文件和System.map文件至/boot/目录下;2)在/boot/grub/grub.conf文件中写入生成的内核的启动选项。而在2.4版本下需要我们自己手动来做。

7、查看grub.conf文件最新的内核选项
# cd    /boot/grub
     #vi grub.conf
查看grub.conf文件中是否有最新的内核选项。
我的grub.conf内容如下:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:    You have a /boot partition.    This means that
#            all kernel and initrd paths are relative to /boot/, eg.
#            root (hd0,0)
#            kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#            initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title Fedora Core (2.6.20.7)
root (hd0,0)
kernel /vmlinuz-2.6.20.7 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.20.7.img
title Fedora Core (2.6.18-1.2798.fc6)
root (hd0,0)
kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-1.2798.fc6.img

初始时hiddenmenu那行前是没有#号的,必须手动添加#号。

8、重新启动系统
重新启动系统后,grub引导时就会出现新的内核启动选项。
选中新的2.6.20.7的选项进入Linux,希望你能编译成功。我也是在失败多次之后才成功的。
参考资料:
1、《边干边学----LINUX内核指导》李善平等 浙江大学出版社
2、季江民 《高级操作系统》浙江大学软件学院课程实验指导