mbox series

[0/3] Resolve YOCTO #14520 and YOCTO #15525.

Message ID 20250318104853.1442703-1-pascal.weisser.ext@karlstorz.com
Headers show
Series Resolve YOCTO #14520 and YOCTO #15525. | expand

Message

Weisser, Pascal March 18, 2025, 10:48 a.m. UTC
This patch series resolves the issues YOCTO #14520 and YOCTO #15525.

Weisser, Pascal (3):
  Revert "qemuboot: Trigger write_qemuboot_conf task on changes of
    kernel image realpath"
  qemuboot: Trigger do_write_qemuboot_conf task on bundled initramfs
    changes
  qemuboot: Provide default value for INITRAMFS_LINK_NAME

 meta/classes-recipe/qemuboot.bbclass | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Mathieu Dubois-Briand March 19, 2025, 9:33 a.m. UTC | #1
On Tue Mar 18, 2025 at 11:48 AM CET, Pascal.ext via lists.openembedded.org Weisser wrote:
> This patch series resolves the issues YOCTO #14520 and YOCTO #15525.
>
> Weisser, Pascal (3):
>   Revert "qemuboot: Trigger write_qemuboot_conf task on changes of
>     kernel image realpath"
>   qemuboot: Trigger do_write_qemuboot_conf task on bundled initramfs
>     changes
>   qemuboot: Provide default value for INITRAMFS_LINK_NAME
>
>  meta/classes-recipe/qemuboot.bbclass | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)

Hi Pascal,

Thanks for your patch.

I believe this is creating circular dependencies in some cases: we got a
few errors on the autobuilder:

ERROR:
Dependency loop #1 found:
  Task /srv/pokybuild/yocto-worker/genericarm64-alt/build/meta/recipes-core/images/core-image-initramfs-boot.bb:do_image_complete (dependent Tasks ['qemu-system-native_9.2.0.bb:do_populate_sysroot', 'core-image-initramfs-boot.bb:do_image', 'core-image-initramfs-boot.bb:do_image_cpio', 'core-image-initramfs-boot.bb:do_write_qemuboot_conf', 'qemu-helper-native_1.0.bb:do_addto_recipe_sysroot'])
  Task /srv/pokybuild/yocto-worker/genericarm64-alt/build/meta/recipes-kernel/linux/linux-yocto_6.12.bb:do_bundle_initramfs (dependent Tasks ['core-image-initramfs-boot.bb:do_image_complete', 'linux-yocto_6.12.bb:do_install'])
  Task /srv/pokybuild/yocto-worker/genericarm64-alt/build/meta/recipes-kernel/linux/linux-yocto_6.12.bb:do_deploy (dependent Tasks ['depmodwrapper-cross_1.0.bb:do_populate_sysroot', 'linux-yocto_6.12.bb:do_populate_sysroot', 'linux-yocto_6.12.bb:do_packagedata', 'pigz_2.8.bb:do_populate_sysroot', 'linux-yocto_6.12.bb:do_bundle_initramfs'])
  Task /srv/pokybuild/yocto-worker/genericarm64-alt/build/meta/recipes-core/images/core-image-initramfs-boot.bb:do_write_qemuboot_conf (dependent Tasks ['linux-yocto_6.12.bb:do_deploy', 'core-image-initramfs-boot.bb:do_rootfs'])

https://autobuilder.yoctoproject.org/valkyrie/#/builders/22/builds/1218
https://autobuilder.yoctoproject.org/valkyrie/#/builders/60/builds/1215

Can you have a look at these failures please?
Weisser, Pascal March 28, 2025, 9:21 a.m. UTC | #2
Hi,

the problem arises because the dependency on virtual/kernel is added to the initramfs-image image, too, leading to a circular dependency loop. In our setup the problem didn't occur because we're building the initramfs-image in a different multi-configuration. That way the kernel depends on the initramfs-image from a different multi-configuration and no circular dependency loop is created.

To fix the issue we'd need a way to add the dependency on virtual/kernel to the do_write_qemuboot_conf task only only if we're not building an initramfs-image. But I have no idea at the moment how we could distinguish that case? Are there any ideas on that?

Best regards
Pascal