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

向BusyBox添加i2cdetect/i2ctransfer后Yocto构建失败求助

Yocto构建STM32MP157镜像时BusyBox添加i2cdetect的问题解决

环境与问题

  • 环境:VirtualBox 7.0,Ubuntu 22.04.1镜像
  • 目标:基于Digi-Key教程为STM32MP157构建Yocto Linux镜像,需向BusyBox添加i2cdetect工具
  • 问题现象:
    1. 添加配置后执行bitbake custom-image出现FileExistsError:
      Exception: FileExistsError: [Errno 17] File exists: '/bin/busybox.suid' -> '/home/vboxuser/Projects/yocto/build-mp1/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/busybox/1.36.1-r0/package/usr/lib/busybox/ptest/bin/i2cdetect'
      
    2. 执行bitbake -c do_cleanall busybox和bitbake -c do_cleanall custom_image后可成功构建,但镜像中无i2cdetect工具;替换为添加i2ctransfer时问题相同,且已确认meta/recipes-core/busybox/busybox.inc包含相关补丁。

解决方案

1. 正确配置BusyBox工具启用

不要直接修改busybox.inc,推荐通过自定义bbappend文件或local.conf来启用工具,避免覆盖上游配置:

  • 方法一:使用bbappend文件
    1. 在自定义meta层(如meta-custom)创建路径recipes-core/busybox/
    2. 创建busybox_%.bbappend文件,内容如下:
      FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
      SRC_URI += "file://busybox.cfg"
      PTEST_ENABLED = "0"
      
    3. 在同目录的files/文件夹下创建busybox.cfg,添加需要的工具配置:
      CONFIG_I2CDETECT=y
      CONFIG_I2CTRANSFER=y
      
  • 方法二:直接在local.conf中添加
    在build-mp1/conf/local.conf中追加:
    BUSYBOX_CONFIG_ADDITIONS += "CONFIG_I2CDETECT=y CONFIG_I2CTRANSFER=y"
    PTEST_ENABLED_pn-busybox = "0"
    

2. 解决FileExistsError冲突

错误源于BusyBox的ptest测试套件与工具安装路径冲突,禁用ptest即可解决该报错(上述配置中已包含PTEST_ENABLED = "0")。若仍有残留,手动清理ptest临时文件:

rm -rf /home/vboxuser/Projects/yocto/build-mp1/tmp/work/*/busybox/*/ptest

3. 确保配置生效的构建流程

清理后需强制重新生成BusyBox配置并编译,避免旧配置残留:

bitbake busybox -c do_configure -f
bitbake busybox -c do_compile -f
bitbake custom-image

可提前验证配置是否生效:

cat /home/vboxuser/Projects/yocto/build-mp1/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/busybox/1.36.1-r0/build/.config | grep I2CDETECT

若输出CONFIG_I2CDETECT=y则配置已生效。

4. 镜像内工具验证

构建完成后启动QEMU或烧录镜像到硬件,验证工具存在:

which i2cdetect
ls -l /usr/bin/i2cdetect

正常情况下i2cdetect是指向/bin/busybox的软链接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:52:45