efi_loader: log messages for bootefi command
Write log messages when booting via the bootefi command to allow tracking
on the syslog server. Example messages are
Booting /snp.efi
or
Booting /MemoryMapped(0x0,0x4fe00000,0x35a40)
Loading image failed
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
diff --git a/cmd/bootefi.c b/cmd/bootefi.c
index 06563d2..40d5ef2 100644
--- a/cmd/bootefi.c
+++ b/cmd/bootefi.c
@@ -433,7 +433,9 @@
{
efi_handle_t mem_handle = NULL, handle;
struct efi_device_path *file_path = NULL;
+ struct efi_device_path *msg_path;
efi_status_t ret;
+ u16 *load_options;
if (!bootefi_device_path || !bootefi_image_path) {
/*
@@ -456,17 +458,21 @@
file_path);
if (ret != EFI_SUCCESS)
goto out;
+ msg_path = file_path;
} else {
file_path = efi_dp_append(bootefi_device_path,
bootefi_image_path);
+ msg_path = bootefi_image_path;
}
+ log_info("Booting %pD\n", msg_path);
+
ret = EFI_CALL(efi_load_image(false, efi_root, file_path, source_buffer,
source_size, &handle));
- if (ret != EFI_SUCCESS)
+ if (ret != EFI_SUCCESS) {
+ log_err("Loading image failed\n");
goto out;
-
- u16 *load_options;
+ }
/* Transfer environment variable as load options */
ret = efi_env_set_load_options(handle, "bootargs", &load_options);