如何在yocto中应用dtsi(或dts)的补丁文件



我在ubuntu 18.04上使用yocto(ver.rocko(,并试图应用补丁文件,但我不能。。。


我的目标机器是qemuarm64,linux内核是linux-yocto。

一旦执行$ bitbake core-image-base,内核源文件将被解压缩,然后目标dtsi文件位于poky/build/tmp/work/aarch64-poky-linux/linux-libc-headers/4.12-r0/linux-4.12/arch/arm64/boot/dts/arm/juno-base.dtsi


我要修补的自定义元数据文件如下:

  • poky/meta-custom/precipes kernel/linux/linux-yoct_4.12.bbappend
  • poky/meta custom/recipes kernel/linux/files/juno-base.dtsi.patch
# poky/meta-custom/recipes-kernel/linux/linux-yocto_4.12.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/files"
SRC_URI += "file://juno-base.dtsi.patch"

但在bitbake之后,补丁文件在poky/build/tmp/work/qemuarm64-poky-linux/linux-yocto/4.12.28+gitAUTOINC+2ae65226f6_e562267bae-r0/juno-base.dtsi.patch中创建,并且补丁应用程序无法在中工作


我不知道怎么了,该怎么办。。。请告诉我该怎么办?

要为Yocto配方源创建一个简单的补丁,可以用一种简单的方式使用git命令:

您的Linux工作目录是:

poky/build/tmp/work/qemuarm64 poky linux/linux yocto/4.12.28+gitAUTOINC+2ae65226f6_e562267bae-r0

正如你所看到的,它已经是一个";git";目录,这意味着它已经用git初始化了。

以下是您理解方法的明确步骤:

在将你的补丁(juno-base.dtsi.patch(添加到SRC_URI后,我认为你的linux yocto工作目录一团糟,所以请关注我:

  1. 清理构建

    bitbake-linux-yocto-c清理状态

  2. 从SRC_URI 中删除修补程序

  3. 应用任何默认补丁

    bitbake-linux-yocto-c补丁

  4. 转到

poky/build/tmp/work/qemuarm64 poky linux/linux yocto/4.12.28+gitAUTOINC+2ae65226f6_e562267bae-r0

  1. 在上进行修改

poky/build/tmp/work/qemuarm64 poky linux/linux-yocto/4.12.28+gitAUTOINC+2ae65226f6_e562267bae-r0/arch/arm64/boot/dts/arm/juno-base.dtsi

且不在中

poky/build/tmp/work/arch64 poky linux/linux-libc headers/4.12-r0/linux-4.12/arch/arm64/boot/dts/arm/juno-base.dtsi

  1. 现在,打开一个终端并将目录更改为

poky/build/tmp/work/qemuarm64 poky linux/linux yocto/4.12.28+gitAUTOINC+2ae65226f6_e562267bae-r0

  1. 运行:git status(您应该看到类似于:modified arch/arm64/boot/dts/arm/juno-base.dtsi(
  2. 运行:git-arch/arm64/boot/dts/arm/juno-base.dtsi
  3. 运行:git commit-m"用于juni-base-dtsi的补丁">
  4. 运行:git格式补丁-1

现在创建一个名为";用于juni-base-dtsi.Patch的补丁";,现在您可以将其添加到linux-octo_%.bbappend:

SRC_URI_append="file://Patch-for-juni-base-dtsi.patch">

如果dtsi不存在,并且您想将其作为补丁添加,请在运行"git状态";您将看到一个新添加的文件,用";git add"并继续执行命令。

完成所有这些之后,您可以使用继续构建过程

bitbake linux-yocto -C patch

或者,如果将补丁添加到SRC_URI,那么linux yocto构建将从do_fetch开始。

相关内容

  • 没有找到相关文章

最新更新