Buildroot:仅安装和构建工具链
Posted
技术标签:
【中文标题】Buildroot:仅安装和构建工具链【英文标题】:Buildroot: install and build the toolchain only 【发布时间】:2017-11-15 05:04:33 【问题描述】:我只想为我的 Buildroot 项目安装和构建工具链。 make help
建议命令 make <options> toolchain
应该可以工作;但是,运行该命令只会返回 Nothing to be done for 'toolchain'.
并且永远不会创建 output/host
。
【问题讨论】:
【参考方案1】:您首先必须配置 Buildroot 以指示它您想要生成的工具链。请参阅 Buildroot 用户手册中的 Buildroot quick start。
如果你刚刚下载了 Buildroot,生成工具链的步骤是:
-
运行
make menuconfig
在 Target options
中选择您的硬件平台和 ABI
在Toolchain
中配置您想要的工具链类型
退出保存
运行make toolchain
工具链位于output/host/
。
【讨论】:
Buildroot 在运行配置之前尝试执行“制作工具链”时确实应该报错,所以我提交了patchwork.ozlabs.org/patch/776011 仅供参考,Arnout 修复了此问题,现在未配置的 Buildroot 将在您运行“make toolchain”时打印错误,而不是旧的误导性消息。修复将在下一个 Buildroot 版本 2017.08 中进行。 (仅供参考,更改在提交中git.buildroot.net/buildroot/commit/…)【参考方案2】:Buildroot manual 中记录了一种仅构建工具链的最新方法,该方法可在 Buildroot 内部和外部使用。
虽然 Luca 的答案中的 make toolchain
确实构建了工具链,但它还将其他主机依赖项放入 output/host/
,与下面的 make sdk
相比,获得干净的工具链稍微困难一些,它会在output/images/
:
6.1.3。使用 Buildroot 构建外部工具链
Buildroot 内部工具链选项可用于创建外部工具链。以下是构建内部工具链并将其打包以供 Buildroot 本身(或其他项目)重用的一系列步骤。
创建一个新的 Buildroot 配置,包含以下详细信息:
为您的目标 CPU 架构选择适当的目标选项 在 Toolchain 菜单中,Toolchain type 保留默认的 Buildroot toolchain,并根据需要配置您的工具链 在系统配置菜单中,选择无作为初始化系统,选择无作为/ bin/sh 在 Target packages 菜单中,禁用 BusyBox 在 文件系统图像 菜单中,禁用 tar 根文件系统然后,我们可以触发构建,并要求 Buildroot 生成一个 SDK。这将为我们方便地生成一个包含我们的工具链的 tarball:
make sdk
这会在
$(O)/images
中生成 SDK 压缩包,名称类似于arm-buildroot-linux-uclibcgnueabi_sdk-buildroot.tar.gz
。保存此 tarball,因为它现在是您可以在其他 Buildroot 项目中作为外部工具链重复使用的工具链。
【讨论】:
以上是关于Buildroot:仅安装和构建工具链的主要内容,如果未能解决你的问题,请参考以下文章