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 <mattrois...@gmail.com> 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 <arvidj...@gmail.com> 
>> 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
> 
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to