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: Mat Troi
Subject: Re: Grub get and set efi variables
Date: Tue, 24 Nov 2015 11:23:33 -0800

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


reply via email to

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