当前位置:首页 > 二手市场 > 正文内容

初次编译rk3568(rk3576)Linux 6.1内核踩坑记录:从报错终止到成功解决的完整流程

云智网2026-02-07二手市场4889

很多刚接触瑞芯微rk系列芯片开发的小伙伴,在初次编译基于Linux 6.1内核的系统时,很容易因为环境依赖问题卡壳。最近我在编译rk3576rk3568流程类似)Linux 6.1内核时就遇到了典型报错,从定位问题到最终解决踩了不少小坑,今天把完整过程整理出来,帮大家少走弯路。

wKgZPGkaixiAOw9UAAGJ3owc3Qg452.png

一、问题突发:编译中途突然报错终止

按照官方文档配置好编译环境后,我执行了内核编译命令,一开始流程正常,直到终端突然弹出一连串错误信息,编译直接终止。

仔细看报错日志,核心提示有两个:

1.明确指出“Your gmp header is missing”——也就是gmp相关的头文件缺失();

2.后续跟着一系列执行失败的日志,比如“Running /home/sc/rk3576_linux/device/rockchip/common/scripts/mk-kernel.sh - do_build failed!”,且exit code1(、),这说明是依赖缺失导致编译脚本执行失败。

其实到这里,报错信息已经很贴心——不仅告诉我们缺什么,还直接给了解决方案。

二、定位关键:跟着报错提示找解决方案

“gmp header is missing”这句话下面,终端直接给出了安装命令:“Please install it: sudo apt-get install libgmp-dev”(、)。

这里要划个重点:Linux下编译报错时,先仔细看报错日志的建议操作,很多时候官方或编译器已经把解决方案直接写在日志里了,不用盲目去搜教程。

我当时没多想,直接复制了这个命令开始执行,没想到后续还有个小插曲。

三、解决步骤:执行安装+验证,遇到小问题再调整

第一步:执行依赖安装命令

在终端输入报错提示里的命令:

sudo apt-get install libgmp-dev()

输入sudo密码后,系统会自动开始处理:

先读取软件包列表,分析依赖关系(、);

然后提示会同时安装libgmpxx4ldbl”,这是libgmp-dev的依赖包,属于正常情况();

最终确认新安装2个软件包。

输入“y”确认后,系统开始下载并自动安装,最后提示正在处理用于libc-bin的触发器,看起来安装成功了。

第二步:重新编译仍报错?试试环境重置

本以为安装完就能正常编译,结果重新执行编译命令后,报错依然存在。这时候我才意识到,可能是之前的编译缓存或环境变量没刷新,于是做了两个操作:

1.卸载无效依赖并重新安装

先尝试卸载可能冲突的libmpc-dev(虽然终端提示“libmpc-dev未安装,不会被卸载)(到),再重新执行sudo apt-get install libmpc-dev,确保相关依赖完整()。

2.补充安装环境变量相关工具

wKgZPGkaixmALn34AAKEqIKcfeQ945.png

因为报这个错误,后来看了一下源码目录就有这个依赖,基本上是环境配置没配好

参考瑞芯微编译环境的常见配置,又执行了两个命令:

wKgZPGkaixmAbUn3AABCWQs6t9Y084.png

sudo apt-get install binfmt-support qemu-user-static(用于处理不同架构的二进制文件,);

sudo dpkg -i ubuntu-build-service/packages/*sudo apt-get install -f(修复deb包依赖,确保环境变量配置正确,、)。

做完这些后,我关闭了当前终端重新打开(刷新环境变量),再次执行编译命令——这次终于顺利跑通,没有再出现报错!

四、总结:初次编译rk内核的2个避坑要点

1.优先看报错日志的直接提示

像这次的gmp头文件缺失,报错里直接给了安装命令,跟着做就能解决80%的问题,不用一开始就去搜复杂的教程。

2.依赖安装后记得刷新环境

有时候依赖安装成功了,但编译脚本读不到新安装的文件,关闭终端重新打开、或执行source /etc/profile刷新环境变量,往往能解决安装了还报错的问题。

如果大家在编译rk3568/3576等芯片的Linux内核时,遇到类似的依赖报错,不妨按照这个流程试试。如果还有其他踩坑经历,欢迎在评论区交流,一起帮更多开发者避坑~

返回列表

上一篇:一分钟带你了解:导热胶

没有最新的文章了...