Embedded linux 如何覆盖yocto配方中定义的任务顺序?

Embedded linux 如何覆盖yocto配方中定义的任务顺序?,embedded-linux,yocto,bitbake,Embedded Linux,Yocto,Bitbake,首先是我的问题的背景: 我试图添加一些补丁来修改linux-msm-4.4_git.bb配方中使用的源代码中的一些设备树(可以在层中找到) 我的linux-msm-4.4_git.bbappend如下所示: filesExtrapath\u append:=“${THISDIR}/files: SRC_URI+=”file://0001-patching-dts-stuff_1.patch" SRC_URI+=”file://0002-patching-dts-stuff_2.patch" SR

首先是我的问题的背景:

我试图添加一些补丁来修改linux-msm-4.4_git.bb配方中使用的源代码中的一些设备树(可以在层中找到)

我的linux-msm-4.4_git.bbappend如下所示:

filesExtrapath\u append:=“${THISDIR}/files:
SRC_URI+=”file://0001-patching-dts-stuff_1.patch"
SRC_URI+=”file://0002-patching-dts-stuff_2.patch"
SRC_URI+=”file://0003-patching-dts-stuff_3.patch"
SRC_URI+=”file://0004-patching-dts-stuff_4.patch"
SRC_URI+=”file://0005-patching-dts-stuff_5.patch"
SRC_URI+=”file://0006-patching-dts-stuff_6.patch"
SRC_URI+=”file://0007-patching-dts-stuff_7.patch"
SRC_URI+=”file://0008-patching-dts-stuff_8.patch"
SRC_URI+=”file://0009-patching-dts-stuff_9.patch"
但是,当我将我的层添加到build/conf/bblayers.conf时,由于找不到certs/signing\u key.pem文件,因此在任务期间,配方失败

试图解决该错误时,我发现了以下信息:

meta qti bsp是从它的中找到的那个稍微修改的(我在一个zip文件中收到了代码,所以我不知道对外部维护的层做了多少更改)

我遵循配方中的所有包括、继承和要求,以了解发生了什么:

我发现do_shared_workdir是从kernel.bbclass重写的

当我的层未包含在内且我启动bitbake linux-msm-4.4时,任务的执行顺序为:

  • 取回
  • 打开
  • 准备\u配方\u系统根
  • 打开
  • 补丁
  • 配置
  • 填充字母
  • 编撰
  • 共享工作区
  • 内核链接图像
当我的层被包含时,共享的\u工作内核\u链接\u图像总是按执行顺序交换

因此,我尝试在我的中执行“addtask shared\u workdir after do\u compile before kernel\u link\u images”。bbappend覆盖kernel.bbclass中的“addtask shared\u workdir after do\u compile\u kernelmodules”,以强制执行不会以错误结尾的任务顺序,但事实并非如此

在kernel.bbclass中修改它确实解决了错误,但我宁愿不必在我不维护的层中进行更改

我的主要问题是:

  • 有没有办法从我的层强制执行正确的任务顺序
为了进一步理解yocto框架,我想知道另一个问题的答案:

如果我使用命令bitbake layers创建层,请添加层meta mylayer。我刚刚添加了与原始层相同的recipes结构-*/recipe name/recipe.bbappend,这个bbappend和它的文件/补丁是我唯一添加的东西。此修补程序和配方不定义对任务执行顺序的更改

  • 为什么添加我的图层会导致此任务执行顺序的更改

你看了吗?也许您应该使用google repo获取所有meta qti bsp依赖项?(我没有使用这个图层)@Nayfe,我收到了一个邮政编码。当我在没有补丁的情况下启动“bitbake my image”时,它会成功运行。所以我怀疑依赖关系是存在的。尽管我已经解决了在kernel.bbclass中修改任务顺序的问题,但我仍然有兴趣知道一种在bbappend文件中修改任务顺序的干净方法。您看过吗?也许您应该使用google repo获取所有meta qti bsp依赖项?(我没有使用这个图层)@Nayfe,我收到了一个邮政编码。当我在没有补丁的情况下启动“bitbake my image”时,它会成功运行。所以我怀疑依赖关系是存在的。尽管我已经解决了在kernel.bbclass中修改任务顺序的问题,但我仍然对了解一种在bbappend文件中修改任务顺序的干净方法感兴趣。