Linux kerner即linux内核是整个系统的核心,负责管理硬件和进程之间的切换,平时是不需要进行修改的,那么为什么会有升级内核一说呢?主要来讲,升级内核是为获取新内核版本的的新功能、新特性以及支持的新设备,也就是内核可以集成更多硬件驱动,另外也可以解决旧版本内核版本存在的一直bug,也就是可以修补一些已经解决的内核漏洞,因此,在有些情况下升级内核还是有需要的。
那么问题来,在哪去下载内核呢?
当然是内核的官网了,官网地址是:https://www.kernel.org/
下载的时候要下载比自己目前已经安装的新的版本,内核版本分为以下几个类别:
longterm:提供长期支持的稳定版本,在生产环境建议下载这个版本
stable:最新的稳定版本,但是不提供长期的技术支持
mainline:测试或开发版本,不稳定,不建议在生产环境使用
因此要下载提供长期官方支持的稳定版本,本次下载最新的长期技术支持稳定版本linux-3.14.22.tar.gz做编译,其实编译的步骤是一样的,只是不同的内核版本支持的功能和支持的驱动有所不同!
1、准备环境:
我做使用的为Centos 6.5 x86_64,提前要准备好编译环境,即安装如下包组:
yum groupinstall “Desktop Platform Development" "Development tools" "Server Platform Development"
安装好之后将在官网下载好的内核包复制到系统上的/root下,然后执行解压到/usr/src/目录下,并切换到该目录为解压的文件夹创建链接,方便操作:
[root@www linux]# tar xvf linux-3.14.22.tar.xz -C /usr/src/
[root@www linux]# cd cd /usr/src/linux-3.14.22/
[root@www src]# ln -sv linux-3.14.22 linux
[root@www src]# cd linux
确认加压后的文件都存在:
[root@www linux]# ls
arch COPYING crypto drivers fs init Kbuild kernel MAINTAINERS mm README samples security tools virt
block CREDITS Documentation firmware include ipc Kconfig lib Makefile net REPORTING-BUGS scripts sound usr
将系统/boot下的config-2.6.32-358.el6.x86_64复制到/usr/src/linux,此文件相当于目前内核的配置,记录了打开的功能或支持的硬件驱动,我们只需要在原基础之上进行修改即可:
[root@www linux]# cp /boot/config-2.6.32-358.el6.x86_64 .config
2、内核配置:
再次要将自己所需要的功能打开或去除,为下一步编译做准备,命令有如下:
make config:文本模式配置,遍历每个选项
make allyesconfig:创建一个全部设置“Y”的./.config文件
make allnoconfig:创建将选项全选'n'的./.config文件
make menuconfig 使用文本菜单窗口编辑
make kconfig(在桌面环境下,并且安装了qt开发环境)
make gconfig(在GNome桌面环境,并且安装了gtk开发环境)
make clean 清理生成文件,但会保留.config和一些模块文件。
make mrproper 清理全部文件,包括.config和一些备份文件。
make distclean 在make mrproper的基础上还清理编辑器可能生成的备份文件,patch的rej文件等。
建议复制之前的内核文件并使用make menuconfig进行功能的加减,首次打开的界面如下:
这里面有很多的选项,以后有时间我尽量将选项的内容和功能加到博客,在选项前面的中括号里面,*表示是直接编译到内核里面,M是表示编译成模块的方式,到时候需要将模块挂载到系统才可以使用,因此要看实际需求进行选择,如下:
在进入到一个选项之后,连按两下Esc可以返回到上一个选项,当返还到最上级的时候,再按两下Esc会出现是否保存配置并退出的界面,此时连按两下Esc也可以返回到内核配置的界面,如下:
按yes保存退出,即进入编译步骤:
3、编译内核:
使用的过程和命令如下:
make -j #(物理CPU核心的2倍,速度快,)我是用虚拟机做的实验,分配的一个CPU,因此制定2
make modules_install安装模块
make install 安装内核内核,make install是复制文件的阶段:
4、查看/boot/grub/grup.conf文件,验证新编译的内核是否为第一启动项,或在旧版本的内核行前面加#号注释:
重启用新内核启动系统:
重启系统后重新查看一下内核版本是否为刚才编译好教新的3.14.22长期支持稳定版本:
通过验证,已经成功升级为新的内核!
本文出自 “Linux” 博客,请务必保留此出处http://zhangshijie.blog.51cto.com/806066/1570628