Booting OPNsense from eMMC or NVMe is unreliable
It appears I have the latest version 2.1 BIOS. I'm able to boot OPNsense from a USB flash drive no problem but after installing OPNsense to the eMMC it will often dump me in the EFI shell (if I have it enabled, otherwise BIOS) on the first boot. Sometimes on a warm boot or after invoking the boot menu I can get it to boot to the eMMC, but not always. Every time after I reboot from the OS it fails to reboot to the eMMC.
I thought maybe the eMMC is having trouble with initialization so I installed an NVMe SSD and reinstalled OPNsense to it but now I cannot get the pro 7000 to boot to anything except the USB flash drive. Does anybody have any advice on what I can do next or how to better troubleshoot the boot problems?
Comments
-
I think I solved my own problem. From the EFI shell I noticed that fs0:\efi\boot\bootx64.efi would fail to boot -- I think it might be for Windows -- but fs0:\efi\freebsd\loader.efi would boot fine.
From the OPNsense command-line I made a new EFI boot entry with this command:
efibootmgr -a -c -l /boot/efi/efi/freebsd/loader.efi -L OPNsense
And then to make sure that the fallback boot to the EFI shell would still boot OPNsense, I added
fs0:\efi\freebsd\loader.efi
to /boot/efi/efi/boot/startup.nsh
This all worked but just to be absolutely overkill I also copied /boot/loader.efi to /boot/efi/efi/boot/bootx64.efi to make it the default boot loader.
Back in BIOS I configured OPNsense as the first UEFI boot entry and I also configured the EFI shell as a fallback, which will run startup.nsh and try again to boot the FreeBSD loader.
I hope this helps somebody.