Re: 14.1 hosts booting off EFI: boot menu appears but cannot interact

From: Jon Clausen <freebsd-questions_at_ymmv.dk>
Date: Thu, 05 Dec 2024 08:10:39 UTC
On 2024-12-04 14:42:22 (-0500), Dan Langille wrote:
> We have multiple FreeBSD 14.1 hosts booting off EFI partitions on Cisco hosts (UCS C240 M7SX).
> 
> We are accessing the hosts via the KVM provided by the CIMC (Cisco Integrated Management Controller) of the host (I'd call that IPMI). We are running the latest CIMC firmware.
> 
> We are unable to get into single user mode because the keyboard is ignored during the splash screen countdown.

I have seen lots of issues with "keyboard through a browser, sent to some
BMC" - usually just character set mismatches etc. Annoying and sometimes
rendering the situation unworkable.

This sounds really annoying *and* unworkable.

> Once the boot process completes, the keyboard access is as expected.
> 
> We have tried console="comconsole,efi" in /boot/loader.conf - no help

It might be possible to get the keystrokes sent all the way through to the
loader, with some combination of settings, but this seems like a better
option anyway;

> We can ssh into the CIMC.

I have no experience with Cisco servers, and I can tell from some searches
online, that the BMC "shell" is different from what I know from Lenovo,
Supermicro and others (called SMASH)

But the concept is essentially the same:

SSH to the BMC, and from that: start a serial connection to the console of
the operating system.

The benefit of this is that one circumvents all of the java/html5 madness
with layers upon layers of browsers and stuff.

This means a "real" serial connection, and because this happens through an
ssh connection in a terminal, there is now copy/paste too.

> When reviewing the Cisco documentation, we don't see any configuration items related to screen interaction / mouse / USB.

I think you have been looking in a "wrong" direction.

I found this, and I think the sections "configuring serial over LAN" and
"launching serial over LAN" could be pretty much exactly what you need:

https://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/c/sw/cli/config/guide/b_Cisco_CIMC_CLI_Configuration_Guide.pdf

(I'm not sure this applies to your hardware though)

Of course this requires the FreeBSD system, including the loader, to be set
up for serial access. I'll not embaress myself with any advice in that regard
right now. But it is well documented and should be simple enough.

> In short, if we don't pause the server during, we don't get any keyboard interaction.

I think using the "ssh to bmc, start serial from there" really should be a
working alternative...

br
/jon