Centos5.5内核升级

当前版本linux-2.6.18-194.el5PAE
目标版本linux-2.6.35.9内核升级步骤:

1.查看当前内核版本
 uname –a
¥ Linux localhost.localdomain 2.6.18-194.el5PAE $1 SMP Fri Apr 2 15:37:44 EDT 2010 i686 i686 i386 GNU/Linux
当前内核版本为2.6.18-194.el5PAE
2.确认内核版本为非目标版本,下载新内核源码。
下载地址:http://www.kernel.org/pub/linux/kernel/v2.6/ linux-2.6.35.9.tar.gz
3.将内核源码拷贝至/usr/src目录中准备升级内核。
$ cp linux-2.6.35.9.tar.gz /usr/src
$ cd /usr/src
$ rm –rf linux (删除linux文件夹。如果内核先前从未编译过,则没有这个文件夹,此命令行可略过)
$ tar zvxf linux-2.6.35.9.tar.gz
4.配置内核选项。
$ cd linux-2.6.35.9
$ make mrproper (该命令可确保源代码目录下没有不正确的.o文件)
$ cp /boot /config-2.6.18-194.el5 ./.config(将系统老的配置文件拷贝到当前目录创建.config文件,确保配置选项可用)
$ make menuconfig (配置内核各选项 , 选择Load an Alternate Configuration File,加载已经存在的配置文件)此时会出现一个图形界面,列出了所有的内核配置选项,保持默认不变,选择exit退出。
$ vi ./.config (修改config文件,完成配置)
修改$ CONFIG_CGROUPS is not set配置项如下:
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
完成后保存退出!
5.开始编译
在/usr/src/linux-2.6.35.9目录下,执行以下命令即可编译。
$ make dep (建立编译时所需的从属文件。如果内核从未编译过,此步可跳过)
$ make clean (清除内核编译的目标文件。如果内核从未编译过,此步可跳过)
$ make bzImage (注意大小写。这一步才是真正编译内核,10分钟左右)
内核编译成功后,会在/usr/src/linux/arch/i386/boo t目录中生成一个新内核的映像文件bzImage。如果用make zImage编译,内核很大的话,系统会提示你使用make bzImage命令来编译,所以直接用make bzImage来编译。
$ make modules (编译可加载模块,20分钟左右)
$ make modules_install (安装可加载模块)
Install和modules之间一定要有下划线。安装成功后,系统会在/lib/modules目录下生成一个2.6.35.9子目录,里面存放着新内核的所有可加载模块。
$ make install (安装新内核)
6.将新内核和System.map文件拷贝到/boot目录下,依次执行以下命令:
$ cp /usr/src/linux-2.6.35.9/arch/x86_64/b oot/bzImage /boot/vmlinuz-2.6.35.9
$ cp /usr/src/linux-2.6.35.9/System.map /boot/System.map-2.6.35.9
$ cd /boot
$ rm –rf System.map
$ ln –s System.map-2.6.35.9 System.map
7.配置启动参数
$cd /boot/grub
$vim menu.lst
修改default=1 为default=0(启动时默认选择内核版本,否则即使重启了以后内核还是老版本。如果不修改此项,启动时需要手动选择内核版本。)
8.重启系统,重启之后检查内核版本为linux -2.6.35.9。

注意:如果内核升级失败,可继续进入内核以前的版本(在重启系统时选择升级前的内核启动),删除内核升级前生成的内容重新升级。

2015-01-19 23:14:16

原文地址:https://www.cnblogs.com/Rainbow-G/p/4235008.html