1.基于RedHat 8.2源码编译升级Kernel 5.8.1
1.1 背景
只是单纯为了验证工作中遇到的一个bug…才诞生了此文
1.2 先从如下网址下载内核源码包,我这里下载的是"linux-5.8.1.tar.gz",大家可根据自己需求自行下载
https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/(我是从这个网站下载的)
https://www.kernel.org/(官网)
将"linux-5.8.1.tar.gz"拷贝至系统(RedHat8.2(4.18.0-193.el8.x86_64))本地并解压
#tar -zxvf linux-5.8.1.tar.gz
1.3 进入解压文件夹/…/linux-5.8.1,准备文本配置文件
#cp /boot/config-$(uname -r) ./.config
1.4 选择你需要的内核模块,配置内核选项
#make menuconfig
(1)当执行make menuconfig后发现提示缺"ncurses-devel or libncurses-dev",我们需要安装ncurses-devel package
(2)安装ncurses-devel package
#rpm -ivh ncurses-devel-6.1-5.20180224.el8.x86_64.rpm --nodeps
(3)安装ncurses-devel后便可以执行make menuconfig了,会看到关于.config的配置界面,如果没有特殊需求,选择"Save"保存后,点击"Exit"退出当前配置界面即可
(4)配置结束可以看到打印出"End of the configuration"
!!!!!!!!!!!!!!!!!!!!
----高能预警:前方踩雷入坑高危区,慎入----
!!!!!!!!!!!!!!!!!!!!
1.5 优化多核、多线程的编译过程
(1)当执行#make -j 4后提示"please install libelf-dev, libelf-devel or elfutils-libelf-devel"
那我们就按照报错提示安装"elfutils-libelf-devel"吧
但我们安装"gcc-toolset-9-elfutils-libelf-devel-0.176-5.el8.x86_64.rpm"和"gcc-toolset-9-elfutils-libelf-0.176-5.el8.x86_64.rpm"后再次执行#make -j 4发现还是提示"please install libelf-dev, libelf-devel or elfutils-l