如何将树外包添加到buildroot?
How to add an out-of-tree package to buildroot?
我正在使用 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/Confige:
config BR2_PACKAGE_CUSTOM_WIRINGPI
bool "custom_wiringpi"
help
https://github.com/WiringPi/WiringPi
这似乎可行,因为我可以在 menuconfig
中 select 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 上提出了类似的问题,但是 none 涵盖了我的问题。
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 or also the training slides https://bootlin.com/doc/training/buildroot/buildroot-slides.pdf 从幻灯片 250 开始的文档。
我忘了在我的 custom_wiringpi.mk
中包含这一行:
$(eval $(generic-package))
现在 Make 的行为符合预期。
我正在使用 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/Confige:
config BR2_PACKAGE_CUSTOM_WIRINGPI
bool "custom_wiringpi"
help
https://github.com/WiringPi/WiringPi
这似乎可行,因为我可以在 menuconfig
中 select 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 上提出了类似的问题,但是 none 涵盖了我的问题。
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 or also the training slides https://bootlin.com/doc/training/buildroot/buildroot-slides.pdf 从幻灯片 250 开始的文档。
我忘了在我的 custom_wiringpi.mk
中包含这一行:
$(eval $(generic-package))
现在 Make 的行为符合预期。