Yocto-BitBake镜像分支保留问题:指定分支丢失致拉取失败
问题根源
你的PREMIRRORS配置仅替换了Git仓库的URL部分,未传递原SRC_URI中的branch参数,导致拉取私有镜像时默认走master分支。而你指定的3.11.x实际是标签,master分支中不存在对应的提交哈希,因此触发拉取失败。
解决办法
修改local.conf中的PREMIRRORS规则,使用${SRCPARAMS}变量保留原URI的所有参数:
SOURCE_TOMYMIRROR="myUser@MyServerIdServer:/The/Path/to/directory" PREMIRRORS_prepend ?= "\ git://.*/.* git://${SOURCE_TOMYMIRROR}/HOST/PATH;${SRCPARAMS}\n \ "
${SRCPARAMS}会自动携带原SRC_URI中的所有附加参数(比如这里的branch=3.11.x),替换后的镜像URL就能保留分支/标签配置,拉取时会正确指向目标标签而非master分支。
注意:确保私有仓库的HOST/PATH路径和上游仓库的映射关系正确,比如原上游github.com/google/protobuf.git需要对应到私有仓库的正确目录位置。
验证
重新执行构建,查看日志会发现替换后的Git URI包含branch=3.11.x参数,此时拉取私有仓库会直接定位到指定标签,不会再出现找不到提交哈希的错误。
内容的提问来源于stack exchange,提问作者TheWorkingCat
相关产品推荐
相关产品推荐

