您的位置:首页 > 运维架构 > Linux

给centos 5.6安装最新版本的内核(kernel-2.6.38.2)

2011-05-02 20:36 501 查看
Linux系统需要事先安装GCC编译工具、ID连接器和make编译器,这里不讨论这个了,网上有很多这样的文章

# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.2.tar.bz2
# tar xjvf linux-2.6.38.2.tar.bz2 -C /usr/src/
# cd /usr/src/linux-2.6.38.2

# make menuconfig (这里如果是在虚拟终端下执行的话,虚拟终端的大小要适当的调整,否则运行以后出现错误)

这里主要注意的地方是CONFIG_SYSFS_DEPRECATED_V2这个选项,一定要启用的,具体在General setup中,解释说是enable deprecated sysfs features to support old userspace tools

其他的比如支持windows的NTFS的选项可以自己去选择,最后选择完了以后,在退出的时候选择保存。

#make (这个时间比较长,好几个小时)

#make modules (编译模块)

#make modules_install (安装模块)

#cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.38.2

#cp System.map /boot/System.map-2.6.38.2
#mkinitrd /boot/initrd-2.6.38.2.img 2.6.38.2

好像mkinitrd有个BUG,make出来的initrd有重复的行,要去掉

#cp initrd-2.6.38.2.img /tmp/

#cd /tmp

#mkdir newinitrd

#cd newinitrd

#zcat ../initrd-2.6.38.2.img |cpio -id
#vim init

删掉其中重复的四行中的两行
echo "Loading dm-region-hash.ko module"
insmod /lib/dm-region-hash.ko
echo "Loading dm-region-hash.ko module"
insmod /lib/dm-region-hash.ko

# find . | cpio -c -o | gzip -9 >../initrd-2.6.38.2.img.new (重新打包)

#cp ../initrd-2.6.38.2.img.new /boot/initrd-2.6.38.2.img

#编辑grub的配置文件

title Linux New Kernel (2.6.38.2)
root (hd0,0)
kernel /vmlinuz-2.6.38.2 ro root=/dev/vg_1/lv_root
initrd /initrd-2.6.38.2.img
(这个是我的,你的可能不一样的)

#sync;sync

#reboot

选择新的内核…… OK,Good Luck.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: