RHEL5.2内核升级

摘自:http://www.linuxdiyf.com/viewarticle.php?id=124502


另一篇好文章:http://linux.chinaunix.net/bbs/viewthread.php?tid=910299&extra=&page=1


把RHEL5.2内核从2.6.18-92.el5升级到最新的2.6.28.10(不过我只是做最简单的,并没有对内核进行裁剪)

1.查看本机内核版本
#[root@local ~]uname -r
2.6.18-92.el5
2.下载最新的内核源代码
网站地址:
http://www.kernel.org/pub/linux/kernel/v2.6/
,可以根据自己需求下载需要的。
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.10.tar.bz2
解压缩,解开以后有450M,之前下了一个解开才几十M,后面make的时候出错
[root@local ~]# tar zxvf linux-2.6.28.tar.bz2
[root@local ~]# mv linux-2.6.28 /usr/src/kernel   ;移动到/usr/src/kernel下


3.下面就是升级的步骤

[root@local linux-2.6.28]# make mrproper
[root@local linux-2.6.28]# make menuconfig        ;如果不定制模块可以跳过这步
;编译内核,时间比较长,大概花了45分钟,取决于机器及配置项
[root@local linux-2.6.28]# make
[root@local linux-2.6.28]# make modules_install
[root@local linux-2.6.28]# make install

如果没有意外的话基本上是成功了,重启机器:

#[root@local linux-2.6.28]reboot
编译成功后系统启动菜单grub.conf会被修改,在机器启动时会有新旧两个内核版本可以选择.
更改linux默认启动内核加载顺序
在安装vmware tools 的时候,需要安装rhel-5-server-i386-disc1.iso\Server中的
kernel-2.6.18-8.el5.i686.rpm
kernel-devel-2.6.18-8.el5.i686.rpm
kernel-headers-2.6.18-8.el5.i386.rpm
并且从kernel-2.6.18-8.el5.i686内核启动
这样RHEL 5会有多个内核,经过长期实践观察,xen内核容易出问题。。
可修改启动配置文件,更改系统默认加载的内核!
查看有两个grub.conf,分别是/etc/grub.conf,还有/boot/grub/grub.conf
两个文件应该是一样的
/etc/grub.conf: symbolic link to `../boot/grub/grub.conf'
#vi /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:   You have a /boot partition.   This means that
#       all kernel and initrd paths are relative to /boot/, eg.
#       root (hd0,0)
#       kernel /vmlinuz-version ro root=/dev/sda2
#       initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-53.el5PAE)
       root (hd0,0)
       kernel /vmlinuz-2.6.18-53.el5PAE ro root=LABEL=/1 3 rhgb quiet
       initrd /initrd-2.6.18-53.el5PAE.img
title Red Hat Enterprise Linux Server-xen (2.6.18-53.el5xen)
       root (hd0,0)
       kernel /xen.gz-2.6.18-53.el5
       module /vmlinuz-2.6.18-53.el5xen ro root=LABEL=/1 3 rhgb quiet
       module /initrd-2.6.18-53.el5xen.img
title Red Hat Enterprise Linux Server-base (2.6.18-53.el5)
       root (hd0,0)
       kernel /vmlinuz-2.6.18-53.el5 ro root=LABEL=/1 3 rhgb quiet
       initrd /initrd-2.6.18-53.el5.img
将其中的default =1改为你需要的。(注:默认顺序是从0开始)
查看新内核版本:
#[root@local ~]uname -r
2.6.28.10
=====================================================
以下是升级过程中出现问题的解决方法
tsm操作记录:
[root@selfhelpdev-02 linux-2.6.28]# make menuconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
HOSTCC scripts/basic/hash
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kxgettext.o
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1
make: *** [menuconfig] 错误 2
---------------------------------------------------------
根据上面需要:ncurses-devel
[root@RHEL52 ~]# mount /dev/cdrom /mnt/cdrom

[root@RHEL52 ~]# rpm -ivh /mnt/cdrom/Server/ncurses-devel-5.5-24.20060715.i386.rpm