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

Yocto配置KERNEL_SRC从本地Git服务器拉取源码遇权限问题

Yocto拉取本地Git内核源码权限拒绝问题解决

问题根源

你在终端用当前用户能正常拉取,但Yocto构建时bitbake是用构建专用用户(比如默认的build用户)运行的——你给当前用户配置的SSH公钥,对这个构建用户无效,所以触发权限拒绝。

解决步骤

  1. 切换到构建用户
    如果你用的是Yocto默认的build用户,执行:

    su - build
    

    要是你用自己的用户做构建,跳过这步,但得确认bitbake运行时的用户身份。

  2. 给构建用户配置SSH免密登录
    在构建用户的会话里,生成公钥并同步到Git服务器:

    ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
    ssh-copy-id git@192.168.30.58
    

    执行完测试下:

    ssh git@192.168.30.58
    

    确保不用输密码就能连上。

  3. 确认配方里的KERNEL_SRC配置
    保持SSH格式的写法即可:

    KERNEL_SRC = "git@192.168.30.58:/home/git/linux-imx"
    

    需要指定分支的话,再加一行:

    KERNEL_BRANCH = "你的分支名"
    
  4. 清理缓存后重新构建
    之前的失败缓存可能残留,先清掉再重试:

    bitbake -c cleansstate virtual/kernel
    bitbake virtual/kernel
    

额外检查项

  • 查看构建用户的~/.ssh/config,别让里面的配置覆盖了Git服务器的SSH规则
  • 确认Git服务器上/home/git/linux-imx仓库的权限,保证git用户有读取权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 09:50:44