grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 5/5] Don't display a uefi-firmware entry if it's not suppo


From: Glenn Washburn
Subject: Re: [PATCH v4 5/5] Don't display a uefi-firmware entry if it's not supported
Date: Fri, 19 Aug 2022 17:26:19 -0500

On Thu, 18 Aug 2022 13:50:13 -0400
Robbie Harwood <rharwood@redhat.com> wrote:

> Add a new --is-supported option to commands/efi/efifwsetup and
> conditionalize display on it.
> 
> Signed-off-by: Robbie Harwood <rharwood@redhat.com>
> ---
>  grub-core/commands/efi/efifwsetup.c | 3 +++
>  util/grub.d/30_uefi-firmware.in     | 2 +-
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/grub-core/commands/efi/efifwsetup.c 
> b/grub-core/commands/efi/efifwsetup.c
> index cb4b6ff18c..53d23deea7 100644
> --- a/grub-core/commands/efi/efifwsetup.c
> +++ b/grub-core/commands/efi/efifwsetup.c
> @@ -40,6 +40,9 @@ grub_cmd_fwsetup (grub_command_t cmd __attribute__ 
> ((unused)),
>    grub_size_t oi_size;
>    static grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
>  
> +  if (argc >= 1 && grub_strcmp(args[0], "--is-supported") == 0)
> +    return !efifwsetup_is_supported ();
> +
>    if (!efifwsetup_is_supported ())
>         return grub_error (GRUB_ERR_INVALID_COMMAND,
>                            N_("reboot to firmware setup is not supported by 
> the current firmware"));
> diff --git a/util/grub.d/30_uefi-firmware.in b/util/grub.d/30_uefi-firmware.in
> index b6041b55e2..78aef67d78 100644
> --- a/util/grub.d/30_uefi-firmware.in
> +++ b/util/grub.d/30_uefi-firmware.in
> @@ -31,7 +31,7 @@ LABEL="UEFI Firmware Settings"
>  gettext_printf "Adding boot menu entry for UEFI Firmware Settings ...\n" >&2
>  
>  cat << EOF
> -if [ "\$grub_platform" = "efi" ]; then
> +if [ "\$grub_platform" = "efi" ] && fwsetup --is-supported; then

I don't believe that grub currently supported the && syntax. I just
tested and I'm getting syntax errors.

Untested, but I believe the following should work:

  fwsetup --is-supported
  if [ "\$grub_platform" = "efi" -a "\$?" = "0" ]; then

Glenn

>       menuentry '$LABEL' \$menuentry_id_option 'uefi-firmware' {
>               fwsetup
>       }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]