下载新版本内核文件 ) u) a7 `% _& m! _& T% ~
在www.kernel.org官网上下载stable版本linux-4.13.10.tar.xz内核文件。我是在Windows上下载文件直接拖到虚拟机桌面,然后打开终端使用指令cp linux-4.13.10.tar.xz /src/usr目录下的,或者可以使用
. u! E& w2 J3 G5 g' ^" v6 H8 ~wget 指令
解压缩到本地
& A( O6 M. J, K4 qxz -d linux-4.13.10.tar.xz
# z# C) y* U7 \# i3 l# x" c5 star -xvf linux-4.13.10.tar 1 w9 ^) B/ v7 f
在本地生成linux-4.13.10文件
准备配置文件 c! I8 ^& b( U B; q
拷贝原内核文件到配置文件目录下
1 x) U4 u1 k" F& ]9 Z; O% lcp /boot/config-3.10.0-514.el7.x86_64 /usr/src/linux-4.13.10 8 z0 y* d6 ~2 v5 c( f; d
mv config-3.10.0-514.el7.x86_64 .config 7 d( f! b9 m% x- \9 H
从boot目录拷贝一个config文件过来主要是为了方便,这个文件里保存都是之前你在安装系统是内核所安装的模块,新安装的内核文件与原系统所带模块一致,安装时,也可自选模块
安装openssl-devel
0 x6 e M# B% W/ d4 ?yum install openssl-devel,否则编译的时候会出现问题
make menuconfig 3 |; K! z) P8 T& f0 T4 \( b$ J
会出现menu图形界面,自选模块,若按照之前的config文件进行安装,可跳过此步骤
编译
, ]# w, ^& V! ~+ o3 c9 _ b(1)make 单核编译
3 h8 ^3 g" s3 i/ [% @+ Vmake -j 2 双核编译,只要看自身机器内核参数,多核编译会快一点 & Z- K, `( S* I9 M2 k
注意:make过程编译时间较长,我编译了三个小时左右,这主要是根据机器的配置 6 h; v% ]2 M/ {% _
(2)make modules_install 安装模块 # S, d8 U* s6 b' q3 [. [. w/ D
(3)make install 安装内核相关文件 . }+ l. D. o8 z# v0 T$ x' N
主要目的将所有的编译之后的内容拷贝安装到相应的目录
修改grub配置文件
7 N B6 A; k! ?9 U(1)查看grub文件内内核配置
7 ~( k2 O* ?2 E& mcat /boot/grub2/grub.cfg |grep menuentry * B D5 C6 y$ V2 {0 A0 A
找到新安装的内核的全称为CentOS Linux (4.13.10) 7 (Core) , ]# r; F$ F2 X
(2)将新内核设置为默认启动项
- Z* ?2 N( N; R5 |* G: Kgrub2-set-default “CentOS Linux (4.13.10) 7 (Core)”
重启机器
b. I. @% J% @7 n" O重启成功以后查看下机器的内核是不是该内核
5 p+ ]' |) U7 V( @4 ]8 m- b5 W在虚拟机启动的时候出现多个内核引导项,选第一个进入系统
查看当前内核版本号 % P5 T) @; I$ ]# B% g! _
[root@localhost boot]# uname -r
0 @8 c+ \. _* k4.13.10
8 O; T) R2 M1 G6 s