[Top][All Lists]

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

Re: Grub2 UEFI boot and serial console output

From: Andrei Borzenkov
Subject: Re: Grub2 UEFI boot and serial console output
Date: Fri, 13 Jan 2017 16:44:18 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1

13.01.2017 12:03, Matwey V. Kornilov пишет:
> 2017-01-11 20:16 GMT+03:00 Andrei Borzenkov <address@hidden>:
>> 11.01.2017 19:55, Matwey V. Kornilov пишет:
>>> 2017-01-11 19:45 GMT+03:00 Andrei Borzenkov <address@hidden>:
>>>> 11.01.2017 16:27, Matwey V. Kornilov пишет:
>>>>> Hello,
>>>>> What is the proper way to output GRUB2 menu to serial rs232 console when
>>>>> UEFI boot is used? I've copy-pasted GRUB_SERIAL_COMMAND="serial --unit=0
>>>>> --speed=115200" from Google because I didn't find anything else. It
>>>>> doesn't work.
>>>>> Now, reading grub sources, I see that the proper way should probably be
>>>>> something like GRUB_SERIAL_COMMAND="serial efi0".
>>>> This is platform dependent. --unit=0 refers to COM1 on PC BIOS platform.
>>>> On EFI grub is using EFI Serial I/O Protocol and enumerates all handles
>>>> with this protocol using efiXX names. Then there is USB serial driver,
>>>> ARC and IEEE1275 where names are provided by firmware etc.
>>> I just can't understand, term/serial.c: grub_cmd_serial() sets name to
>>> "com%ld" using --unit=value on any platform.
>>>   if (state[OPTION_UNIT].set)
>>>     {
>>>       grub_snprintf (pname, sizeof (pname), "com%ld",
>>>                      grub_strtoul (state[0].arg, 0, 0));
>>>       name = pname;
>>>    }
>>> Then this "com0" is put to grub_serial_find(name) call. The question
>>> is how this is going to match with "efi0"?
>> It is not.
>>> Please correct me, if I am wrong.
>> Again - "--unit=0" is simply alias for "com0". Whether device with name
>> "com0" actually exists depends on platform and loaded drivers.
>> This alias makes no sense on platform that does not include ns8250
>> driver that provides access to device with name "com0". You can check
>> grub-core/Makefile.core.def which platforms include this driver.
>> So on EFI you are not going to use --unit=0 (or you need to add some
>> platform-dependent magic to translate --unit=0 into platform device).
>> And yes, this could use better documentation, both for "serial" command
>> and "Serial terminal" section.
> Thank you.
> "serial --speed=115200 efi0" also doesn't work.

Please define "does not work". What you expect it to do and how you
verify it?

> It seems that there is no Serial IO protocol in my Insyde UEFI.

What is output of "terminal_input" and "terminal_output"?

reply via email to

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