fatload command can be used to load the EFI payload since EFI system partition is always a FAT partition. Call into EFI code from do_fat_fsload() to set the device path from which the last binary was loaded. An EFI application like grub2 can’t find its configuration file without the device path set.
load command (do_load_wrapper()) already calls efi_set_bootdev(). There is no need to move the call to do_load() as EFI system partition is always a FAT partition. Signed-off-by: Mian Yousaf Kaukab <ykau...@suse.de> --- cmd/fat.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cmd/fat.c b/cmd/fat.c index 4b9a7eaab0..04e2055275 100644 --- a/cmd/fat.c +++ b/cmd/fat.c @@ -17,6 +17,7 @@ #include <part.h> #include <fat.h> #include <fs.h> +#include <efi_loader.h> int do_fat_size(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { @@ -33,6 +34,10 @@ U_BOOT_CMD( int do_fat_fsload (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { +#ifdef CONFIG_CMD_BOOTEFI + efi_set_bootdev(argv[1], (argc > 2) ? argv[2] : "", + (argc > 4) ? argv[4] : ""); +#endif return do_load(cmdtp, flag, argc, argv, FS_TYPE_FAT); } -- 2.11.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot