首页 > 系统相关 >在CentOS上编译最新版linux内核(linux-5.19.9)

在CentOS上编译最新版linux内核(linux-5.19.9)

时间:2022-09-19 16:59:48浏览次数:113  
标签:5.19 CentOS make modules 64 内核 linux 最新版

官网下载最新版的Linux内核源码,本教程使用linux-5.19.9进行编译。

实验环境(CentOS-Stream-8)

$ uname -a
Linux localhost.localdomain 4.18.0-338.el8.x86_64 #1 SMP Fri Aug 27 17:32:14 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

下载并解压缩linux内核源码

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.19.9.tar.xz
tar -xvf linux-5.19.9.tar.xz
cd linux-5.19.9

安装相关依赖包

yum install -y gcc make ncurses-devel flex bison openssl openssl-devel elfutils-libelf-devel binutils binutils-devel

配置需要编译的模块,生成相应的配置文件.config

make menuconfig

根据各自的需求,可以选择需要的模块编译进内核中,这里我们保持默认即可,直接选择Save

image

无需修改名称,直接点击OK

image

选择Exit进行退出

image

选择Exit退出引导界面

image

检查目录下是否成功生成配置文件.config

ls -a

开始编译内核,-j之后的数字是指定一次可以同时执行多少个任务,根据各自编译机的CPU性能自行指定

make -j4
make modules_install

如果执行make modules_install发生如下错误

sed: can't read modules.order: No such file or directory
make: *** [Makefile:1477: __modinst_pre] Error 2

则我们手动执行make -j4 modules命令来排查问题

如果报certs/rhel.pem相关错误,如下所示

make[1]: *** No rule to make target 'certs/rhel.pem', needed by 'certs/x509_certificate_list'.  Stop.
make: *** [Makefile:1846: certs] Error 2

则编辑.config文件,将CONFIG_SYSTEM_TRUSTED_KEYS的值修改为空后保存

CONFIG_SYSTEM_TRUSTED_KEYS=""

再次重新执行make -j4 modules命令,如果遇到如下错误

BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
Failed to generate BTF for vmlinux
Try to disable CONFIG_DEBUG_INFO_BTF
make: *** [Makefile:1168: vmlinux] Error 1

需要再次编辑.config文件,按照提示将CONFIG_DEBUG_INFO_BTF的值修改为n,然后保存

CONFIG_DEBUG_INFO_BTF=n

修改完毕后,再一次重新执行make -j4 modules命令,如果执行成功,为了确保无误,我们再重新编译下内核,然后继续后续步骤

# 执行该命令,排查是否还存在模块相关错误
make -j4 modules
# 上述问题排查完毕,再重新编译一次,确保无误
make -j4
# 安装相关模块
make modules_install
# 安装内核
make install

安装完毕之后我们直接重启系统,使其加载新的内核

reboot

重启完成后,查看我们的系统信息

$ uname -a
Linux localhost.localdomain 5.19.9 #2 SMP PREEMPT_DYNAMIC Mon Sep 19 13:20:30 CST 2022 x86_64 x86_64 x86_64 GNU/Linux

标签:5.19,CentOS,make,modules,64,内核,linux,最新版
From: https://www.cnblogs.com/mstmdev/p/16708192.html

相关文章

  • linux ---1-磁盘管理基础,xxh
    作者:小辉[root@zxcqwe]#ll /dev/sd*brw-rw----1rootdisk8,09月1914:38/dev/sdabrw-rw----1rootdisk8,19月1914:38/dev/sda1brw-rw----1root......
  • Centos7环境变量设置
    Centos7环境变量设置最近,我从cnaaa.com上购买了云服务器,开通了centos系统。1、环境变量的含义程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变......
  • linux命令操作android手机
    目的通过一台linux机器操作android手机做一些常用的操作复杂的操作都是由简单操作开始的,可以自行发掘环境笔记本:thinkpadt480操作系统:archlinuxadb版本:31......
  • linux chrony 时钟服务配置
          chrony是ntp的改进,提供更快、更精准的时钟同步服务且兼容ntp,自RHEL7开始提供,RHEL8开始官方不再支持ntp,chrony包括chronyd与chronyc2部分,chronyd是后台......
  • How To determine Linux Kernel Timer Interrupt Frequency
    HowTodetermineLinuxKernelTimerInterruptFrequencyhttps://www.advenage.com/topics/linux-timer-interrupt-frequency......
  • ssh工具连接 vmware虚拟机的linux 网络适配器的网络连接类型为"仅主机"
    在Windows下,查看网络适配器,属于vmware的有两个VMnet1是"仅主机模式"的,VMnet8是NAT模式的,个人理解:仅主机模式就是虚拟了一个内网,所以要ping通或者连接ssh就必须在......
  • 超算TOP500中的Linux占比——Operating System&Operating System Family
    2022-09-18-21:28:59老师作业说明: TOP500中国超算占比,LINUX系统占比说明:当时使用的是bing搜索,中国超算占比其实澎湃新闻什么的都有介绍,但是我对它的数据来源持怀疑态度,......
  • linux下.net C#连接Sqlserver
    需要安装两个软件unixODBC和freetds,安装时需要linux已经安装gcc 先安装的是unixODBC将压缩包下载下来,安装在/usr/local/unixODBC目录下1:解压缩安装包tar-zxvf uni......
  • Linux常用命令
    1系统信息date:显示系统日期date091816152022.00:设置时间月日时分年.秒2关机shutdown-hnow:立即关机shutdown-rnow:立即重启reboot:重启shutdown-hhours:m......
  • centos7安装rabbitmq-3.9.5单机部署
    资源下载地址:#erlang下载https://github.com/rabbitmq/erlang-rpm/releases/tag/v23.3.4.6#rabbitmq-server下载https://github.com/rabbitmq/rabbitmq-server/rele......