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

Yocto Recipe从私有Azure Git仓库拉取源码失败求助

解决Yocto Recipe拉取私有Azure Git仓库源码失败问题

1. 修正SRC_URI拼写错误

你当前的SRC_URI存在明显拼写错误:pocrotol=ssh应改为protocol=ssh,这会直接导致Yocto无法识别拉取协议。修正后的SRC_URI如下:

SRC_URI = "git://git@ssh.dev.azure.com:v3/CompanyName/ProjectName/TestYoctoSourceUri;protocol=ssh;branch=master;destsuffix=git/common"

2. 确保构建环境能正常读取SSH密钥

  • 检查构建用户的SSH配置文件权限:~/.ssh/config和~/.ssh/id_rsa的权限必须设置为600,避免权限过宽被SSH拒绝:
    chmod 600 ~/.ssh/config ~/.ssh/id_rsa
    
  • 如果构建在无交互环境(如CI/CD),需提前启动ssh-agent并加载密钥,确保Yocto拉取时能自动认证:
    eval $(ssh-agent)
    ssh-add ~/.ssh/id_rsa
    
  • 可在local.conf中添加配置,强制Yocto使用指定的SSH密钥:
    BB_SSH_ADD_ENV = "${HOME}/.ssh/id_rsa"
    

3. 验证Azure DevOps SSH连接有效性

在构建环境中手动执行以下命令,确认SSH连接正常:

ssh -T git@ssh.dev.azure.com

认证成功后会返回类似Hello [YourName]! You've successfully authenticated, but do not have access to this repository.的提示(若仓库权限配置正确,会显示仓库相关访问信息)。

4. 检查Yocto Fetch配置

  • 确保未自定义覆盖Yocto默认的git fetch逻辑,meta层中的git.bbclass需正常生效。
  • 若构建环境需要代理,需在local.conf中配置代理变量,例如:
    HTTP_PROXY="http://your-proxy:port"
    HTTPS_PROXY="http://your-proxy:port"
    NO_PROXY="ssh.dev.azure.com,localhost"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 22:00:53