diff mbox series

kernel-fit-image: skip sstate creation for deploy

Message ID 20260603152328.48500-1-tafil@tafhub.de
State Changes Requested
Headers show
Series kernel-fit-image: skip sstate creation for deploy | expand

Commit Message

Tafil Avdyli June 3, 2026, 3:23 p.m. UTC
When building completely from sstate (e.g. in pipeline), the
linux-yocto-fitimage recipe deploys from sstate even if the
INITRAMFS_IMAGE requires a rebuild.

Using dm-verity or verity image classes, the initramfs image must be
rebuilt after the rootfs. However, linux-yocto-fitimage:do_build was
skipped and went straight for do_deploy from sstate and deployed a
fitImage with an outdated initramfs with old roothash data while the
image and INITRAMFS_IMAGE were being built.

Skipping the do_deploy task in a sstate only build, successfully
triggers linux-yocto-fitimage:do_build after
INITRAMFS_IMAGE:do_image_complete.
This also follows fitimage.bbclass[1] from meta-oe.

[1]: https://git.openembedded.org/meta-openembedded/tree/meta-oe/classes/fitimage.bbclass?h=wrynose#n522

Signed-off-by: Tafil Avdyli <tafil@tafhub.de>
---
 meta/classes-recipe/kernel-fit-image.bbclass | 1 +
 1 file changed, 1 insertion(+)

Comments

Richard Purdie June 3, 2026, 4:22 p.m. UTC | #1
On Wed, 2026-06-03 at 17:23 +0200, Tafil Avdyli via lists.openembedded.org wrote:
> When building completely from sstate (e.g. in pipeline), the
> linux-yocto-fitimage recipe deploys from sstate even if the
> INITRAMFS_IMAGE requires a rebuild.
> 
> Using dm-verity or verity image classes, the initramfs image must be
> rebuilt after the rootfs. However, linux-yocto-fitimage:do_build was
> skipped and went straight for do_deploy from sstate and deployed a
> fitImage with an outdated initramfs with old roothash data while the
> image and INITRAMFS_IMAGE were being built.
> 
> Skipping the do_deploy task in a sstate only build, successfully
> triggers linux-yocto-fitimage:do_build after
> INITRAMFS_IMAGE:do_image_complete.
> This also follows fitimage.bbclass[1] from meta-oe.
> 
> [1]: https://git.openembedded.org/meta-openembedded/tree/meta-oe/classes/fitimage.bbclass?h=wrynose#n522
> 
> Signed-off-by: Tafil Avdyli <tafil@tafhub.de>
> ---
>  meta/classes-recipe/kernel-fit-image.bbclass | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/meta/classes-recipe/kernel-fit-image.bbclass b/meta/classes-recipe/kernel-fit-image.bbclass
> index ae8f3c6688..03272bab51 100644
> --- a/meta/classes-recipe/kernel-fit-image.bbclass
> +++ b/meta/classes-recipe/kernel-fit-image.bbclass
> @@ -241,3 +241,4 @@ do_deploy() {
>      fi
>  }
>  addtask deploy after do_compile before do_build
> +SSTATE_SKIP_CREATION:task-deploy = "1"

This is a workaround, it sounds like there is a missing dependency
somewhere to trigger the build needed?

Cheers,

Richard
diff mbox series

Patch

diff --git a/meta/classes-recipe/kernel-fit-image.bbclass b/meta/classes-recipe/kernel-fit-image.bbclass
index ae8f3c6688..03272bab51 100644
--- a/meta/classes-recipe/kernel-fit-image.bbclass
+++ b/meta/classes-recipe/kernel-fit-image.bbclass
@@ -241,3 +241,4 @@  do_deploy() {
     fi
 }
 addtask deploy after do_compile before do_build
+SSTATE_SKIP_CREATION:task-deploy = "1"