| Message ID | 20260123131814.586417-1-dmitry.baryshkov@oss.qualcomm.com |
|---|---|
| State | New |
| Headers | show |
| Series | [v3] uki.bbclass: drop INITRD_ARCHIVE, fixing multiple INITRAMFS_FSTYPES | expand |
> -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded- > core@lists.openembedded.org> On Behalf Of Dmitry Baryshkov via > lists.openembedded.org > Sent: Friday, January 23, 2026 14:18 > To: openembedded-core@lists.openembedded.org > Subject: [OE-core] [PATCH v3] uki.bbclass: drop INITRD_ARCHIVE, fixing multiple > INITRAMFS_FSTYPES > > If INITRAMFS_FSTYPES contains more than one entry, ukify build command > will fail as INITRD_ARCHIVE will contain extra strings. Drop > INITRD_ARCHIVE and handle fstypes directly in do_uki(), letting the user > to specify other fstypes in INITRAMFS_FSTYPES. > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > --- > meta/classes-recipe/uki.bbclass | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/meta/classes-recipe/uki.bbclass b/meta/classes-recipe/uki.bbclass > index a2b1c8a82d6f..ea449540db66 100644 > --- a/meta/classes-recipe/uki.bbclass > +++ b/meta/classes-recipe/uki.bbclass > @@ -73,8 +73,6 @@ require ../conf/image-uefi.conf > > 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" > @@ -127,7 +125,8 @@ python do_uki() { > ukify_cmd += " --stub %s" % (stub) > > # initrd > - initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE')) > + uki_fstype = d.getVar("INITRAMFS_FSTYPES").split()[0] > + initramfs_image = "%s-%s.%s" % (d.getVar('INITRAMFS_IMAGE'), > d.getVar('MACHINE'), uki_fstype) This will leave orphan INITRD_ARCHIVE variable defined. Additionally, I think there is probably issue if someone sets non-default values for IMAGE_MACHINE_SUFFIX or INITRAMFS_IMAGE_NAME. Isn't INITRAMFS_IMAGE_NAME the correct variable here instead of ${INITRAMFS_IMAGE}-${MACHINE}? Peter > ukify_cmd += " --initrd=%s" % (os.path.join(deploy_dir_image, > initramfs_image)) > > # kernel > -- > 2.47.3
On Fri, 23 Jan 2026 at 15:32, Marko, Peter <Peter.Marko@siemens.com> wrote: > > > > > -----Original Message----- > > From: openembedded-core@lists.openembedded.org <openembedded- > > core@lists.openembedded.org> On Behalf Of Dmitry Baryshkov via > > lists.openembedded.org > > Sent: Friday, January 23, 2026 14:18 > > To: openembedded-core@lists.openembedded.org > > Subject: [OE-core] [PATCH v3] uki.bbclass: drop INITRD_ARCHIVE, fixing multiple > > INITRAMFS_FSTYPES > > > > If INITRAMFS_FSTYPES contains more than one entry, ukify build command > > will fail as INITRD_ARCHIVE will contain extra strings. Drop > > INITRD_ARCHIVE and handle fstypes directly in do_uki(), letting the user > > to specify other fstypes in INITRAMFS_FSTYPES. > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > > --- > > meta/classes-recipe/uki.bbclass | 5 ++--- > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/meta/classes-recipe/uki.bbclass b/meta/classes-recipe/uki.bbclass > > index a2b1c8a82d6f..ea449540db66 100644 > > --- a/meta/classes-recipe/uki.bbclass > > +++ b/meta/classes-recipe/uki.bbclass > > @@ -73,8 +73,6 @@ require ../conf/image-uefi.conf > > > > 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" > > @@ -127,7 +125,8 @@ python do_uki() { > > ukify_cmd += " --stub %s" % (stub) > > > > # initrd > > - initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE')) > > + uki_fstype = d.getVar("INITRAMFS_FSTYPES").split()[0] > > + initramfs_image = "%s-%s.%s" % (d.getVar('INITRAMFS_IMAGE'), > > d.getVar('MACHINE'), uki_fstype) > > This will leave orphan INITRD_ARCHIVE variable defined. Where? It is removed in the first chunk. > > Additionally, I think there is probably issue if someone sets non-default values for IMAGE_MACHINE_SUFFIX or INITRAMFS_IMAGE_NAME. > Isn't INITRAMFS_IMAGE_NAME the correct variable here instead of ${INITRAMFS_IMAGE}-${MACHINE}? It's a separate issue, which needs a separate commit.
> -----Original Message----- > From: openembedded-core@lists.openembedded.org <openembedded- > core@lists.openembedded.org> On Behalf Of Dmitry Baryshkov via > lists.openembedded.org > Sent: Friday, January 23, 2026 14:36 > To: Marko, Peter (FT D EU SK BFS1) <Peter.Marko@siemens.com> > Cc: openembedded-core@lists.openembedded.org > Subject: Re: [OE-core] [PATCH v3] uki.bbclass: drop INITRD_ARCHIVE, fixing > multiple INITRAMFS_FSTYPES > > On Fri, 23 Jan 2026 at 15:32, Marko, Peter <Peter.Marko@siemens.com> wrote: > > > > > > > > > -----Original Message----- > > > From: openembedded-core@lists.openembedded.org <openembedded- > > > core@lists.openembedded.org> On Behalf Of Dmitry Baryshkov via > > > lists.openembedded.org > > > Sent: Friday, January 23, 2026 14:18 > > > To: openembedded-core@lists.openembedded.org > > > Subject: [OE-core] [PATCH v3] uki.bbclass: drop INITRD_ARCHIVE, fixing > multiple > > > INITRAMFS_FSTYPES > > > > > > If INITRAMFS_FSTYPES contains more than one entry, ukify build command > > > will fail as INITRD_ARCHIVE will contain extra strings. Drop > > > INITRD_ARCHIVE and handle fstypes directly in do_uki(), letting the user > > > to specify other fstypes in INITRAMFS_FSTYPES. > > > > > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > > > --- > > > meta/classes-recipe/uki.bbclass | 5 ++--- > > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > > > diff --git a/meta/classes-recipe/uki.bbclass b/meta/classes-recipe/uki.bbclass > > > index a2b1c8a82d6f..ea449540db66 100644 > > > --- a/meta/classes-recipe/uki.bbclass > > > +++ b/meta/classes-recipe/uki.bbclass > > > @@ -73,8 +73,6 @@ require ../conf/image-uefi.conf > > > > > > 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" > > > @@ -127,7 +125,8 @@ python do_uki() { > > > ukify_cmd += " --stub %s" % (stub) > > > > > > # initrd > > > - initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE')) > > > + uki_fstype = d.getVar("INITRAMFS_FSTYPES").split()[0] > > > + initramfs_image = "%s-%s.%s" % (d.getVar('INITRAMFS_IMAGE'), > > > d.getVar('MACHINE'), uki_fstype) > > > > This will leave orphan INITRD_ARCHIVE variable defined. > > Where? It is removed in the first chunk. Sure, selective blindness on my side... > > > > > Additionally, I think there is probably issue if someone sets non-default values > for IMAGE_MACHINE_SUFFIX or INITRAMFS_IMAGE_NAME. > > Isn't INITRAMFS_IMAGE_NAME the correct variable here instead of > ${INITRAMFS_IMAGE}-${MACHINE}? > > It's a separate issue, which needs a separate commit. > > -- > With best wishes > Dmitry
diff --git a/meta/classes-recipe/uki.bbclass b/meta/classes-recipe/uki.bbclass index a2b1c8a82d6f..ea449540db66 100644 --- a/meta/classes-recipe/uki.bbclass +++ b/meta/classes-recipe/uki.bbclass @@ -73,8 +73,6 @@ require ../conf/image-uefi.conf 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" @@ -127,7 +125,8 @@ python do_uki() { ukify_cmd += " --stub %s" % (stub) # initrd - initramfs_image = "%s" % (d.getVar('INITRD_ARCHIVE')) + uki_fstype = d.getVar("INITRAMFS_FSTYPES").split()[0] + initramfs_image = "%s-%s.%s" % (d.getVar('INITRAMFS_IMAGE'), d.getVar('MACHINE'), uki_fstype) ukify_cmd += " --initrd=%s" % (os.path.join(deploy_dir_image, initramfs_image)) # kernel
If INITRAMFS_FSTYPES contains more than one entry, ukify build command will fail as INITRD_ARCHIVE will contain extra strings. Drop INITRD_ARCHIVE and handle fstypes directly in do_uki(), letting the user to specify other fstypes in INITRAMFS_FSTYPES. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> --- meta/classes-recipe/uki.bbclass | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)