Re: Loading splash ok -> <reset>, how to debug?

From: Mark Millard <marklmi_at_yahoo.com>
Date: Mon, 09 Jun 2025 02:00:49 UTC
Bjoern A. Zeeb <bzeeb-lists_at_lists.zabbadoz.net> wrote on
Date: Mon, 09 Jun 2025 01:29:50 UTC :

> . . .
> 
> I turned beastie back on and by default it thinks it's booting using
> video; when I toggle through to serial it seems to boot; now that
> might be the accidental "working now".
> 
> Where does that menu get it's values from compared to the console
> variable?
> 
> Not toggling the menu I see:
> console=efi,comconsole

Despite the lack of updated to the various man loader* pages,
comconsole was removed/replaced with eficom in (2023):

Commit message (Expand) Author Age Files Lines
* stand: libefi: avoid a null pointer deref in eficom Kyle Evans 2023-05-28 1 -2/+2
* stand/efi/eficom: Free comc_port if we can't find the serial port Warner Losh 2023-05-25 1 -0/+10
* stand/efi/eficom: Make aarch64 compat code probe correctly Warner Losh 2023-05-25 1 -2/+5
* stand/efi/eficom: Don't allow this for !HYPERV machines Warner Losh 2023-05-25 1 -0/+17
* stand/efi/eficom: better handling of absent device Warner Losh 2023-05-25 1 -5/+16
* stand: eficom: Only set baudrate when it changes Warner Losh 2023-05-11 1 -17/+22
* stand: eficom: Don't preemtively assume flow control Warner Losh 2023-05-11 1 -9/+5
* stand: eficom : remove unused ignore_cd Warner Losh 2023-05-11 1 -2/+0
* stand: Move eficom to libefi Warner Losh 2023-05-11 6 -6/+1
* stand: efi create eficom console device. Warner Losh 2023-05-11 3 -72/+39

14.0-RELEASE had those changes. stable/13 does not.

The out of date references for 14.0+ include:

# man -K comconsole
/usr/share/man/man8/loader.8.gz:     console variable, or set it to serial console (“comconsole”) if the
/usr/share/man/man8/loader.efi.8.gz:     work) and “comconsole” for the serial on COM1 at the default baud rate.
/usr/share/man/man8/loader.efi.8.gz:     “comconsole”.  The default port is COM1 with an I/O address of 0x3f8.
/usr/share/man/man8/loader.efi.8.gz:     comconsole_port is used to set this to a different port address.
/usr/share/man/man8/loader.efi.8.gz:     comconsole_speed is used to set the of the serial port (the default is
/usr/share/man/man8/loader.efi.8.gz:     9600).  If you have console set to “efi,comconsole” you will get output
/usr/share/man/man8/loader_4th.8.gz:     console variable, or set it to serial console (“comconsole”) if the
/usr/share/man/man8/loader_lua.8.gz:     console variable, or sets it to serial console (“comconsole”) if the
/usr/share/man/man8/loader_simp.8.gz:     console variable, or set it to serial console (“comconsole”) if the
/usr/share/man/man5/loader.conf.5.gz:           console   (“vidconsole”) “comconsole” selects serial console,


It is not clear to me the console efi vs. eficom
ordering relationship vs. the boot_serial YES/NO
status or if mixing them should be avoided:

boot_multicons="YES"
boot_serial="NO"
console="eficom,efi"

In one, possibly odd, context this seemed to be
the only combination that got a working video
primary status. Using:

console="efi,eficom"

actually reported the eficom failed (notice was
way over on the right). This suggests that the
two notations are not independent in my test
context.


Note: I normally use a serial console (and ssh)
with no video cable involved. But I'm using
in-development EDK2 materials where serial is
not well behaved as stands. (No clue which parts
of EDK2/FreeBSD-loader/FreeBSD-kernel to blame.)
So I've been experimenting, reporting anything
that seemed odd in the overall behavior. My
guess from what I've seen is that there may be
more than one problem overall in what I'm
testing.


> efi-version=2.110
> efi_max_resolution=1x1
> 
> Hmm toggling it sets:
> boot_serial=YES
> 
> I'll leave that in laoder.conf for now and see tomorrow. We are getting
> too complicated with too many knobs these days. I know why I love the
> forth loader. You write a 7 line loader.rc and you are done and know
> what you have...





===
Mark Millard
marklmi at yahoo.com