内核升级方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
升级内核方法
一、使用安装介质中的内核包直接升级(*.rpm)
二、通过内核源码包升级(*.src.rpm)
三、通过内核官网源码压缩包升级(*.tar.bz *.tar.gz )
●了解系统当前的状态
1、# uname –a(查看内核版本)
2、cat /etc/redhat-release(查看系统发行版)
3、cd /boot ls -l |grep -iE '*.img|vmlinuz*' (查看内核启动的文件)
4、cat /boot/grub/menu.lst (查看内核菜单启动列表)
方法一:内核包直接升级
例子:
1. 使用安装光盘介质中的内核包
[root@u70151 ~]# ls -l kernel*
-rw-r--r-- 1 root root 22507963 Aug 22 09:43 kernel-2.6.18-308.el5.x86_64.rpm
2. 安装新的内核包
[root@u70151 ~]# rpm -ivh kernel-2.6.18-308.el5.x86_64.rpm
warning: kernel-2.6.18-308.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:kernel ########################################### [100%]
3. 安装完成后的状态(查看方法)
▼ rpm -qa|grep kernel (查看内核安装包)
kernel-2.6.18-164.el5
kernel-2.6.18-308.el5
▼ at /boot/grub/menu.lst
# 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/VolGroup01/LogVol00
# initrd /initrd-version.img #boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-308.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-308.el5 ro root=/dev/VolGroup01/LogVol00 rhgb quiet initrd /initrd-2.6.18-308.el5.img
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup01/LogVol00 rhgb quiet initrd /initrd-2.6.18-164.el5.img
▼cd /boot # ls -l |grep -iE '*.img|vmlinuz*'(查看升级后使用的文件)
4.启动时可以选择使用哪个内核
5.使用新内核启动后的结果
▼ uname -a (内核查询)
Linux u70151 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64
x86_64 GNU/Linux
▼ cat /etc/redhat-release (系统发行版查询)
Red Hat Enterprise Linux Server release 5.4 (Tikanga)
总结:内核升级,系统发行版本不变。
方法二:内核源码包升级
1. 下载源码包
在ftp:///pub/redhat/linux/enterprise/5Server/en/os/SRPMS/下载需要内核源码安装包2.安装内核源码包
▼ ls -l ker*(插卡内核源码文件)
-rw-r--r-- 1 root root 67181329 Aug 22 11:35 kernel-2.6.18-308.8.2.el5.src.rpm ▼ mkdir -p /usr/src/redhat/SOURCES(建立安装目录)
▼ rpm -ivh kernel-2.6.18-308.8.2.el5.src.rpm(安装源码包)
3. 安装编译需要的包
rpm -ivh nspr-devel-4.7.4-1.el5_3.1.*
rpm -ivh elfutils-libs-0.137-3.el5.x86_64.rpm
rpm -ivh elfutils-0.137-3.el5.x86_64.rpm
rpm -ivh rpm-build-4.4.2.3-18.el5.x86_64.rpm
rpm -ivh kernel-headers-2.6.18-164.el5.x86_64.rpm
rpm -ivh glibc-headers-2.5-42.x86_64.rpm
rpm -ivh glibc-devel-2.5-42.*
rpm -ivh libgomp-4.4.0-6.el5.*
rpm -ivh gcc-4.1.2-46.el5.x86_64.rpm
rpm -ivh redhat-rpm-config-8.0.45-32.el5.noarch.rpm
rpm -ivh unifdef-1.171-5.fc6.x86_64.rpm
rpm -ivh ncurses-devel*
4.编译源码
[root@u70151 SPECS]# cd /usr/src/redhat/SPECS
[root@u70151 SPECS]# ls
kernel.spec
[root@u70151 SPECS]# rpmbuild -bp --target=x86_64 kernel.spec
[root@u70151]cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18-308.8.2.el5.x86_64 [root@u70151 linux-2.6.18-308.8.2.el5.x86_64]# mkdir -p /home/2.6.18-308/out
[root@u70151 linux-2.6.18-308.8.2.el5.x86_64]# make O=/home/2.6.18-308/out menuconfig [root@u70151 linux-2.6.18-308.8.2.el5.x86_64]# make mrproper
[root@u70151 linux-2.6.18-308.8.2.el5.x86_64]# make O=/home/2.6.18-308/out
[root@u70151 linux-2.6.18-308.8.2.el5.x86_64]#sudo make O=/home/2.6.18-308/out
modules_install install