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: Ignat Korchagin
Subject: Re: Grub get and set efi variables
Date: Fri, 27 Nov 2015 14:25:04 +0000

> I would add:
> * hex. To print and store in hex form
> * utf16. Decode utf16 into utf8. utf16 is a common encoding in EFI land.

hex is already part of the latest proposed patch:
>> +    case EFI_VAR_HEX:

I'm not sure whether utf16 will be useful, as all standard UEFI
variables now are using ASCII for string data.

On Fri, Nov 27, 2015 at 2:07 PM, Vladimir 'φ-coder/phcoder' Serbinenko
<address@hidden> wrote:
> On 14.11.2015 05:03, 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.
>>
> I would add:
> * hex. To print and store in hex form
> * utf16. Decode utf16 into utf8. utf16 is a common encoding in EFI land.
> I would also skip on raw, at least until we have a real need for it as
> we currently are not equiped to handle raw strings in variable contents,
> including but not limited to \0 being considered a terminator
>> 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]