【问题标题】:Buildroot toolchain - need to build only onceBuildroot 工具链 - 只需要构建一次
【发布时间】:2011-12-11 13:28:32
【问题描述】:

我有多个平台共享同一个 buildroot。它们在 buildroot 包中有所不同。在 buildroot 中有没有一种方法可以配置为只构建一次工具链,然后在它上面只构建包和目标。

不做 make clean 的示例描述(所以工具链是完整的):

1) 一旦构建了 buildroot,平台 A 会更新目标的 rootfs /etc 中的一些 conf 文件(我正在使用平台 A buildroot 配置文件)。 2) 平台 B 不需要 conf 文件,但由于 make clean 没有完成(尽管使用了平台 B buildroot 配置文件);目标中存在不必要的 /etc/。如果 make clean 完成,那么工具链也需要重建。

感谢您的任何回答。

【问题讨论】:

    标签: embedded-linux buildroot


    【解决方案1】:

    是的。请参阅http://free-electrons.com/~thomas/pub/using-buildroot-real-project.pdf 了解一些未完成的幻灯片。

    您可以做的是为所有交叉编译工具链构建一次(使用 Buildroot 或 crosstool-NG),然后告诉 Buildroot 将此预构建的交叉编译工具链用作“外部工具链”。这样一来,Buildroot 将使用现有的编译器,并且在每次完全重建 Buildroot 时,您将节省完整的工具链构建时间。

    请注意,这只适用于相当新的 Buildroot 版本,即可能不到一年。

    【讨论】:

    • 我正在尝试在 buildroot-2009.01 上进行相同的配置,这意味着外部工具链;但最终在构建过程中出现了一些错误。有没有办法可以在较旧的 buildroot 上完成这项工作?
    • uclibc.mk 存在问题; BR2_TOOLCHAIN_SOURCE 的 if 没有 endif。看到此问题已在 buildroot-2009.02 中修复。对于任何想在 buildroot-2009.01 中使用 EXTERNAL TOOLCHAIN 的人,请在 buildroot-2009.01/toolchain/uClibc 文件夹下的 uclibc.mk 中添加 endif @ the end。谢谢。
    猜你喜欢
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多