CentOS 5.5 下编译内核 Linux 2.6.3x


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,选择新内核,重启系统。

相关内容