闲来无事,就想到了学习下升级linux内核,之前的系统内核版本是2.6.18 升级之后的内核版本为最新的2.6.35,升级步骤如下:

 

实验环境

VMware 6.0
Redhat as 5.1
linux-2.6.35.tar.gz             http://kernel.org/pub/linux/kernel/v2.6/
 
我这里之前的内核是2.6-18的内核 ,现在要升级到2.6.35
 
# tar zxvf linux-2.6.35.tar.gz -C  /usr/src/
# cd /usr/src/linux-2.6.35
 
//其实这个步骤是可以不用要的 ,这个目的是清除原先此目录下残留的.config和.o(object文件)如果我们是刚下载的源码,那么这一步您就可以省了,但是如果您已经编译过多次内核的话,这一步可是一定要的,不然以后出现很多小问题
 # make mrproper
 
 # make menuconfig       //这里需要一个ncurse包,一般linux系统都会装的,这里面有很多东西需要你
                          自己去选择,这里要求你对硬件、网络的、软件有一定的认识,否则可能导致
                          系统启动不起来,根据自己的需要去只选择.
 
# make clean            //清除一些不必要的文件
 
# make bzImage         //这里你要是能确定你的新内核在640K之内就用make zImage,否则用这个
 
# make modules        //这个需要一段时间,要根据你make menuconfig里面的选择
 
# make modules_install    //这里就是安装module,生成的模块会放到/lib/modules/内核版本里面.
 
# make install       //最后的使命
 
这个时候到 /boot下面可以看到System.map-2.6.35、initrd-2.6.35.img、vmlinuz-2.6.35这3个文件,要是有这3个文件就说明一切正常的,这里自动的给grub添加了一些代码:
title Red Hat Enterprise Linux Server (2.6.35)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.35 ro root=LABEL=/ rhgb quiet crashkernel=128M@16M
        initrd /boot/initrd-2.6.35.img
看下是否和 /boot目录下面的文件名字一样,要是一样,我们就可以重启机器来验证我们的内核是否升级成功了.重启完系统之后我们看下我们现在的内核
 
# uname -a
Linux rman 2.6.35 #2 SMP Wed Aug 11 21:56:43 CST 2010 i686 i686 i386 GNU/Linux
 
看到我们已经升级到最新的内核 2.6.35了.