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

Yocto编译iotedge烧录后/etc、/usr/bin目录找不到对应文件如何排查

排查方案

常见默认安装路径

meta-virtualization层的iotedge recipe默认不会把二进制放在/bin目录,你可以优先检查以下路径:

  • 守护进程主二进制:/usr/sbin/iotedge
  • 配置文件目录:/etc/iotedge/
  • 配套工具二进制:/usr/bin/iotedge-*前缀的文件

分步骤排查逻辑

  • 第一步:验证iotedge是否被加入镜像安装列表
    进入Yocto构建目录下的tmp/deploy/images/<目标架构>/路径,找到对应镜像的.manifest后缀文件,搜索iotedge关键词。如果搜索不到相关条目,说明你仅完成了iotedge的编译,没有将其加入镜像的安装配置,需要在conf/local.conf或者自定义镜像recipe中添加:
IMAGE_INSTALL:append = " iotedge-daemon iotedge-cli"

注意字符串开头需要留空格避免和前面的配置拼接错误。

  • 第二步:检查iotedge的实际安装路径
    如果manifest中存在iotedge相关包,进入构建目录下的tmp/work/<目标架构>/iotedge-daemon/<版本号>/temp/路径,查看log.do_install文件,确认编译产物在do_install阶段被拷贝到了哪些路径,部分自定义recipe可能会修改默认安装前缀。

  • 第三步:验证包拆分配置是否正确
    查看iotedge-daemon recipe中的PACKAGES和FILES:${PN}配置项,确认你需要的二进制、配置文件没有被拆分到其他独立子包(比如部分recipe会把cli工具单独拆分到iotedge-cli包,只安装iotedge-daemon会找不到命令行工具)。

  • 第四步:确认烧录的镜像版本正确
    直接解压构建生成的rootfs压缩包(通常在tmp/deploy/images/<目标架构>/下的.tar.gz或者.ext4格式文件),在解压后的文件系统中搜索iotedge相关文件,确认编译产物确实存在于rootfs中后再进行烧录,避免误烧旧版本镜像。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:12:04