different console settings for loader[.efi] and kernel

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Tue, 16 Aug 2022 06:51:55 UTC
It seems that console variable in loader.conf affects both the OS/kernel 
and the loader itself.  Is there a way to have different console 
settings between those?

Let me explain.  I have a system that I access in several different 
ways: via its physical serial console, via IPMI / iKVM, and sometimes 
via its physical video console.
console is set to "comconsole, efi".
The system uses EFI boot.
The BIOS is configured to "redirect" video console to serial and to stop 
the redirection once an OS starts.

The setup works fine before the loader (e.g., for entering BIOS 
settings) and it works fine once the kernel starts.
But while in the loader, every character printed gets doubled on the 
serial console.  I guess that this is because the loader prints it to 
both the serial output and the EFI output while the BIOS still redirects 
the EFI output to the serial.

I would like to solve that double printing while keeping both the serial 
console and the video / EFI console usable.
So, one way would be for the loader to use only the EFI console and let 
the BIOS redirect take care of the serial.
I guess that another way would be for the loader to announce itself as 
an "OS" (whatever that technically means), so that the BIOS stops its 
redirection.

Thank you.
-- 
Andriy Gapon


https://standforukraine.com
https://razomforukraine.org