我试图从另一个项目添加另一个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
。