Ubuntu20.04编译Linux内核

下载Linux源码

Linux源码可以从Linux内核官网进行下载,如下图所示,我下载的是5.18.14最新稳定版,下载之后进行解压。
在这里插入图片描述

生成.config文件

到Linux源码所在目录下,开启一个bash终端,输入make menuconfig命令,如果缺少某些依赖,比如flex,则按照提示安装即可。
在这里插入图片描述
出现以下界面,按方向右键,到,再按enter,保存.config配置。
在这里插入图片描述
在这里插入图片描述

编译Linux内核

输入命令sudo make -j16
等待编译结束:
在这里插入图片描述
第一编译后,由于编译日志过多,可能会出现错误提示被忽略的情况,再次编译,确认是否成功。
sudo make -j16
如果有错误,则会出现,如下图所示:
在这里插入图片描述
对于以上错误,解决方案如下:
1、首先查询所在.config文件中的行数
cat .config | grep debian/canonical-revoked-certs.pem

2、然后使用sudo gedit .config或者sudo vim .config命令打开config文件,对内容进行以下修改并保存。
在这里插入图片描述
改为下图:
在这里插入图片描述
再次sudo make -j16编译,此时要编译较长时间。

等待几十分钟之后…

再次使用sudo make -j16确认是否编译成功,出现/bin/sh: 1: zstd: not found错误提示:
/bin/sh: 1: zstd: not found
make[2]: *** [arch/x86/boot/compressed/Makefile:139:arch/x86/boot/compressed/vmlinux.bin.zst] 错误 127
make[2]: *** 正在删除文件“arch/x86/boot/compressed/vmlinux.bin.zst”
make[2]: *** 正在等待未完成的任务…
make[1]: *** [arch/x86/boot/Makefile:115:arch/x86/boot/compressed/vmlinux] 错误 2
make: *** [arch/x86/Makefile:271:bzImage] 错误 2
make: *** 正在等待未完成的任务…
使用sudo aptitude install zstd命令安装最新版zstd
在这里插入图片描述
安装成功后再次编译内核 sudo make -j16,最后终于成功了。
在这里插入图片描述
在这里插入图片描述

  • 11
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值