You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Buildroot中添加树外包 自定义WiringPi未构建问题求助

Buildroot自定义WiringPi树外包不构建的解决方法

1. 修复文件名拼写错误

你当前目录结构中所有命名为Confige的文件都属于拼写错误,正确命名应为Config.in,需要修改的文件包括:

  • ./package/Confige -> ./package/Config.in
  • ./package/custom_wiringpi/Confige -> ./package/custom_wiringpi/Config.in

同时需要在./package/Config.in中添加如下内容,才能让上层配置正确关联子包的配置项:

source "$BR2_EXTERNAL_ROOTFS_PATH/package/custom_wiringpi/Config.in"

2. 补全custom_wiringpi.mk的必要规则

Buildroot的自定义包必须在mk文件末尾调用包注册宏才会被构建系统识别,同时你当前的下载、构建、安装规则都不完整,修改后的custom_wiringpi.mk参考如下:

CUSTOM_WIRINGPI_VERSION = 7f8fe26e4f775abfced43c07657a353f03ddb2d0
CUSTOM_WIRINGPI_SITE = https://github.com/WiringPi/WiringPi.git
CUSTOM_WIRINGPI_SITE_METHOD = git
CUSTOM_WIRINGPI_LICENSE = LGPL-3.0+
CUSTOM_WIRINGPI_LICENSE_FILES = COPYING.LESSER

define CUSTOM_WIRINGPI_BUILD_CMDS
        $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CC=$(TARGET_CC)
endef

define CUSTOM_WIRINGPI_INSTALL_TARGET_CMDS
        $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install DESTDIR=$(TARGET_DIR)
endef

$(eval $(generic-package))

核心修改点:

  • 末尾添加$(eval $(generic-package)),这是Buildroot识别自定义包的必须规则,缺失的话所有定义的构建步骤都不会被执行
  • 调整源码获取方式为git直接拉取对应commit,避免zip路径匹配错误
  • 补全交叉编译参数,用Buildroot提供的TARGET_MAKE_ENV和TARGET_CC变量,保证编译的是适配树莓派架构的二进制
  • 增加安装到目标文件系统的步骤,否则编译完成的二进制不会被打包到最终镜像中

3. 验证配置生效

修改完成后执行以下步骤验证:

  1. 执行make menuconfig确认custom_wiringpi选项已勾选,保存配置
  2. 执行make custom_wiringpi-rebuild单独测试该包的下载、编译、安装流程,如果能正常执行说明配置生效
  3. 执行完整make生成镜像即可包含WiringPi组件

内容的提问来源于stack exchange,提问作者Philipp Ludwig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:45:03