【发布时间】:2017-11-15 05:04:33
【问题描述】:
我只想为我的 Buildroot 项目安装和构建工具链。 make help 建议命令 make <options> toolchain 应该可以工作;但是,运行该命令只会返回 Nothing to be done for 'toolchain'. 并且永远不会创建 output/host。
【问题讨论】:
我只想为我的 Buildroot 项目安装和构建工具链。 make help 建议命令 make <options> toolchain 应该可以工作;但是,运行该命令只会返回 Nothing to be done for 'toolchain'. 并且永远不会创建 output/host。
【问题讨论】:
您首先必须配置 Buildroot 以指示它您想要生成的工具链。请参阅 Buildroot 用户手册中的 Buildroot quick start。
如果你刚刚下载了 Buildroot,生成工具链的步骤是:
make menuconfig
Target options 中选择您的硬件平台和 ABIToolchain 中配置您想要的工具链类型make toolchain
工具链位于output/host/。
【讨论】:
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 项目中作为外部工具链重复使用的工具链。
【讨论】: