The latest FreeBSD memstick.img can boot UEFI for the installation - the video display looks nice and all seems to work well. After installation, however, no more UEFI. Is there a way to boot UEFI from a ZFS mirror on an amd64 11.1 machine?

Disclaimer: I have zero experience with zfs and I haven't installed FreeBSD in a while.

However, I do know that to boot in UEFI mode you will need a FAT-formatted EFI system partition (type "0xEF" in the old MBR nomenclature) with FreeBSD's EFI loader placed at $ESP/EFI/BOOT/BOOTX64.EFI — any UEFI firmware should boot that loader automatically if it is found at that location.

__________________Linux is for people who hate Windows. BSD is for people who love UNIX.

Holy crap, that sounds tedious. But, of course, many thanks for the pointer.

I wonder if the "EFI system partition (ESP)" could be a FAT formatted USB thumbdrive with some minimum set of files to get UEFI up then it redirects booting to continue from the otherwise independent ZFS-based system?

If there are any FreeBSD wizards or warriors out there who could help sort out this process, it seems like the recipe would be a nicety for other users. My system would certainly be in better shape. Without UEFI, the display is hideous; with it, the display looks pretty slick.

Last edited by hanzer; 20th October 2017 at 12:30 AM.
Reason: smilulator

I last installed FreeBSD over a year ago but UEFI was handled automagically, albeit without ZFS; did the installer attempt to create an EFI system partition itself?

Quote:

I wonder if the "EFI system partition (ESP)" could be a FAT formatted USB thumbdrive with some minimum set of files to get UEFI up then it redirects booting to continue from the otherwise independent ZFS-based system?

If the FreeBSD .efi loader is placed on an EFI system partition on a USB under /EFI/BOOT/BOOTX64.EFI (BOOTIA32.EFI for 32-bit systems) then your UEFI firmware should start it automatically — that is how the FreeBSD installer itself boots.

Whether the FreeBSD .efi loader will find your ZFS root on another drive is another question entirely and one that you are in a much better position to answer than I

__________________Linux is for people who hate Windows. BSD is for people who love UNIX.

Last edited by Head_on_a_Stick; 20th October 2017 at 05:42 AM.
Reason: typos

I've got to backup some data before experimenting, probably this weekend. Research suggests that it might be possible but I am still fuzzy on many of the details. For the record, and those who wish to follow, here are a few relevant data points:

This worked! The system is a typical root on a two-disk ZFS mirror (ada0, ada1) installed from FreeBSD-11.1-RELEASE-amd64-memstick.img. After that, a USB flash drive (da0) is configured to load UEFI like this: