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

Yocto构建报错:opkg-utils_git.bb的do_unpack阶段失败(退出码1)

解决Yocto构建opkg-utils do_unpack失败问题

作为折腾过Yocto老版本构建的开发者,结合你的环境(Ubuntu 14.04 + BB_VERSION 1.28.0 + fsl-qoriq 2.0),这个opkg-utils_git.bb do_unpack失败的问题,大概率是git仓库访问/网络兼容性或者环境依赖缺失导致的,给你几个针对性的解决步骤:

1. 排查git仓库的访问权限与协议问题

调试信息里出现了SSH_AUTH_SOCK,说明opkg-utils的recipe在尝试通过SSH协议拉取git仓库,但可能存在密钥未配置或者旧协议不被支持的情况:

  • 先手动测试克隆仓库:
    git clone git://git.openembedded.org/opkg-utils
    
    如果克隆失败,优先换成HTTPS协议的源:找到poky/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb文件,修改SRC_URI字段为:
    SRC_URI = "git://github.com/openembedded/opkg-utils.git;protocol=https"
    
  • 如果是SSH密钥问题,确保你的本地SSH密钥已经添加到对应的代码仓库权限列表里,或者执行ssh-add加载密钥到当前会话。

2. 修复Ubuntu 14.04的git版本兼容性问题

Ubuntu 14.04默认的git版本是1.9.x,而Yocto Jethro(对应BB_VERSION 1.28)依赖的git操作可能需要更高版本支持,升级git的步骤:

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git

升级完成后验证版本:git --version,确保至少到2.x版本。

3. 清理损坏的构建缓存并重新尝试

之前的unpack失败可能留下了损坏的临时文件,清理对应缓存:

rm -rf tmp/work/x86_64-linux/opkg-utils/*
rm -rf downloads/git2/git.openembedded.org.opkg-utils

之后重新执行构建命令:

bitbake fsl-image-minimal

4. 检查Yocto层的完整性

确保你的poky及相关meta层已经同步完整,执行以下命令拉取所有子模块:

cd poky
git submodule update --init --recursive

这些步骤应该能解决你遇到的do_unpack失败问题,毕竟Ubuntu 14.04属于比较老的环境,和Yocto老版本搭配时容易出现这类兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:56:29