添加补丁和另一个 git 源在 yocto

时间:2021-06-11 13:26:32

标签: linux git kernel yocto patch

我试图从另一个项目中添加另一个 git 源代码,并在 bbappend 文件中添加一个类似以下的补丁(仅供参考 bb 文件中我有第一个 git 存储库,我可以在其中获取内核源代码和它作品):

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRCREV_my_modules = "${AUTOREV}"
SRC_URI += "git://server/produc/kernel-modules;protocol=ssh;branch=master;name=my_modules;destsuffix=${S}/my_modules"
SRC_URI += "file://drivers_makefile.patch"

问题是当我尝试构建如下:

bitbake -c cleanall linux
bitbake linux

未考虑更改,没有从 git 获取源并且未应用补丁

当我尝试在 git URI 或补丁名称中出错时,bitbake 检测到问题并显示错误,即使是 git URI (

ssh: Could not resolve hostname server: Name or service not known
fatal: Could not read from remote repository.

) 甚至在补丁文件名中。

仅供参考,当我尝试在 do_compile_append() 中向新源添加一些符号链接时,它可以工作并且符号链接已创建,但当然链接是针对不存在的源代码完成的。

我不明白有什么问题?你能帮我找到解决方案吗?

注意:我遵循了 meta/recipes-core/glibc/cross-localedef-native_2.22.bb 的相同想法

1 个答案:

答案 0 :(得分:0)

我阅读了您的帖子,还查看了 cross-localedef-native_%.bb。您的问题就在这里:

.query

如果您的 git repo 确实托管在 server 并且该名称通过 DNS 解析,并且可能在 repo 中还有类似 produc/kernel-modules/ 的路径,那么您的提取将起作用,并且你的构建应该继续,就好了。在跨本地定义本机配方中,有来自 github.com 和 sourceware.org 的 repo URI,它们确实可以解析,所以那里一切正常。

填写您实际的 git repo 服务器名称(github.com、git.yoctoproject.org 等),确保您确实具有 ssh 访问权限,因为您指定了该名称,这样您就可以了。

如果您发现此答案有用,请考虑将其标记为正确答案。祝您构建项目好运!