博观而约取,厚积而薄发。这篇文章主要讲述centos8编译安装指定版本的内核相关的知识,希望能为你提供帮助。
在实际工作中经常会遇到默认安装的或者通过官方更新的内核版本无法实现具体的业务需求的情况,因此我们需要更换系统的内核。本文为centos 8
更换5.10.10
一个简单记录。
1.当前系统的内核版本
uname -ra
文章图片
uname -r
文章图片
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
文章图片
3.修改内核编译
config
文件为了减少工作量以及出错的概率,我们使用当前系统内核配置文件作为基础进行简单修改的方式配置我们新的内核。
cp /boot/config-4.18.0-348.2.1.el8_5.x86_64 ./.config
修改
.config
文件vim .config
在
.config
文件中找到CONFIG_SYSTEM_TRUSTED_KEYS
,CONFIG_DEBUG_INFO_BTF
这两行,并将这两行注释。文章图片
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
系统有足够大的硬盘空间。文章图片
如果编译完成并没有报错的话就可以进行下一步的编译了。
make modules
这一步不像上一步那样需要很长的时间了。
文章图片
下一步。
make modules_install
成功
文章图片
再进行下一步
make install
文章图片
出现上图时说明编译成功了。
7.使用grubby切换内核
grubby
是一个用于更新和显示有关各种体系结构特定的引导程序的配置文件信息的命令行工具。 它主要设计用于安装新内核并需要查找有关当前引导环境的信息的脚本,同时也可以对启动内核的各项信息参数进行修改。grubby
已经默认安装在centos8
中,如果系统中没有grubby
我们也可以通过yum
进行安装grubby
工具。yum install -y grubby
查看当前系统默认启动的内核
grubby --default-kernel
文章图片
看来我的系统已经将5.10.10作为默认启动内核了。
可以通过以下命令查看当前系统有哪些可用的内核。
grubby --info=ALL | grep ^kernel
文章图片
文章图片
通过命令
grubby --set-default=
可以设置你的默认启动内核。grubby --set-default=/boot/vmlinuz-5.10.10
推荐阅读
- centos7.8---yum安装mysql5.7.36
- 第三周学习作业
- 哈希算法篇 - 布隆过滤器#yyds干货盘点#
- 远程访问与控制
- 部署yum仓库及NFS共享服务
- PV/PVC/StorageClass
- 文本处理和shell练习题
- flutter如何从TextWidget复制文本Flutter专题34
- ceph使用命令总结