添加补丁和另一个git源代码在yocto中不起作用



我试图从另一个项目添加另一个git源代码,并在bbappend文件中添加类似补丁的操作(在bb文件中,我有第一个git repo,在那里我可以获得内核源代码,它可以工作(:

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.

甚至在补丁文件名中。

fyi当我试图在do_compile_append()中向新的源代码添加一些符号链接时,它起作用了,符号链接也被创建了,但当然,链接是为不存在的源代码完成的。

我不明白出了什么问题?你能帮我找到解决办法吗?

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

我读了你的文章,还看了一下cross-localedef-native_%.bb。你的问题就在这里:

SRC_URI += "git://server/produc/kernel-modules;protocol=ssh;branch=master;name=my_modules;destsuffix=${S}/my_modules"

如果您的git repo确实托管在服务器上,并且该名称通过DNS解析,并且可能在repo中还有一个类似produce/kernel modules/的路径,那么您的获取将起作用,您的构建应该会继续,这很好。在跨localedef本地配方中,有来自github.com和sourceware.org的repo URI,它们确实可以解析,所以在那里一切都很好。

填写您实际的git repo服务器名称(github.com、git.yoctoproject.org,等等(,确保您在指定后确实具有ssh访问权限,这样做会很好。

您应该从destsuffix中删除${S}destsuffix=my_modules

最新更新