首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于crosstool ng工具链的Linux内核交叉编译

基于crosstool ng工具链的Linux内核交叉编译
EN

Stack Overflow用户
提问于 2019-09-07 02:12:37
回答 1查看 601关注 0票数 0

我使用crosstool ng项目为BeagleBone Black SBC构建了一个自定义工具链。我遵循了“掌握嵌入式Linux编程”一书中的说明,其中简单地使用了arm-cortex_a8-linux-gnueabi配置。构建工具链可以很好地工作,但在使用它交叉编译Linux内核时(使用内核版本4.19.70中的multi_v7_defconfig ),我得到了一大堆以下错误:

/tmp/ccMrtEje.s:43: Error: selected processor does not support 'dmb ish' in ARM mode

其中dmb ish可以是工具链汇编程序找到的任何不受支持的指令。我尝试了带有bb.org_defconfig的BeagleBone here的官方内核分支,所以我使用了它,我得到了同样的错误。这似乎是一个工具链问题。我会不会在配置工具链时遗漏了什么?我已经将FPU设置为硬件,但仍然不熟悉很多配置选项。

EN

回答 1

Stack Overflow用户

发布于 2019-09-21 15:52:39

我强烈建议使用LinaroARM的GCC工具链。

我使用以下命令为您的目标配置构建了4.19.70内核,使用以下命令时没有任何问题:

代码语言:javascript
运行
复制
wget "https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz?revision=402e6a13-cb73-48dc-8218-ad75d6be0e01&la=en" -O gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz
tar Jxf gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.70.tar.xz
tar Jxf linux-4.19.70.tar.xz

CROSS_COMPILE=$(pwd)/gcc-arm-8.3-2019.03-x86_64-arm-eabi/bin/arm-eabi- ARCH=arm make -C linux-4.19.70 mrproper multi_v7_defconfig bzImage

ls -gG linux-4.19.70/arch/arm/boot/zImage
-rwxrwxr-x 1 8655360 Sep 21 03:49 linux-4.19.70/arch/arm/boot/zImage

我希望这能帮到你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57826803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档