编译Poco Citrus自定义内核报ld不支持--fix-cortex-a53及j4规则不存在错误如何解决
问题原因与解决方法
1 编译直接终止的核心错误(No rule to make target '–j4')
该错误由命令参数格式错误导致:你输入的–j4前缀为全角破折号,make无法识别该符号,将其判定为需要生成的目标文件名,自然找不到对应的编译规则。
- 修复方法:将全角破折号替换为英文输入法下的半角连字符
-,修正后的编译命令如下:
make ARCH=arm64 CROSS_COMPILE=/opt/arm/9/toolchain/bin/arm-none-eabi- -j4
2 ld不支持--fix-cortex-a53-843419警告
该警告仅为提示,不会直接终止编译,原因是你当前使用的交叉编译工具链的链接器(ld)版本过低,不支持对应Cortex-A53处理器的硬件漏洞修复参数。可根据需求选择两种修复方案:
- 方案一:更换更新版本的arm64交叉编译工具链,推荐使用Linaro GCC 10+版本、或者AOSP官方预编译的clang工具链,新版本ld默认支持该参数。
- 方案二:临时关闭该errata修复配置,仅建议测试时使用:打开
arch/arm64/Makefile,注释掉第27行附近传递--fix-cortex-a53-843419参数的逻辑,或者在内核配置中关闭CONFIG_ARM64_ERRATUM_843419选项,重新生成配置后即可编译。
额外提示
如果修改-j4后仍出现工具链适配问题,可尝试更换前缀为aarch64-linux-gnu-的交叉编译工具链,该工具链针对Linux内核编译场景做了更多适配,比通用裸机工具链arm-none-eabi-兼容性更好。
内容的提问来源于stack exchange,提问作者njpollob
相关产品推荐
相关产品推荐

