将CentOS 5.4内核升级到2.6.32.2
这会在我们后面的编译中带来不必要的麻烦。然后再执行解压缩:
tar jxf linux-2.6.38.5.tar.bz2 //解压内核
cd linux-2.6.38.5 //进入解压后的目录
cp /boot/ config-2.6.18-164.el5 .config //将默认的内核配置文件拷贝过来
make menuconfig //进入的内核配置的界面
保存退出
然后手工打开.config文件
查找# CONFIG_SYSFS_DEPRECATED is not set并将其改为CONFIG_SYSFS_DEPRECATED
保存退出
打开脚本/sbin/mkinitrd
查找到函数:emit_modules。并在其中找到如下字符串:
emit "echo \"Loading $fullmodulemodule\""
emit "insmod /lib/$fullmodule $options"
找到后改成下面这个样子:
#add by wwhs for kernelmodules load error
if ["$fullmodule" != "dm-region-hash.ko" ] ; then
if ["$fullmodule" != "dm-mirror.ko" ] ; then
emit "echo \"Loading $fullmodule module\""
emit "insmod /lib/$fullmodule $options"
fi
fi
接下来就可以进入我们经常用的一堆内核编译命令了:
cd /opt/linux-2.6.38.5
make
make modules_install
make install
在网上看见有很多同志加了一堆make dep什么的,其实是不需要的,你从内核官网上拿下来的是很干净的并且是2.6版的代码,没必
要加一些针对于2.4版或者是不干净代码的步骤。