首先介绍我的问题:
我正在尝试添加一些补丁,以从linux-msm-4.4_git.bb配方(可在meta-qti-bsp层中找到)中使用的源代码修改某些设备树。
我的linux-msm-4.4_git.bbappend看起来像这样:
FILESEXTRAPATHS_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时,配方在任务 do_shared_workdir 期间失败,因为它找不到 certs / signing_key.pem 文件。
尝试解决该错误,我发现了以下信息:
meta-qti-bsp与repo中的代码略有修改(我在zip文件中收到了代码,因此我不知道对外部维护的图层进行了多少更改)。
我遵循了食谱中的所有包含,继承和要求,以便了解正在发生的事情: Here is an image of that.
我发现do_shared_workdir被kernel.bbclass覆盖。
当不包括我的图层 并启动 bitbake linux-msm-4.4 时,任务的执行顺序为:
当包含我的图层时, shared_workir 和 kernel_link_images 总是按执行顺序交换。
所以我尝试了是否在我的 .bbappend 中执行“在do_compile之后在do_compile之后添加任务shared_workdir ”,以覆盖“在do_compile_kernelmodules之前在do_compile之后添加任务 addstrong shared_workdir “来自<strong> kernel.bbclass 的代码,以强制执行不会以错误结尾的任务顺序,
在kernel.bbclass中修改它 did 解决了该错误,但是我宁愿不必在我不维护的层中进行更改。
我的主要问题:
为了进一步了解yocto框架,我想知道响应的另一个问题:
如果我使用命令 bitbake-layers add-layer meta-mylayer 创建了该层。我只是添加了食谱的相同结构-* / 食谱名称 / 食谱。bb在原始图层中添加了该bbappend及其文件/ 补丁< / em>是我唯一添加的内容。此补丁和配方未定义对任务执行顺序的更改。