Bug 209275

Summary: Cannot utilize both serial and efi console with UEFI booting
Product: Base System Reporter: jbw
Component: kernAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me CC: amd64, eadler, grahamperrin, jlduran, lwhsu, meyer.sydney, ncrogers, smh
Priority: --- Keywords: uefi
Version: 10.3-RELEASE   
Hardware: amd64   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213467

Description jbw 2016-05-05 02:36:52 UTC
I cannot get dual consoles for boot running in FreeBSD 10.3-RELEASE using the UEFI boot.

When my settings are:

/boot.config:
     -D -S115200

/boot/loader.conf:
     boot_multicons="YES"
     boot_serial="YES"
     comconsole_speed="115200"
     console="comconsole,efi"
     geli_ada0p4_keyfile0_load="YES"
     geli_ada0p4_keyfile0_type="ada0p4:geli_keyfile0"
     geli_ada0p4_keyfile0_name="/boot/encryption.key"
     aesni_load="YES"
     geom_eli_load="YES"
     geom_eli_passphrase_prompt="YES"
     vfs.root.mountfrom="zfs:zroot/ROOT/default"
     kern.geom.label.gptid.enable="0"
     zpool_cache_load="YES"
     zpool_cache_type="/boot/zfs/zpool.cache"
     zpool_cache_name="/boot/zfs/zpool.cache"
     zfs_load="YES"

GELI passphrase shows in both consoles, but only accepts input from keyboard (at least only the enter key.  It seems as if it might get some sort of other input from the serial console since the passphrase isn't correct when mounting occurs, and I have to enter it again from they keyboard OR serial console at this phase).  Beastie menu shows on both, but doesn't have the auto-timeout for boot, and only accepts input from keyboard.  Login works from both consoles.


When my settings are the same above except for the line

"console=comconsole" instead of "console=comconsole,efi"

All console output/input works fine from the serial port, but nothing appears on the monitor until actual OS starts to boot. Autoboot from the beastie menu works fine in this mode, but GELI passphrase and beastie menu don't appear on the monitor.


When my settings are the same above except for the line

"console=comconsole, vidconsole" instead of "console=comconsole,efi" (like before the efi booting)

I get "console vidconsole is invalid!" and everything else is the same as if I just had the comconsole as above.
Comment 1 Steven Hartland freebsd_committer 2016-05-05 08:56:51 UTC
The following works for us here:
# SOL console
boot_multicons="YES"
boot_serial="YES"
console="comconsole,efi"
comconsole_speed="115200"
hint.uart.0.flags="0x00"
hint.uart.1.flags="0x30"
Comment 2 Li-Wen Hsu freebsd_committer 2021-07-31 22:45:23 UTC
This should be fixed, I've tested 13.0 with following settings:

boot_multicons="YES"
boot_serial="YES"
console="comconsole efi"
comconsole_speed="115200"