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

Yocto使用Bitbake构建imx-image-core镜像do_fetch拉取源码失败

问题根因

并非仓库本身无法访问,你手动可正常克隆就证明源服务可用,触发错误的原因有三个:

  • Bitbake调用git拉取大体积仓库时,默认的http传输缓冲区过小,触发GnuTLS传输中断错误
  • 首次拉取失败后留下了损坏的本地缓存文件,Bitbake后续执行会直接读取损坏缓存,不会发起新的拉取请求
  • 旧版本Yocto默认的拉取超时阈值较短,大仓库拉取耗时超过阈值就会被强制中断
修复步骤
  1. 清理损坏的本地缓存
    首先删除downloads目录下的无效git缓存:
rm -rf /home/sami/edm_yocto/downloads/git2/github.com.llvm.llvm-project
rm -rf /home/sami/edm_yocto/downloads/git2/source.codeaurora.org.external.imx.linux-imx.git

再清理对应构建任务的残留状态:

bitbake -c cleansstate llvm-project-source
bitbake -c cleansstate linux-imx-headers
  1. 调整git全局传输缓冲区配置
git config --global http.postBuffer 524288000
git config --global https.postBuffer 524288000
git config --global http.maxRequestBuffer 1048576000

以上配置将git的http传输缓冲区上调至500M,可解决大仓库拉取时的GnuTLS传输错误。

  1. 可选:延长拉取超时阈值
    如果你的网络环境较差,可打开构建目录下的conf/local.conf文件,添加如下配置将拉取超时时间延长至1小时:
BB_FETCH_TIMEOUT = "3600"
  1. 重新执行构建命令
bitbake imx-image-core

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:39:01