CentOS 5.5 内核版本: 2.6.18-194.e15-x86_64 .
先需要升级到 Linux 2.6.32, 由于 2.6.3x 的内核编译步骤基本相似,所以本文标题写的是 2.6.32x .
(1) 下载标准内核 2.6.32,并解压至目录下,如 /usr/src
(2) make menuconfig 选择相关内核模块
cd /usr/src/linux-2.6.32
cp /usr/src/kernels/2.6.18-194.el5-x86_64/.config . <将当前内核的 .config 复制过来>
make menuconfig
注意一定要选择 General Setup-> enable deprecated sysfs features to support old...
(即生成的新 .config文件中的 CONFIG_SYSFS_DEPRECATED_V2=y ),若不如此选择,编译完内核重新启动时会报错“mount:could not find filesystem ‘/dev/root’。这是新版内核特有的选项,老内核没有 CONFIG_SYSFS_DEPRECATED_V2 选项,老内核的.config也和新内核不一样,但是使用新内核的 make menuconfig 产生的 .config 不仅包含了复制过来的 .config 文件中的相关选项,还包含一些新选项.
保存 .config
(3) 编译内核
make;
make modules;
make modules_install;
make install;
(4) 修改/etc/grub.conf,选择新内核,重启系统。