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
console="comconsole,vidconsole"
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.
console="comconsole,efi"
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"
Steve
-
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?
https://www.netgate.com/docs/platforms/minnowboard/pfsense-dual-ethernet.html#add-necessary-hdmi-settingsThat'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?
Steve
-
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... | |/ / / / | | | / /___/ | | | / | | | /_________________________/ +=========================================+
https://redmine.pfsense.org/issues/8978
It also looks like you lose VGA as the primary console doing that and I've not found a way to restore it, yet.
Steve