一、编译安装前准备:

1、安装依赖包组:# yum -y groupinstall "Server Platform Development""Development Tools"

2、从https://www.kernel.org/下载需要编译的内核源码包linux-3.10.105.tar.xz,并上传至服务器

 

二、编译安装新版本内核linux-3.10.105.tar.xz:

1、查看系统原有内核版本:# uname -r  -->  2.6.32-696.3.1.el6.x86_64

2、解压内核源代码包,并复制系统原有的内核配置文件:

# tar -xf linux-3.10.105.tar.xz -C /usr/src
# cd /usr/src
# ln -sv linux-3.10.105 linux
# cd linux
# cp /boot/config-$(uname -r) .config     //源码包解压后的目录中默认没有.config配置文件

3、根据.config配置文件定制内核选项:

# make clean           //首次编译安装时此步骤可省略,清理大多数编译生成的文件,但会保留配置文件等
# make menuconfig

//会加载之前复制的.config配置文件,可在此基础上增、减内核模块,配置结果会被写入.config配置文件。如果是新手,此步骤可省略。执行此命令时必须将窗口最大化

按y --> [*]:将对应的特性或者设备驱动程序直接编译进内核

按m --> [M]:将对应的特性或者设备驱动程序编译成可加载的模块,在需要时由系统或用户自行加入到内核中

按n --> [ ]:内核不提供对应的特性或设备驱动程序的支持

centos 内核 map包安装 centos内核编译安装_操作系统

4、编译安装新版本内核:

# yum -y install screen
# screen
# make [-j#]

//启动多线程交叉编译,加快编译速度。-j后的#为本地物理CPU核心数的1~2倍,此步骤执行时间较长

//按Ctrl+a,松开后再按d,剥离正在执行的程序与终端的关系,即使关闭ssh连接窗口也不会影响编译的进行

centos 内核 map包安装 centos内核编译安装_操作系统_02

# screen -ls     //记录下SESSION-ID

centos 内核 map包安装 centos内核编译安装_centos 内核 map包安装_03

# screen -r 2580          //查看之前的编译工作是否完成
# make modules_install
# make install

//在VMware中执行# make install时会提示如下错误,不用理会,不影响内核整个编译安装过程:

centos 内核 map包安装 centos内核编译安装_操作系统_04

# exit             //整个编译安装过程完成后,退出并关闭screen

centos 内核 map包安装 centos内核编译安装_centos 内核 map包安装_05

# screen -ls

centos 内核 map包安装 centos内核编译安装_操作系统_06

 

三、测试新版本内核:

1、将新版本内核设置为默认启动的内核:# vim /boot/grub/grub.conf

//默认新编译安装的内核会写在老版本内核的前面,在第一个位置,所以要将default的值设置为0,title从0开始编号

2、将新的内核配置文件复制到/boot目录:# cp/usr/src/linux/.config /boot/config-3.10.105

3、重启服务器:# reboot      //如果此时能进入grub,可以看到如下界面

centos 内核 map包安装 centos内核编译安装_开发工具_07


centos 内核 map包安装 centos内核编译安装_操作系统_08

4、查看新内核版本:# uname -r

centos 内核 map包安装 centos内核编译安装_运维_09




      本文转自Marion0728  51CTO博客,原文链接:http://blog.51cto.com/qiuyue/1934048,如需转载请自行联系原作者