0. 内核更新结果
之前的是3.10.0
现在是最新的稳定版内核(20200619)
1. 准备工作
- 既然是云服务器,那可以先快照一下,防止后面内核没搞好系统崩溃,到时可以直接回滚。(吐槽:现在快照竟然开始收费了)
- 分给centos的磁盘容量尽量大一点(云服务器倒是没问题)
- 什么gcc、开发者套件都要装好
2. 内核下载,解压
- 去 Linux 内核官网 www.kernel.org 下载 Linux 内核文件,选择稳定版(stable),<不推荐>速度太慢了。
可以换一个国内的源http://mirror.bjtu.edu.cn/kernel/linux/kernel/
我用的这个
- 用
rz
命令将桌面的压缩包读入(没有这个命令的话要安装)云服务器中,然后解压
tar -xf ./linux-5.7.3.tar.gz
3. 配置内核,生成config文件
可以通过基于文本菜单的配置界面来配置(还有其他方式)
make menuconfig
我们可以根据自己的需要来选择配置来定制自己的内核
有大佬解释每个配置选项的含义:内核配置选项简介
内核的编译分为两部分:核心和模块
注:如果不会改的话,可以直接保存退出,它会用旧的配置文件(/boot/config-…)作为本次编译的配置文件
4. 编译内核
- 生成config配置文件后,先安装需要的支持
yum install elfutils-libelf-devel
- 内核编译
make
如果编译过程出现:fatal error:openssl/openssl.h not found,安装一下依赖
yum install openssl-devel
- 编译时间会很长
5. 模块安装、内核安装
- 安装分为两块:模块安装和内核安装
- 模块安装 ,安装在/lib/modules
make modules_install
- 内核安装 , 安装在/boot
make install
6. 引导配置
- 推荐使用 grub2-mkconfig 来更新引导文件,下面的命令会根据 /boot/ 目录下的内核文件自动更新 grub 文件。
grub2-mkconfig -o /boot/grub2/grub.cfg
- 将新版本内核设置为默认启动内核,可以使用此命令
grub2-set-default 0 #0表示 /boot/grub2/grub.cfg 文件中排在第一位的 menuentry 段
- 重启进入系统后,查看一下内核版本,
7. 参考
8.遇到的问题
- 缺少lz4工具
执行:
apt-get install liblz4-tool