Date
1 - 2 of 2
UEFI shell output to console
Konstantin Aladyshev
Hello!
The UEFI firmware on my motherboard has an option "Console
Redirection". When it is enabled, the BIOS menu can be redirected to
the serial port that is connected to the BMC controller on the board.
Basically that means that with the help of the Serial-over-LAN IPMI
feature it is possible to see the BIOS menu over LAN.
Initially I thought that this is purely a BIOS menu feature, but I've
noticed that if I boot to the UEFI shell all its output would be
redirected as well, and moreover wrapped to 80x24 IPMI terminal
nicely. But if I boot to the GRUB menu, nothing would be printed.
What can be the reason for such different behaviour? What protocols
UEFI shell uses when it prints characters to the screen?
Best regards,
Konstantin Aladyshev
The UEFI firmware on my motherboard has an option "Console
Redirection". When it is enabled, the BIOS menu can be redirected to
the serial port that is connected to the BMC controller on the board.
Basically that means that with the help of the Serial-over-LAN IPMI
feature it is possible to see the BIOS menu over LAN.
Initially I thought that this is purely a BIOS menu feature, but I've
noticed that if I boot to the UEFI shell all its output would be
redirected as well, and moreover wrapped to 80x24 IPMI terminal
nicely. But if I boot to the GRUB menu, nothing would be printed.
What can be the reason for such different behaviour? What protocols
UEFI shell uses when it prints characters to the screen?
Best regards,
Konstantin Aladyshev
Andrew Fish
Konstantin,
There is a virtual console device called the ConSplitter that aggregates physical console. You can dump out the Console Output devices in the UEFI Shell via `dh -p SimpleTextOut`. The handles that have a DevicePath are the physical console devices, and the ones without are part of the Conspliter. The Console published by UEFI is the ConSpliter handle.
If Grub is not working that that would imply Grub is not doing it the UEFI way, but the Grub way. Maybe Grub is drawing directly to the graphics screen? Or maybe Grub pick a physical console to use. I’d investigate this from the Grub config point of view.
Thanks,
Andrew Fish
toggle quoted message
Show quoted text
There is a virtual console device called the ConSplitter that aggregates physical console. You can dump out the Console Output devices in the UEFI Shell via `dh -p SimpleTextOut`. The handles that have a DevicePath are the physical console devices, and the ones without are part of the Conspliter. The Console published by UEFI is the ConSpliter handle.
If Grub is not working that that would imply Grub is not doing it the UEFI way, but the Grub way. Maybe Grub is drawing directly to the graphics screen? Or maybe Grub pick a physical console to use. I’d investigate this from the Grub config point of view.
Thanks,
Andrew Fish
On Feb 6, 2022, at 2:51 AM, Konstantin Aladyshev <aladyshev22@...> wrote:
Hello!
The UEFI firmware on my motherboard has an option "Console
Redirection". When it is enabled, the BIOS menu can be redirected to
the serial port that is connected to the BMC controller on the board.
Basically that means that with the help of the Serial-over-LAN IPMI
feature it is possible to see the BIOS menu over LAN.
Initially I thought that this is purely a BIOS menu feature, but I've
noticed that if I boot to the UEFI shell all its output would be
redirected as well, and moreover wrapped to 80x24 IPMI terminal
nicely. But if I boot to the GRUB menu, nothing would be printed.
What can be the reason for such different behaviour? What protocols
UEFI shell uses when it prints characters to the screen?
Best regards,
Konstantin Aladyshev