[PATCH] efi_loader: Add support for .wic files in URI boot path
Javier Tia
javier.tia at linaro.org
Fri Jul 25 19:35:33 CEST 2025
Together with current '.iso' and '.img', the try_load_from_uri_path
function now allows files with the '.wic' extension as viable bootable
images.
Very frequent in the Yocto project, the WIC files are disk image files,
which should be handled similarly to other disk images: mounted as RAM
disks and subsequently searched for the EFI boot file.
This improvement enables the EFI boot manager of U-Boot to boot from WIC
images downloaded via HTTP, therefore extending the supported image
formats for network-based booting situations.
Signed-off-by: Javier Tia <javier.tia at linaro.org>
---
lib/efi_loader/efi_bootmgr.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/efi_loader/efi_bootmgr.c b/lib/efi_loader/efi_bootmgr.c
index 662993fb809..587efee3169 100644
--- a/lib/efi_loader/efi_bootmgr.c
+++ b/lib/efi_loader/efi_bootmgr.c
@@ -407,7 +407,7 @@ static efi_status_t efi_bootmgr_release_uridp(struct uridp_context *ctx)
if (!ctx)
return ret;
- /* cleanup for iso or img image */
+ /* cleanup for iso, img, or wic image */
if (ctx->ramdisk_blk_dev) {
ret = efi_add_memory_map(ctx->image_addr, ctx->image_size,
EFI_CONVENTIONAL_MEMORY);
@@ -516,13 +516,14 @@ static efi_status_t try_load_from_uri_path(struct efi_device_path_uri *uridp,
image_size = ALIGN(image_size, SZ_2M);
/*
- * If the file extension is ".iso" or ".img", mount it and try to load
+ * If the file extension is ".iso", ".img", or ".wic", mount it and try to load
* the default file.
* If the file is PE-COFF image, load the downloaded file.
*/
uri_len = strlen(uridp->uri);
if (!strncmp(&uridp->uri[uri_len - 4], ".iso", 4) ||
- !strncmp(&uridp->uri[uri_len - 4], ".img", 4)) {
+ !strncmp(&uridp->uri[uri_len - 4], ".img", 4) ||
+ !strncmp(&uridp->uri[uri_len - 4], ".wic", 4)) {
ret = prepare_loaded_image(lo_label, image_addr, image_size,
&loaded_dp, &blk);
if (ret != EFI_SUCCESS)
--
2.50.1
More information about the U-Boot
mailing list