翼度科技»论坛 云主机 LINUX 查看内容

编译RHEL 8.7 kernel 并重新安装

3

主题

3

帖子

9

积分

新手上路

Rank: 1

积分
9
背景:最近遇到一个bug,需要修改 RHEL 8.7 kernel config 的配置参数,然后重新安装该kernel。踩过一些坑,复盘整理。
查询当前的kernel
  1. uname -r
  2. 4.18.0-477.15.1.el8_8.x86_64
复制代码
这是当前运行的内核版本。版本号的不同部分表示以下信息:
• 4.18.0: 内核的主版本号、次版本号和发布版本号。
• 477.15.1.el8_8: 补丁级别和发行版本信息。
• x86_64: 内核的体系结构,这里是64位
RHEL 查询当前系统已经安装的kernel

如下有三种常用的方式:
  1. #1 rpm -qa | grep kernel | xargs rpm -qi
  2. #2 sudo yum list installed kernel
  3. #3 rpm -qa | grep -i kernel
复制代码
RHEL 选择并切换到具体的kernel

这部分与Ubuntu 不同,不能直接sudo update-grub, RHEL/CentOS 的方式先修改 /etc/default/grub
  1. sudo vim /etc/default/grub #更换选择的kernel
  2. sudo grub2-mkconfig -o /boot/grub2/grub.cfg # 更新配置
  3. sudo reboot
复制代码
前面的铺垫结束,现在可以开始下载source code,修改config, 然后重编kernel。
如何安装src rpm
  1. sudo useradd -s /sbin/nologin mockbuild
  2. sudo rpm -ivh  kernel-4.18.0-425.3.1.el8.src.rpm
  3. cd  /root/rpmbuild/SOURCES/
  4. ll
  5. -rw-rw-r-- 1 mockbuild mock 120898584 Sep 30  2022 linux-4.18.0-425.3.1.el8.tar.xz
复制代码
 找到source code 包 然后mv 出来并解压缩
Compile Kernel 直接安装 (在本地compile 并安装)

make mrproper
 作用是在每次配置并重新编译内核前需要先执行make mrproper命令清理源代码树,包括过去曾经配置的内核配置文件.config都将被清除。即进行新的编译工作时将原来老的配置文件给删除到,以免影响新的内核编译。即检查有无不正确的.o文件和依赖关系,如果使用刚下载的完整的源程序包即第一次进行编译,那么本步可以省略。而如果你多次使用了这些源程序编译内核,则最好要先运行。
make menuconfig
使用make menuconfig 生成的内核配置文件,决定将内核的各个功能系统编译进内核还是编译为模块还是不编译。
  1. sudo dnf search  ncurses
  2. sudo dnf install ncurses-devel.x86_64
复制代码
  1. $ nproc
  2. 96
复制代码
  1. #make –j96
  2. 生成内核模块和vmlinuz,initrd.img,Symtem.map文件。
  3. 注:#make相当于分别执行#make bzImage 和#make modules,由于是本机替换内核,所以无需分开执行。
  4. build 完之后 echo $? 看是否返回值为0
复制代码


 sudo make  modules_install
编译成功后,系统会在/lib/modules目录下生成一个子目录,里面存放着新内核的所有可加载模块(即将编译好的modules拷贝到/lib/modules下)。


DEPMOD  4.18.04.18.0-425.13.1_default.el8_7

make install

Issue:

# 1  CONFIG_SYSTEM_TRUSTED_KEYS

此时需要在Kernel文件夹"linux-5.8.1"中,找到"./config"文件,禁掉"certs/rhel.pem":
将CONFIG_SYSTEM_TRUSTED_KEYS=“certs/rhel.pem”,
改成CONFIG_SYSTEM_TRUSTED_KEYS=""
# 2  提示"Try to disable CONFIG_DEBUG_INFO_BTF"

屏蔽这一条config

 

来源:https://www.cnblogs.com/aalan/p/17583807.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

上一篇: 安装redhat9.2

下一篇: GDB详解

举报 回复 使用道具