【问题标题】:How to add an out-of-tree package to buildroot?如何将树外包添加到 buildroot?
【发布时间】:2021-09-04 15:34:32
【问题描述】:

我正在使用 buildroot 为 Raspberry Pi 构建自定义文件系统。到目前为止一切正常,但我无法添加树外包。我正在尝试添加 WiringPi,因为 WiringPi 在 buildroot 中已被标记为旧版,因此不再包含在内。

我的外部文件夹结构:

./Config.in
./external.desc
./external.mk
./package
./package/Confige
./package/custom_wiringpi
./package/custom_wiringpi/custom_wiringpi.mk
./package/custom_wiringpi/Confige

custom_wiringpi/配置:

config BR2_PACKAGE_CUSTOM_WIRINGPI
        bool "custom_wiringpi"
        help
          https://github.com/WiringPi/WiringPi

这似乎可行,因为我可以在menuconfig 中选择wiringpi。但它没有得到构建。 我的custom_wiringpi.mk

CUSTOM_WIRINGPI_VERSION = 20210904
CUSTOM_WIRINGPI_SOURCE = 7f8fe26e4f775abfced43c07657a353f03ddb2d0.zip
CUSTOM_WIRINGPI_SITE = https://github.com/WiringPi/WiringPi/archive/

define CUSTOM_WIRINGPI_BUILD_CMDS
        sh build
endef

我希望这至少会下载源代码并提取它,但 make 完全忽略了这一点。 我的external.mk

include $(sort $(wildcard $(BR2_EXTERNAL_ROOTFS_PATH)/package/*/*.mk))

如何让 buildroot 实际执行我定义的构建步骤?


我知道在 SO 上也有人问过类似的问题,但没有一个能涵盖我的问题。

【问题讨论】:

    标签: buildroot


    【解决方案1】:

    BR2_EXTERNAL_ROOTFS_PATH 很可能在您的 external.mk 中出错。 BR2_EXTERNAL__PATH 必须与您的 external.desc 中定义的 BR2_EXTERNAL 的名称相匹配。你能分享你的 external.desc 吗?

    请参阅https://buildroot.org/downloads/manual/manual.html#outside-br-custom 的文档或培训幻灯片https://bootlin.com/doc/training/buildroot/buildroot-slides.pdf 起始幻灯片 250。

    【讨论】:

    • 感谢您的评论。仅仅几秒钟后,我就知道出了什么问题(见我的回答)。当然,我阅读了文档,但如果有一个“虚拟”示例,那就太好了。无论如何,我可以从这里工作。
    【解决方案2】:

    我忘记在我的custom_wiringpi.mk 中包含这一行:

    $(eval $(generic-package))
    

    现在 Make 的行为符合预期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多