转载请注明出处:http://blog.csdn.net/zhangyang0402/archive/2010/06/24/5692609.aspx
1. 下载最新版本内核
查看linux当前版本:
# uname -r
2.6.18-128.el5
从www.kernel.org下载最新稳定版2.6.34.tar.bz2至/usr/src
# tar xjvf linux-2.6.34.tar.bz2
# cd linux-2.6.34
2. 必须安装的软件包
(1)gcc
# yum -y install gcc
(2)ncurses-devel
# yum -y install ncurses-devel
3. 编译和安装
# make mrproper
# cp /boot/config-2.6.18-164.el5 .config
# make menuconfig
Load an Alternate Configuration File ->导入.config文件 -> Save an Alternate Configuration
File ->Exit
# vim .config
CONFIG_SYSFS_DEPRECATED_V2 is not set -> CONFIG_SYSFS_DEPRECATED_V2=y
# make all
# make modules_install
# make install
4. 修改initrd
# cp /boot/initrd-2.6.34.img /tmp
# mv /boot/initrd-2.6.34.img /boot/initrd-2.6.34.img.bak
# cd /tmp
# mkdir newinitrd
# cd newinitrd/
# zcat ../initrd-2.6.34.img |cpio -i
# ls
bin dev etc init lib proc sbin sys sysroot
# vim init
echo "Loading dm-region-hash.ko module"
insmod /lib/dm-region-hash.ko
这两行出现重复,删除下面的重复部分,否则使用新内核启动时会出现错误:
insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists
# find .|cpio -c -o > ../initrd
# cd ..
# gzip -9 < initrd > initrd-2.6.34.img
# cp initrd-2.6.34.img /boot
# reboot
5.检查新内核版本
开机时,选择2.6.34内核
# uname -r
2.6.34