All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] meta: classes-recipe: uki: Make initramfs optional
@ 2025-04-16 13:36 Leonard Anderweit
  2025-04-16 14:48 ` [OE-core] " Mikko Rapeli
  0 siblings, 1 reply; 3+ messages in thread
From: Leonard Anderweit @ 2025-04-16 13:36 UTC (permalink / raw)
  To: openembedded-core; +Cc: upstream

Make it possible to build an uki without initramfs. The initramfs is now
optional and will only be included if INITRAMFS_IMAGE is set.

Additionally, remove do_image_complete dependency on
INITRAMFS_IMAGE:do_image_complete since do_uki already depends on that
and is executed first.

Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
---
 meta/classes-recipe/uki.bbclass | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/meta/classes-recipe/uki.bbclass b/meta/classes-recipe/uki.bbclass
index d9a7fb0e6fe0..4db5f614b96f 100644
--- a/meta/classes-recipe/uki.bbclass
+++ b/meta/classes-recipe/uki.bbclass
@@ -75,8 +75,6 @@ INITRAMFS_IMAGE ?= "core-image-minimal-initramfs"
 
 INITRD_ARCHIVE ?= "${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}"
 
-do_image_complete[depends] += "${INITRAMFS_IMAGE}:do_image_complete"
-
 UKIFY_CMD ?= "ukify build"
 UKI_CONFIG_FILE ?= "${UNPACKDIR}/uki.conf"
 UKI_FILENAME ?= "uki.efi"
@@ -127,8 +125,9 @@ python do_uki() {
     ukify_cmd += " --stub %s" % (stub)
 
     # initrd
-    initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE'))
-    ukify_cmd += " --initrd=%s" % (os.path.join(deploy_dir_image, initramfs_image))
+    if d.getVar('INITRAMFS_IMAGE'):
+        initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE'))
+        ukify_cmd += " --initrd=%s" % (os.path.join(deploy_dir_image, initramfs_image))
 
     # kernel
     kernel_filename = d.getVar('UKI_KERNEL_FILENAME') or None

---
base-commit: 183e043de423fd3f7833366ca524a6f7d17e6d14
change-id: 20250416-master-5da9e74b8fc2

Best regards,
-- 
Leonard Anderweit <l.anderweit@phytec.de>



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [OE-core] [PATCH] meta: classes-recipe: uki: Make initramfs optional
  2025-04-16 13:36 [PATCH] meta: classes-recipe: uki: Make initramfs optional Leonard Anderweit
@ 2025-04-16 14:48 ` Mikko Rapeli
  2025-04-24 14:48   ` Leonard Anderweit
  0 siblings, 1 reply; 3+ messages in thread
From: Mikko Rapeli @ 2025-04-16 14:48 UTC (permalink / raw)
  To: L.Anderweit; +Cc: openembedded-core, upstream

Hi,

On Wed, Apr 16, 2025 at 03:36:24PM +0200, Leonard Anderweit via lists.openembedded.org wrote:
> Make it possible to build an uki without initramfs. The initramfs is now
> optional and will only be included if INITRAMFS_IMAGE is set.

I had considered this but decided not since to me UKI without initrd
isn't very useful compared to booting just a kernel EFI binary
directly.

Can you disclose your usecase a bit more?

> Additionally, remove do_image_complete dependency on
> INITRAMFS_IMAGE:do_image_complete since do_uki already depends on that
> and is executed first.

I remember hitting race conditions without this, but you may be right.

Cheers,

-Mikko

> Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
> ---
>  meta/classes-recipe/uki.bbclass | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/classes-recipe/uki.bbclass b/meta/classes-recipe/uki.bbclass
> index d9a7fb0e6fe0..4db5f614b96f 100644
> --- a/meta/classes-recipe/uki.bbclass
> +++ b/meta/classes-recipe/uki.bbclass
> @@ -75,8 +75,6 @@ INITRAMFS_IMAGE ?= "core-image-minimal-initramfs"
>  
>  INITRD_ARCHIVE ?= "${INITRAMFS_IMAGE}-${MACHINE}.${INITRAMFS_FSTYPES}"
>  
> -do_image_complete[depends] += "${INITRAMFS_IMAGE}:do_image_complete"
> -
>  UKIFY_CMD ?= "ukify build"
>  UKI_CONFIG_FILE ?= "${UNPACKDIR}/uki.conf"
>  UKI_FILENAME ?= "uki.efi"
> @@ -127,8 +125,9 @@ python do_uki() {
>      ukify_cmd += " --stub %s" % (stub)
>  
>      # initrd
> -    initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE'))
> -    ukify_cmd += " --initrd=%s" % (os.path.join(deploy_dir_image, initramfs_image))
> +    if d.getVar('INITRAMFS_IMAGE'):
> +        initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE'))
> +        ukify_cmd += " --initrd=%s" % (os.path.join(deploy_dir_image, initramfs_image))
>  
>      # kernel
>      kernel_filename = d.getVar('UKI_KERNEL_FILENAME') or None
> 
> ---
> base-commit: 183e043de423fd3f7833366ca524a6f7d17e6d14
> change-id: 20250416-master-5da9e74b8fc2
> 
> Best regards,
> -- 
> Leonard Anderweit <l.anderweit@phytec.de>
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#214990): https://lists.openembedded.org/g/openembedded-core/message/214990
> Mute This Topic: https://lists.openembedded.org/mt/112294799/7159507
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [mikko.rapeli@linaro.org]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [OE-core] [PATCH] meta: classes-recipe: uki: Make initramfs optional
  2025-04-16 14:48 ` [OE-core] " Mikko Rapeli
@ 2025-04-24 14:48   ` Leonard Anderweit
  0 siblings, 0 replies; 3+ messages in thread
From: Leonard Anderweit @ 2025-04-24 14:48 UTC (permalink / raw)
  To: mikko.rapeli@linaro.org
  Cc: upstream@lists.phytec.de,
	openembedded-core@lists.openembedded.org

Hi,

Am Mittwoch, dem 16.04.2025 um 17:48 +0300 schrieb Mikko Rapeli:
> Hi,
> 
> On Wed, Apr 16, 2025 at 03:36:24PM +0200, Leonard Anderweit via
> lists.openembedded.org wrote:
> > Make it possible to build an uki without initramfs. The initramfs
> > is now
> > optional and will only be included if INITRAMFS_IMAGE is set.
> 
> I had considered this but decided not since to me UKI without initrd
> isn't very useful compared to booting just a kernel EFI binary
> directly.
> 
> Can you disclose your usecase a bit more?

There is no real usecase here apart from me testing the uki feature and
not wanting to deal with initramfs.

Also the uki documentation [1] states that the initrd is optional.

[1] https://uapi-group.org/specifications/specs/unified_kernel_image/

Leonard
> 
> > Additionally, remove do_image_complete dependency on
> > INITRAMFS_IMAGE:do_image_complete since do_uki already depends on
> > that
> > and is executed first.
> 
> I remember hitting race conditions without this, but you may be
> right.
> 
> Cheers,
> 
> -Mikko
> 
> > Signed-off-by: Leonard Anderweit <l.anderweit@phytec.de>
> > ---
> >  meta/classes-recipe/uki.bbclass | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> > 
> > diff --git a/meta/classes-recipe/uki.bbclass b/meta/classes-
> > recipe/uki.bbclass
> > index d9a7fb0e6fe0..4db5f614b96f 100644
> > --- a/meta/classes-recipe/uki.bbclass
> > +++ b/meta/classes-recipe/uki.bbclass
> > @@ -75,8 +75,6 @@ INITRAMFS_IMAGE ?= "core-image-minimal-initramfs"
> >  
> >  INITRD_ARCHIVE ?= "${INITRAMFS_IMAGE}-
> > ${MACHINE}.${INITRAMFS_FSTYPES}"
> >  
> > -do_image_complete[depends] +=
> > "${INITRAMFS_IMAGE}:do_image_complete"
> > -
> >  UKIFY_CMD ?= "ukify build"
> >  UKI_CONFIG_FILE ?= "${UNPACKDIR}/uki.conf"
> >  UKI_FILENAME ?= "uki.efi"
> > @@ -127,8 +125,9 @@ python do_uki() {
> >      ukify_cmd += " --stub %s" % (stub)
> >  
> >      # initrd
> > -    initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE'))
> > -    ukify_cmd += " --initrd=%s" % (os.path.join(deploy_dir_image,
> > initramfs_image))
> > +    if d.getVar('INITRAMFS_IMAGE'):
> > +        initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE'))
> > +        ukify_cmd += " --initrd=%s" %
> > (os.path.join(deploy_dir_image, initramfs_image))
> >  
> >      # kernel
> >      kernel_filename = d.getVar('UKI_KERNEL_FILENAME') or None
> > 
> > ---
> > base-commit: 183e043de423fd3f7833366ca524a6f7d17e6d14
> > change-id: 20250416-master-5da9e74b8fc2
> > 
> > Best regards,
> > -- 
> > Leonard Anderweit <l.anderweit@phytec.de>
> > 
> 
> > 
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#214990):
> > https://lists.openembedded.org/g/openembedded-core/message/214990
> > Mute This Topic:
> > https://lists.openembedded.org/mt/112294799/7159507
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe:
> > https://lists.openembedded.org/g/openembedded-core/unsub [
> > mikko.rapeli@linaro.org]
> > -=-=-=-=-=-=-=-=-=-=-=-
> > 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-04-24 14:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-16 13:36 [PATCH] meta: classes-recipe: uki: Make initramfs optional Leonard Anderweit
2025-04-16 14:48 ` [OE-core] " Mikko Rapeli
2025-04-24 14:48   ` Leonard Anderweit

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.