From 9c4a6c131962fd5c5553e83bfc83a4c8ceec0211 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 22 Jun 2018 19:33:42 +0200 Subject: [PATCH] bootspec: access EFI variables on on EFI boots --- src/shared/bootspec.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/shared/bootspec.c b/src/shared/bootspec.c index ed4cd20bc86..445cc378ff5 100644 --- a/src/shared/bootspec.c +++ b/src/shared/bootspec.c @@ -377,13 +377,15 @@ int boot_entries_load_config(const char *esp_path, BootConfig *config) { if (r < 0) return log_error_errno(r, "Failed to uniquify boot entries: %m"); - r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryOneShot", &config->entry_oneshot); - if (r < 0 && r != -ENOENT) - return log_error_errno(r, "Failed to read EFI var \"LoaderEntryOneShot\": %m"); - - r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryDefault", &config->entry_default); - if (r < 0 && r != -ENOENT) - return log_error_errno(r, "Failed to read EFI var \"LoaderEntryDefault\": %m"); + if (is_efi_boot()) { + r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryOneShot", &config->entry_oneshot); + if (r < 0 && r != -ENOENT) + return log_error_errno(r, "Failed to read EFI var \"LoaderEntryOneShot\": %m"); + + r = efi_get_variable_string(EFI_VENDOR_LOADER, "LoaderEntryDefault", &config->entry_default); + if (r < 0 && r != -ENOENT) + return log_error_errno(r, "Failed to read EFI var \"LoaderEntryDefault\": %m"); + } config->default_entry = boot_entries_select_default(config); return 0; -- 2.47.3