Message ID | 20250110115028.256057-1-peter.czegledy@evosoft.com |
---|---|
State | Superseded, archived |
Headers | show |
Series | wic: bootimg-efi-isar: fix generating of grub.cfg for custom initrd | expand |
On 10.01.25 12:50, peter.czegledy via isar-users wrote: > From: Peter Czegledy <peter.czegledy@evosoft.com> > > Specifying the initrd location via WICs sourceparams initrd argument doesn't generate the initrd location properly. > > This fixes that and furthermore cleans up some related redundant assignments to kernel variable as they do not impact the final value. > > Signed-off-by: Peter Czegledy <peter.czegledy@evosoft.com> > --- > .../lib/wic/plugins/source/bootimg-efi-isar.py | 16 ++++------------ > 1 file changed, 4 insertions(+), 12 deletions(-) > > diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py > index 50f4187d..243824ae 100644 > --- a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py > +++ b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py > @@ -97,20 +97,18 @@ class BootimgEFIPlugin(SourcePlugin): > grubefi_conf += "timeout=%s\n" % bootloader.timeout > grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot") > > - kernel = get_bitbake_var("KERNEL_IMAGETYPE") > - if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": > - if get_bitbake_var("INITRAMFS_IMAGE"): > - kernel = "%s-%s.bin" % \ > - (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) > - Please split the cleanups into a separate patch. BTW, that dead code comes from taking OE's bootimg-efi.py as template and then adding isar specifics to it. See scripts/lib/wic/plugins/source/bootimg-efi.py. > label = source_params.get('label') > label_conf = "root=%s" % creator.rootdev > if label: > label_conf = "LABEL=%s" % label > > + temp_initrd = initrd > kernel, initrd = isar_get_filenames( > get_bitbake_var("IMAGE_ROOTFS"), get_bitbake_var("KERNEL_FILE") > ) > + if temp_initrd: > + initrd = temp_initrd > + This is a bit strange pattern, even if we have it elsewhere already. Better (and shorter): kernel, default_initrd = isar_get_filenames(...) if not initrd: initrd = default_initrd > grubefi_conf += "linux /%s %s rootwait %s\n" \ > % (kernel, label_conf, bootloader.append) > > @@ -179,12 +177,6 @@ class BootimgEFIPlugin(SourcePlugin): > > if not custom_cfg: > # Create systemd-boot configuration using parameters from wks file > - kernel = get_bitbake_var("KERNEL_IMAGETYPE") > - if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": > - if get_bitbake_var("INITRAMFS_IMAGE"): > - kernel = "%s-%s.bin" % \ > - (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) > - > title = source_params.get('title') > > temp_initrd = initrd Jan
On 1/10/25 12:50, peter.czegledy via isar-users wrote: > From: Peter Czegledy <peter.czegledy@evosoft.com> > > Specifying the initrd location via WICs sourceparams initrd argument doesn't generate the initrd location properly. > > This fixes that and furthermore cleans up some related redundant assignments to kernel variable as they do not impact the final value. > > Signed-off-by: Peter Czegledy <peter.czegledy@evosoft.com> > --- > .../lib/wic/plugins/source/bootimg-efi-isar.py | 16 ++++------------ > 1 file changed, 4 insertions(+), 12 deletions(-) > > diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py > index 50f4187d..243824ae 100644 > --- a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py > +++ b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py > @@ -97,20 +97,18 @@ class BootimgEFIPlugin(SourcePlugin): > grubefi_conf += "timeout=%s\n" % bootloader.timeout > grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot") > > - kernel = get_bitbake_var("KERNEL_IMAGETYPE") > - if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": > - if get_bitbake_var("INITRAMFS_IMAGE"): > - kernel = "%s-%s.bin" % \ > - (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) > - This is a recipe fork from open-embedded and we intentionally try to keep the changes a small as possible to allow merging. Quirin > label = source_params.get('label') > label_conf = "root=%s" % creator.rootdev > if label: > label_conf = "LABEL=%s" % label > > + temp_initrd = initrd > kernel, initrd = isar_get_filenames( > get_bitbake_var("IMAGE_ROOTFS"), get_bitbake_var("KERNEL_FILE") > ) > + if temp_initrd: > + initrd = temp_initrd > + > grubefi_conf += "linux /%s %s rootwait %s\n" \ > % (kernel, label_conf, bootloader.append) > > @@ -179,12 +177,6 @@ class BootimgEFIPlugin(SourcePlugin): > > if not custom_cfg: > # Create systemd-boot configuration using parameters from wks file > - kernel = get_bitbake_var("KERNEL_IMAGETYPE") > - if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": > - if get_bitbake_var("INITRAMFS_IMAGE"): > - kernel = "%s-%s.bin" % \ > - (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) > - > title = source_params.get('title') > > temp_initrd = initrd
On 10.01.25 17:42, 'Quirin Gylstorff' via isar-users wrote: > > > On 1/10/25 12:50, peter.czegledy via isar-users wrote: >> From: Peter Czegledy <peter.czegledy@evosoft.com> >> >> Specifying the initrd location via WICs sourceparams initrd argument >> doesn't generate the initrd location properly. >> >> This fixes that and furthermore cleans up some related redundant >> assignments to kernel variable as they do not impact the final value. >> >> Signed-off-by: Peter Czegledy <peter.czegledy@evosoft.com> >> --- >> .../lib/wic/plugins/source/bootimg-efi-isar.py | 16 ++++------------ >> 1 file changed, 4 insertions(+), 12 deletions(-) >> >> diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py >> b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py >> index 50f4187d..243824ae 100644 >> --- a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py >> +++ b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py >> @@ -97,20 +97,18 @@ class BootimgEFIPlugin(SourcePlugin): >> grubefi_conf += "timeout=%s\n" % bootloader.timeout >> grubefi_conf += "menuentry '%s'{\n" % (title if title >> else "boot") >> - kernel = get_bitbake_var("KERNEL_IMAGETYPE") >> - if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": >> - if get_bitbake_var("INITRAMFS_IMAGE"): >> - kernel = "%s-%s.bin" % \ >> - (get_bitbake_var("KERNEL_IMAGETYPE"), >> get_bitbake_var("INITRAMFS_LINK_NAME")) >> - > > This is a recipe fork from open-embedded and we intentionally try to > keep the changes a small as possible to allow merging. > > Quirin I think this would be worth a comment section? I also missed the fact that this is a OE fork. Benedikt > >> label = source_params.get('label') >> label_conf = "root=%s" % creator.rootdev >> if label: >> label_conf = "LABEL=%s" % label >> + temp_initrd = initrd >> kernel, initrd = isar_get_filenames( >> get_bitbake_var("IMAGE_ROOTFS"), >> get_bitbake_var("KERNEL_FILE") >> ) >> + if temp_initrd: >> + initrd = temp_initrd >> + >> grubefi_conf += "linux /%s %s rootwait %s\n" \ >> % (kernel, label_conf, bootloader.append) >> @@ -179,12 +177,6 @@ class BootimgEFIPlugin(SourcePlugin): >> if not custom_cfg: >> # Create systemd-boot configuration using parameters >> from wks file >> - kernel = get_bitbake_var("KERNEL_IMAGETYPE") >> - if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": >> - if get_bitbake_var("INITRAMFS_IMAGE"): >> - kernel = "%s-%s.bin" % \ >> - (get_bitbake_var("KERNEL_IMAGETYPE"), >> get_bitbake_var("INITRAMFS_LINK_NAME")) >> - >> title = source_params.get('title') >> temp_initrd = initrd >
diff --git a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py index 50f4187d..243824ae 100644 --- a/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py +++ b/meta/scripts/lib/wic/plugins/source/bootimg-efi-isar.py @@ -97,20 +97,18 @@ class BootimgEFIPlugin(SourcePlugin): grubefi_conf += "timeout=%s\n" % bootloader.timeout grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot") - kernel = get_bitbake_var("KERNEL_IMAGETYPE") - if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": - if get_bitbake_var("INITRAMFS_IMAGE"): - kernel = "%s-%s.bin" % \ - (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) - label = source_params.get('label') label_conf = "root=%s" % creator.rootdev if label: label_conf = "LABEL=%s" % label + temp_initrd = initrd kernel, initrd = isar_get_filenames( get_bitbake_var("IMAGE_ROOTFS"), get_bitbake_var("KERNEL_FILE") ) + if temp_initrd: + initrd = temp_initrd + grubefi_conf += "linux /%s %s rootwait %s\n" \ % (kernel, label_conf, bootloader.append) @@ -179,12 +177,6 @@ class BootimgEFIPlugin(SourcePlugin): if not custom_cfg: # Create systemd-boot configuration using parameters from wks file - kernel = get_bitbake_var("KERNEL_IMAGETYPE") - if get_bitbake_var("INITRAMFS_IMAGE_BUNDLE") == "1": - if get_bitbake_var("INITRAMFS_IMAGE"): - kernel = "%s-%s.bin" % \ - (get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME")) - title = source_params.get('title') temp_initrd = initrd