]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
wic bootimg-efi.py: fail build if no binaries installed
authorMikko Rapeli <mikko.rapeli@linaro.org>
Fri, 30 May 2025 11:37:41 +0000 (14:37 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 2 Jun 2025 21:17:21 +0000 (22:17 +0100)
With systemd-boot, some builds included correct EFI
bootloader binaries and some not. Thus some builds
booted and some not. Check that some boot binary
was installed so that build fails if none were installed.

Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/lib/wic/plugins/source/bootimg-efi.py

index 96c710bf77add4fed54ee6c0fd6340a46f47b63e..38da5080fb479605637bfeffb39533f90c048483 100644 (file)
@@ -367,6 +367,13 @@ class BootimgEFIPlugin(SourcePlugin):
             else:
                 raise WicError("unrecognized bootimg-efi loader: %s" %
                                source_params['loader'])
+
+            # must have installed at least one EFI bootloader
+            out = glob(os.path.join(hdddir, 'EFI', 'BOOT', 'boot*.efi'))
+            logger.debug("Installed EFI loader files:\n%s" % out)
+            if not out:
+                raise WicError("No EFI loaders installed to ESP partition. Check that grub-efi, systemd-boot or similar is installed.")
+
         except KeyError:
             raise WicError("bootimg-efi requires a loader, none specified")