Solved Dell R730 ZFS on Root Doesn't Boot in UEFI Mode

I have a new (to me) Dell R730 with 15.1-RELEASE. I have a single stripe zpool. I am using the mrsas module. When I installed the system at the outset, I chose ZFS root and I elected to partition with GPT +BIOS +UEFI. When I did the installation, I used BIOS mode. I had planned to transition to UEFI mode later, thinking it would be easy. I was eager to get something going and BIOS mode got 'er done.

I am able to boot with BIOS mode set in the Dell BIOS. I am also able to boot the system with UEFI mode set in the Dell BIOS with a roll-yer-own portable USB installation with UFS.

What I cannot do, is boot with UEFI to the ZFS zpool.

I've tried a lot of things. The most germane being the boot code steps here: https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot . I really thought that would do the trick. Now I am at a loss.

The Dell BIOS fails to locate any part of the FreeBSD boot process in UEFI mode.

I wonder if this is like one of those old SCSI systems where I have to feed the boot process a driver early in the boot process. Those days are long past. I'm guessing at this point.

FWIW, this box is for tinkering. I plan to run lots of jails and to learn something about all the high availability features in the box most especially being mean to my disks to learn ZFS the hard way.
 
The Dell BIOS fails to locate any part of the FreeBSD boot process in UEFI mode.
Question remains, where exactly does it stop? It'll be a bit of a chore to type the whole error, can you take a picture with the exact error?
 
The controller is the Dell PERC H730 Mini.

Message when attempting to boot in UEFI mode from a ZFS hard drive attached to the PERC controller. This is where the booting process stops. The F1-F11 prompts are Dell prompts.

Boot Failure - cropped.jpg


After booting in UEFI mode using recovery USB. I can report the partition information on the ZFS disk.

# gpart show -l -p da1

gpart - cropped.jpg


After booting is UEFI mod using recovery USB.

bootmethod - croppped.jpg


Thanks in advance. Hopefully answering the questions posted can help you folks see something I cannot.

Cheers,
Jason
 
This info might also be interesting. I tried this after posting above.

# mount -t msdosfs /dev/gpt/efiboot0 /mnt
mount_msdosfs: /dev/gpt/efiboot0: invalid argument

Not sure why I can't mount the EFI partition. If the EFI partition is messed up, then perhaps that's why UEFI booting doesn't work.
 
For posterity:

I re-newfs_msdos-ed the EFI partition. I re-copied loader.efi to BOOTX64.efi. I was now able to mount the EFI partition. This gave me hope.

When I rebooted, the boot failed again which crushed my hope.

Upon the subsequent thousandth reboot, I noticed the the list of boot options in the Dell BIOS included an entry named FreeBSD, which pointed to somethingsomething/boot/loader.efi. (Sorry, memory fails me.)

In the BIOS, I manually deleted that boot entry and then re-created a new one pointing to /EFI/BOOT/BOOTX64.efi.

The breadcrumbs are F11 Boot Manager > One-shot UEFI Boot Menu > UEFI Boot Option Maintenance. Yes, the permanent UEFI boot configuration lies under a menu pick called "One-shot". oy vey!

BIOS Menu - cropped.jpg


Delete Boot Option and Add Boot Option were the secret sauce. Perhaps in concert with re-newfs-ing my EFI partition.

Bakul, I was off trying stuff while your message came in. I never performed your step.

As far as I can tell, the Dell BIOS picked up a boot method that was bogus automagically and never automagically picked up the new valid boot method.

I now have a Dell R730 that boots from the PERC controller in HBA mode with a single stripe ZFS filesystem. I am using the mrsas driver.

Thanks for the help. It gave me food for thought.
 
Back
Top