Serial console on UEFI Minnowboard (AKA MBT-4220)
I have recently run into the issue that I was unable to select single user boot on my home pfsense box running on the quad minnowboard turbot, aka Netgate's MBT-4220. My loader.conf has
which does not work for UEFI setups. I manually changed it to to efi and was able to select options in the pfsense beastie menu using my a console using minnowboard's headers.
When is this file re-generated? I noticed it being present in some pfsense code on github but I'm not sure what would be the best approach. Make this a conditional on "MBT-4220" model (I noticed some extra loader.conf entries based on a specific model) or attempt it to make it more generic as all UEFI systems?
You should not need to do that. If you have serial console enabled and Primary console set to VGA in System > Advanced > Admin Access you should be able to access the command line from single user mode at the serial console. Just tested in 2.4.4. The generated loader.conf from those settings is:
kern.cam.boot_delay=10000 boot_multicons="YES" boot_serial="YES" console="vidconsole,comconsole" comconsole_speed="115200" autoboot_delay="3" hw.usb.no_pf="1"
I shouldn't but this is what I found out I have to in order to be able to use the menu. Serial console works well after the system is up and running, but not the beastie/pfsense menu. I wish it had worked, otherwise I wouldn't have spent hours the other day when pfsense ended up in a loop of kernel panics and reboots...
This only seems to happen on these UEFI boards. I see this on boot:
SLoading /boot/defaults/loader.conf c /console vidconsole is invalid! \Available consoles: A efi comconsole nullconsole spinconsole /
This issue has been reported and fixed elsewhere, see this FreeNAS fix.
Hmm, that's interesting. Do you have the i915 driver loaded to allow HDMI hotplug?
That's the only difference I have. Otherwise the serial console works here no problem. However that loads sometime after the console is set. You booted verbose to see that error?
Thanks for looking into this Steve. As of now, I have stock 2.4.4 as I had to re-install over my older ZFS install upgraded up to 2.4.4 from early 2.4 release, maybe 2.4.0 even. I'm not at home but I can look if I have those settings in /boot/loader.conf.local.
That error shows up before the beastie/pfsense menu shows. My serial console is a USB FTDI connected to the headers on minnowboard. When I'm home I'd be happy to boot and post a log or whatever else you'd like to help debug this. I don't have anything else connected to the SBC, just my header to a sometimes connected USB FTDI, as needed.
I can use the serial console to edit BIOS, etc on the minnowboard and then after it boots. I just can't use it for the menu(!)
Hmm, yup I'm also seeing that now. I had rebooted into single user mode rather than trying to use the menu.
Loader path: /boot/loader.efi Initializing modules: ZFS UFS Probing 4 block devices.....*. done ZFS found no pools UFS found 1 partition command args: -S115200 -D Consoles: EFI console C |Command line arguments: loader.efi -S115200 -D Image base: 0x757b4000 IEFI version: 2.50 EEFI Firmware: EDK II (rev 1.00) E FreeBSD/amd64 EFI loader, Revision 1.1 F(Tue Sep 4 22:35:58 EDT 2018 root@buildbot3) ( Load Path: HD(2,GPT,7973EC77-BC18-11E8-99F1-0008A20BC486,0x64028,0x379C000) Load Device: PciRoot(0x0)/Pci(0x13,0x0)/Sata(0x0,0x0,0x0)/HD(2,GPT,7973EC77-B BC18-11E8-99F1-0008A20BC486,0x64028,0x379C000) BootCurrent: 0003 BootOrder: 0007 000a 0003[*] 0000 0002 0004 0005 0001 Trying ESP: PciRoot(0x0)/Pci(0x13,0x0)/Sata(0x0,0x0,0x0)/HD(2,GPT,7973EC77-BC18- c - spinconsoleles:is invalid!conf79C000) / __ _ __ / _|___ ___ _ __ ___ ___ | '_ \| |_/ __|/ _ \ '_ \/ __|/ _ \ | |_) | _\__ \ __/ | | \__ \ __/ | .__/|_| |___/\___|_| |_|___/\___| |_| +============Welcome to pfSense===========+ __________________________ | | / ___\ | 1. Boot Multi User [Enter] | | /` | 2. Boot [S]ingle User | | / :-| | 3. [Esc]ape to loader prompt | | _________ ___/ /_ | | 4. Reboot | | /` ____ / /__ ___/ | | | | / / / / / / | | Options: | | / /___/ / / / | | 5. [K]ernel: kernel (1 of 2) | | / ______/ / / | | 6. Configure Boot [O]ptions... | |/ / / / | | | / /___/ | | | / | | | /_________________________/ +=========================================+
It also looks like you lose VGA as the primary console doing that and I've not found a way to restore it, yet.