grub-devel
[Top][All Lists]
Advanced

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

Re: Grub get and set efi variables


From: Seth Goldberg
Subject: Re: Grub get and set efi variables
Date: Tue, 24 Nov 2015 12:48:28 -0800

That sounds like a firmware implementation bug, unfortunately.  I've seen it be hit or miss setting boot service only variables on some platforms.  

   --S

On Nov 24, 2015, at 11:23 AM, Mat Troi <address@hidden> wrote:

For a specific project implementation, I need to be able to write and read one EFI variable during boot only.  So I have written a grub command to do just that.  But the issue is with setting these attributes to the variable (GRUB_EFI_VARIABLE_NON_VOLATILE, GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS), I am not able to modify it during boot on some platform.  Since this is so specific, I am wondering if anyone has seen similar issue?

On Fri, Nov 13, 2015 at 8:03 PM, Andrei Borzenkov <address@hidden> wrote:
13.11.2015 22:42, Ignat Korchagin пишет:
+static enum efi_var_type
+parse_efi_var_type (const char *type)
+{
+  if (!grub_strncmp (type, "string", sizeof("string")))
+    return EFI_VAR_STRING;
+


I think this should be "ascii" or "utf8". "string" is too ambiguous in UEFI
environment, it can also mean sequence of UCS-2 characters.
I'm still not sure how exactly GRUB + UEFI interprets "raw buffers"
when printing. Maybe, to avoid confusion, it might be better to
completely remove this option. Basically, you do not want to interpret
raw buffers as strings. For best compatibility "hex" mode should be
promoted, I guess. What do you think?
Checked again the UEFI spec. For globally defined variables which are
strings they specify ASCII. So if we leave this option, ascii is the
best name.


What about

  - ascii - print ASCII characters verbatim, escape non-ASCII in usual way (similar to "od -c")

  - raw - simply put raw variable without any interpretation.

This is better aligned with argument describing output formatting rather than attempting to "type" variable.

Alternative (or in addition to) ascii - dump which prints usual pretty hex dump of content (hexdump -C). This is handy to interactively look at variable content.

Or, and change name from --type to --format :)


_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel

_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel

reply via email to

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