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

如何在Yocto镜像中包含libiio-iiod与libiio-python3包?

Yocto构建中添加libiio子包的解决方案

问题背景

在Yocto构建中引入libiio配方,配方内定义了PACKAGES =+ "${PN}-iiod ${PN}-tests ${PN}-${PYTHON_PN}",其中${PN}-${PYTHON_PN}包已通过bbappend文件完成PACKAGECONFIG启用配置。在local.conf中添加IMAGE_INSTALL:append = " libiio"后,执行bitbake core-image-minimal生成的镜像仅包含libiio0包,未出现libiio-iiod和libiio-python3文件;对应的.rpm文件已存在于指定路径,执行常规清理缓存命令后问题仍未解决。

解决步骤

  1. 明确指定需安装的子包
    libiio主包默认仅包含核心库文件(libiio0),不会自动拉取子包。需直接修改local.conf,将目标子包添加到IMAGE_INSTALL中:

    IMAGE_INSTALL:append = " libiio-iiod libiio-python3"
    

    若需保留主包,也可合并写为:

    IMAGE_INSTALL:append = " libiio libiio-iiod libiio-python3"
    
  2. 验证PACKAGECONFIG配置有效性
    确认bbappend文件中的PACKAGECONFIG已正确启用所需选项,示例配置如下:

    PACKAGECONFIG:append = " python iiod"
    

    执行以下命令查看最终生效的配置,确保python和iiod已包含在内:

    bitbake libiio -e | grep PACKAGECONFIG
    
  3. 彻底清理并重新构建
    执行更彻底的清理命令以确保缓存完全更新:

    bitbake core-image-minimal -c cleanall
    bitbake core-image-minimal
    

    也可手动删除相关缓存文件:

    rm -rf tmp/work/<你的机器架构>/core-image-minimal/*
    rm -rf tmp/deploy/rpm/<你的目标架构>/libiio-*
    
  4. 检查包依赖关系
    执行以下命令查看libiio主包的依赖列表,确认是否包含目标子包:

    bitbake libiio -c package_show
    

    若配方未设置主包依赖子包,必须手动将子包添加到IMAGE_INSTALL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 09:20:38