Yocto 将bitbake任务替换为bbappend

Yocto 将bitbake任务替换为bbappend,yocto,bitbake,meta-raspberrypi,Yocto,Bitbake,Meta Raspberrypi,任务do_kernel_configme在yocto基本层中定义,并由meta raspberrypi添加到。如何使用bbappend文件仅覆盖meta raspberrypi添加的部分 当前设置类似于: meta-mylayer rpi-recipe.bbappend do_kernel_configme_prepend() meta-raspberrypi rpi-recipe.bb do_kernel_configme_prepend() &

任务do_kernel_configme在yocto基本层中定义,并由meta raspberrypi添加到。如何使用bbappend文件仅覆盖meta raspberrypi添加的部分

当前设置类似于:

meta-mylayer          rpi-recipe.bbappend   do_kernel_configme_prepend()
meta-raspberrypi      rpi-recipe.bb         do_kernel_configme_prepend()
<yocto base layers>   some-recipe.bb        do_kernel_configme()
meta mylayer rpi-recipe.bbappend do\u kernel\u configme\u prepend()
meta raspberrypi rpi-recipe.bb do_kernel_configme_prepend()
some-recipe.bb do_kernel_configme()
当我运行这个程序时,这两个添加都是预先准备好的,这意味着“mylayer”代码首先运行,然后是meta-raspberrypi,然后是base

如何完全覆盖meta raspberrypi添加项,以便只执行“mylayer”代码和基本层代码


(同样的问题也适用于do_configure task。)

我认为没有任何机制可以做到这一点。如果你能从meta-raspberrypi中找出prepend的问题所在,那么可能还有其他方法可以实现你的目标。我正在尝试添加一个自定义内核defconfig,但它被meta-raspberrypi-configme重写了。好吧,你可以将配置安装到
${S}/arch/${arch}/configs/${kernel defconfig}中
然后让meta-raspberrypi从那里得到它,因为这是我所看到的唯一一件事。当然不优雅,但有些东西会有用的。还有一个想法是——
meta mylayer
meta raspberrypi
的优先级是什么,也许玩它们会改变前缀的顺序。好吧,我试图避免安装到
${S]/arch/…
中,但这是我现在要使用的解决方案。将您的defconfig添加到您的层并添加一个“bbappend”使用FileExtraPaths\u prepend。我不认为有任何机制可以做到这一点。如果您可以从meta raspberrypi中看出prepend的问题所在,那么可能还有其他方法可以实现您的目标。我正在尝试添加自定义内核defconfig,但它是由meta raspberrypi configme重写的。您可以将配置安装到
${S}/arch/${arch}/configs/${KERNEL_DEFCONFIG}
然后让meta-raspberrypi从那里得到它,因为这是我所看到的唯一它能做的事情。当然不是优雅的,但会起作用。作为一个想法,还有-
meta-mylayer
meta-raspberrypi
的优先顺序是什么,也许玩它们会改变前缀的顺序。嗯,我试着避免安装到
${S]/arch/..
中,但这是我现在要使用的解决方案。将defconfig添加到层中,并添加一个带有fileextrapath\u前缀的“bbappend”。