
29 Sep
2023
29 Sep
'23
2:35 p.m.
Hi Ilias,
On Fri, 29 Sept 2023 at 20:48, Ilias Apalodimas ilias.apalodimas@linaro.org wrote:
Hi Kojima-san,
[...]
+/**
- try_load_default_file() - try to load the default file
- Search the device having EFI_SIMPLE_FILE_SYSTEM_PROTOCOL,
- then try to load with the default boot file(e.g. EFI/BOOT/BOOTAA64.EFI).
- @dev pointer to the UCLASS_BLK or UCLASS_PARTITION udevice
- @image_handle: pointer to handle for newly installed image
- Return: status code
- */
+static efi_status_t try_load_default_file(struct udevice *dev,
efi_handle_t *image_handle)
+{
efi_status_t ret;
efi_handle_t handle;
struct efi_handler *handler;
struct efi_device_path *file_path;
struct efi_device_path *device_path;
if (dev_tag_get_ptr(dev, DM_TAG_EFI, (void **)&handle)) {
log_warning("DM_TAG_EFI not found\n");
return EFI_INVALID_PARAMETER;
}
ret = efi_search_protocol(handle,
&efi_simple_file_system_protocol_guid, &handler);
if (ret != EFI_SUCCESS)
return ret;
ret = EFI_CALL(bs->open_protocol(handle, &efi_guid_device_path,
(void **)&device_path, efi_root, NULL,
EFI_OPEN_PROTOCOL_GET_PROTOCOL));
if (ret != EFI_SUCCESS)
return ret;
file_path = expand_media_path(device_path);
ret = EFI_CALL(efi_load_image(true, efi_root, file_path, NULL, 0,
image_handle));
efi_free_pool(file_path);
return ret;
+}
We've discussed this on v4, but I am replying here, since you sent a v5 in the meantime. What I ideally wanted to do here is
- Add the boot option automatically once the disk gets mount (you've
already sent a patch for that)
- Since the boot option is automatically added we could instead of searching for BOOTAA64.EFI search for matches with a load option of '1234567'.
Is there some timing issue that I am missing which doesnt allow us to do that ?
Sorry, I probably misunderstood your design. What kind of boot option is automatically added when the disk is detected? Could you share your thoughts about the trigger to search for matches with a load option of '1234567'?
Thanks, Masahisa Kojima
[...]
Cheers /Ilias