centos8编译安装指定版本的内核

博观而约取,厚积而薄发。这篇文章主要讲述centos8编译安装指定版本的内核相关的知识,希望能为你提供帮助。
在实际工作中经常会遇到默认安装的或者通过官方更新的内核版本无法实现具体的业务需求的情况,因此我们需要更换系统的内核。本文为centos 8更换5.10.10一个简单记录。
1.当前系统的内核版本

uname -ra

centos8编译安装指定版本的内核

文章图片

uname -r

centos8编译安装指定版本的内核

文章图片

2.下载所需的内核
通过linux官方网站https://www.kernel.org/ 下载
官方首页只显示最近最新的内核,如果想下载你需要的内核则需要到如下网址进行下载。
https://mirrors.edge.kernel.org/pub/linux/kernel/
我找到了我所需要的5.10.10内核,地址如下。
https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.10.10.tar.gz
进入/usr/local/src目录,下载内核并解压到当前目录下
cd /usr/local/src wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.10.10.tar.gz tar -zxvf linux-5.10.10.tar.gz cd linux-5.10.10 ls

centos8编译安装指定版本的内核

文章图片

3.修改内核编译config文件
为了减少工作量以及出错的概率,我们使用当前系统内核配置文件作为基础进行简单修改的方式配置我们新的内核。
cp /boot/config-4.18.0-348.2.1.el8_5.x86_64 ./.config

修改.config文件
vim .config

.config文件中找到CONFIG_SYSTEM_TRUSTED_KEYSCONFIG_DEBUG_INFO_BTF这两行,并将这两行注释。
centos8编译安装指定版本的内核

文章图片

4.安装内核编译所需要的依赖
yum install ncurses-devel yum install gcc-c++ yum install make yum install openssl-devel yum install bison yum install flex yum install elfutils-libelf-devel

5.运行menuconfig程序,选择需要的编译参数
make menuconfig

进入UI界面,参数不用改,切换到save直接保存,尔后按两下Esc退出。
6.编译内核
make -j8

-j8参数根据个人自己的计算机进行设置,我的电脑是8核的所以我使用-j8,如果你的电脑是16核的就可以使用-j16,注意-j后面的数字不要超过你电脑的核心数就行了。
【centos8编译安装指定版本的内核】这是一个漫长的过程,还有可能会出现错误,耐心的等待吧。注意保证你的电脑网络的畅通以及centos系统有足够大的硬盘空间。
centos8编译安装指定版本的内核

文章图片

如果编译完成并没有报错的话就可以进行下一步的编译了。
make modules

这一步不像上一步那样需要很长的时间了。
centos8编译安装指定版本的内核

文章图片

下一步。
make modules_install

成功
centos8编译安装指定版本的内核

文章图片

再进行下一步
make install

centos8编译安装指定版本的内核

文章图片

出现上图时说明编译成功了。
7.使用grubby切换内核
grubby是一个用于更新和显示有关各种体系结构特定的引导程序的配置文件信息的命令行工具。 它主要设计用于安装新内核并需要查找有关当前引导环境的信息的脚本,同时也可以对启动内核的各项信息参数进行修改。grubby已经默认安装在centos8中,如果系统中没有grubby我们也可以通过yum进行安装grubby工具。
yum install -y grubby

查看当前系统默认启动的内核
grubby --default-kernel

centos8编译安装指定版本的内核

文章图片

看来我的系统已经将5.10.10作为默认启动内核了。
可以通过以下命令查看当前系统有哪些可用的内核。
grubby --info=ALL | grep ^kernel

centos8编译安装指定版本的内核

文章图片

centos8编译安装指定版本的内核

文章图片

通过命令grubby --set-default=可以设置你的默认启动内核。
grubby --set-default=/boot/vmlinuz-5.10.10


    推荐阅读