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 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 > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel >