Enhances the process for identifying disk images within the EFI boot manager. Utilize part_driver_lookup_type() to verify the validity of a downloaded file as a disk image, rather than depending on file extensions.
part_driver_lookup_type() is now used in the prepare_loaded_image() function in the EFI boot manager to detect partitions on a block device created from a downloaded image. This allows the boot manager to boot from any disk image that can be recognized by a partition driver, not just ISO and IMG images. Update prepare_loaded_image() to create the ramdisk block device internally, obtain the blk_desc and use part_driver_lookup_type() to detect a valid partition table. In try_load_from_uri_path(), try prepare_loaded_image() first to detect disk images, and fall back to PE-COFF detection only if that fails. Include part.h in the EFI loader and export part_driver_lookup_type and add its prototype and documentation in include/part.h. This makes the partition-driver lookup available to other code paths that need to detect partition tables on a block descriptor. --- Changes in v7: - Fix U-Boot CI build error. Passing CI: https://github.com/u-boot/u-boot/pull/816 - Remove duplicate kerneldocs from part_driver_lookup_type, as it's included in part.h - v6 link: https://lore.kernel.org/u-boot/[email protected]/ - v5 link: https://lore.kernel.org/u-boot/[email protected]/ - v4 link: https://lore.kernel.org/u-boot/[email protected]/ - v3 link: https://lore.kernel.org/u-boot/[email protected]/ - v2 link: https://lore.kernel.org/u-boot/[email protected]/ - v1 link: https://lore.kernel.org/u-boot/[email protected]/ Javier Tia (2): part: Export part_driver_lookup_type for external use efi_loader: Improve disk image detection in efi_bootmgr disk/part.c | 18 +------------ include/part.h | 21 +++++++++++++++ lib/efi_loader/efi_bootmgr.c | 51 +++++++++++++++++++++++++----------- 3 files changed, 58 insertions(+), 32 deletions(-) -- 2.51.0

