如何应用补丁uboot:Yocto项目



我正在尝试使用 Bitbake 命令在创建映像期间应用补丁。我在目录下有我的文件:u-boot-tftp.pacth:/file/u-boot-tftp。这是我的u-boot-tftp.bbappend:

DEPENDS += "dtc-native"
SRC_URI = "file://u-boot-tftp.patch"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

在构建我的映像时,我遇到此错误:

Applying patch u-boot-tftp.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
No file to patch.  Skipping patch.
2 out of 2 hunks ignored
Patch u-boot-tftp.patch does not apply (enforce with -f)

我尝试运行解包命令:bitbake -c unpack -f u-boot-tftp,但它不起作用,我在互联网上查找了它,似乎没有任何效果。任何帮助将不胜感激。

感谢

此致敬意。

您正在覆盖 bbappend 中的 SRC_URI 变量。因此,不使用原始的 U-Boot 源,并且 U-Boot 配方仅将您的补丁作为整个源。

在 bbappend 中使用 SRC_URI += 而不是SRC_URI =(就像你对 DEPENDS 所做的那样(。

在输入行 3 找不到要修补的文件

从上面的错误来看,yocto似乎无法找到补丁。您可以更新FILESEXTRAPATHS_prepend路径或更改修补程序所在的目录。

在执行 do_patch(( 时,它将搜索补丁以查找多个路径,这些路径可以在 build/tmp/work//u-boot-tftp//temp/log.do_patch 中看到。检查它是否在"/file/u-boot-tftp"文件夹中搜索补丁,并相应地更新路径。

最新更新