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

Yocto构建STM32MP157D-DK1镜像后i2cdetect命令缺失求助

解决Yocto构建后STM32MP157D-DK1上i2cdetect命令找不到的问题

1. 持久化Busybox的i2cdetect配置

你通过bitbake -c menuconfig busybox启用的i2cdetect是临时配置,必须保存到defconfig才能让Yocto每次构建都生效:

  • 执行命令保存配置:
    bitbake -c savedefconfig busybox
    
  • 在自定义层中创建recipes-core/busybox目录,新建busybox_%.bbappend文件,内容如下:
    FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
    SRC_URI += "file://defconfig"
    
  • 把刚才生成的defconfig文件(路径通常为tmp/work/stm32mp157d-dk1-poky-linux-gnueabi/busybox/<对应版本号>/defconfig)复制到自定义层的recipes-core/busybox/files目录下

2. 确认镜像包含Busybox组件

检查你的custom-image.bb文件,确保没有移除Busybox,必要时添加:

IMAGE_INSTALL:append = " busybox"

如果镜像原本就依赖Busybox,这一步可跳过,但确认能避免遗漏。

3. 清理缓存并重新构建

旧的构建缓存可能保留了未启用i2cdetect的Busybox版本,先清理再重新构建:

bitbake -c clean busybox
bitbake custom-image

4. 验证构建结果

构建完成后,进入镜像的rootfs目录(例如tmp/deploy/images/stm32mp157d-dk1/custom-image-stm32mp157d-dk1.rootfs/usr/sbin),确认i2cdetect文件存在。烧录新镜像到SD卡后,登录设备即可执行命令。

另外注意:你启用的是i2c5节点,后续测试时应使用i2cdetect -y 5而非i2cdetect -y 1,避免节点号错误导致的额外问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 19:40:16