UEFI boot problem on real hardware.



  • The board is J1900D2Y from asrock, crucial MX200 SSD.
    CSM settings — disable.
    https://snapshots.pfsense.org/amd64/pfSense_master/installer/pfSense-CE-2.4.0-DEVELOPMENT-amd64-latest.iso.gz successfully boots with EFI loader
    Installer options
    ZFS and UEFI-GPT, SWAP 0 GB
    all installs but after reboot automatically goes into UEFI settings, because can not boot from hard drive.
    "Launch UEFI shell from device" shows zero compatible devices in list.



  • OK, another test done, it installs and boots in UEFI mode successfully on D2500CC intel board with default settings, but there is no UEFI-CSM settings available, except disable UEFI boot, so it always run in CSM compatible mode.
    I'll try install same way on asrock board later.



  • There is no way currently to install pfSense  on Assrock J1900D2Y in UEFI mode, it's just hides hdd and BBS options to boot from.



  • I think it's https://bugs.freenas.org/issues/16280
    Confirmed. It boots after manually editing UEFI entries.

    Updated by Grzegorz Krzystek 3 months ago

    Bios Version: 2.90
    Latest for C2750D4I
    In particular it's not a bug, but proMicrosoft implementation, of uefi boot sequence, and well known problem of many UEFI Bios on many motherboards.

    windows boot loader have path: EFI\Microsoft\Boot\bootmgr.efi

    and there are bios implementation like Asus one that expecting Windows Boot loader on internal hard-drives, and respecting EFI/BOOT/BOOTX64.EFI only on removable devices.

    all UEFI implementations allows user to manage bootentrys.
    adding new entry by uefishell that subbort bcfg is one line, in my case was:
    shell>bcfg boot add N fsV:\EFI\BOOT\BOOTX64.EFI "FreeNAS"
    where N was number of entry nad V was number of Filesystems that efi was able to read (all fat partitions are numbered and are accessible from uefishell)
    after adding this entry, i see FreeNAS in bios as Bootable device that can be selected in boot order menu.
    same operation is done in some Linux distros when grub-efi is installed by invoking command efibootmgr, cause some distros placeing grub in different dirs in EFI_BOOT partition. so adding these record to UEFI boot order make them bootable.

    I just did

    bcfg boot add 10 fs0:\EFI\BOOT\BOOTX64.EFI "pfSense"

    bcfg answers that entry 10 is 0000 (do not exists)  and corrected it with number 3

    and on next boot selected new entry in UEFI settings boot priority.

    All done!