* [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.