CentOS 6.2更新内核记录

首先，访问 http://www.kernel.org/选择需要的内核.

目前最新的mainline地址是: http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.6-rc7.tar.bz2

最新的stable地址是: http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.4.tar.bz2

官方提供bz2包和xz包下载。

可以用各种下载工具下载,比如我用的是 wget . tar -xjvf linux* 解压 (如果是xz包则是-xJvf)

一般习惯将源码移动到/usr/src/kernels/目录下

然后进入源码包中。

如果不是初次安装(比如是从其他地方copy过来的,或者是已经不幸安装失败过的),务必先要清理下之前的痕迹

make mrproper #清除环境变量，即清除配置文件
make clean #清除以前编译出的文件
make dep #清除依赖

为了方便编译配置 将 boot 目录下的 配置文件 复制到自己目录下的.config文件中

#cp /boot/config-* /usr/src/kernels/linux-*/.config

以上根据自己配置补全

Ncurses是一个不错的内核配置工具，可以通过yum直接安装。

yum install ncurses-devel

其实就是对控制台上玩图形界面

然后配置

make menuconfig

跳出个字符界面的GUI – 跑到最下面,勾上”Load an Alternate Configuration” 弹出的对话框中自然是默认的.config文件。确定后，之前的配置则被载入到Ncurses中了。

然后可以再看看有自己要调整的没,然后save。

正式开始编译：

make bzImage #生成内核文件
make modules #编译模块
make modules_install #安装模块
make install #安装

如编译没有错误，可以看到/boot目录下多了一组新的内核文件。

一般情况下，linux大多用grub/grub2什么的管理，直接使用grub可以看看是否成功。命令为

grub-mkconfg

或者

grub2-mkconfg

然后一堆的输出，翻下这些输出，一般是各个版本的内核，以及windows什么的。如果没有错误，就可以写入到grub配置文件中了。

grub-mkconfig -o /boot/grub/grub.conf

之类的命令，输出到boot的grub配置文件中了因为不同的机器不太一样，比如我的fedora是输出到/boot/grub2/grub.cfg文件中，而且还是grub2-mkconfig.所以在grub生成配置文件的时候，务必记得先看下原本配置文件在哪里完了就可以重启了。

重启在启动界面应该可以看到第一个就是新的内核了

顺便

rpm -qa | grep kernel

可以查看自己内核

参考资料:

centos 升级内核 : http://liaozy.blog.51cto.com/921527/553921

CentOS 6.0 升级内核步骤、方法: http://www.cnblogs.com/zhunian/archive/2012/04/04/2431883.html(本文在网上copy众多,也不知哪个是原版,只取我参考的这篇)