UEFI booting survey

Nathan Whitehorn nwhitehorn at freebsd.org
Tue Dec 19 23:18:03 UTC 2017

On 12/19/17 14:38, Oliver Pinter wrote:
> On Tuesday, December 19, 2017, Warner Losh <imp at bsdimp.com> wrote:
>>> Or the following pseudo-code with all the weird special cases removed for
>>> clarity
>>> load loader.efi from ESP
>>> if BootXXXX uefi variable holds a second path, use that for root/kernel
>>> otherwise if an override variable holds a kernel/root path, use that
>>> otherwise scan for a usable ZFS pool, use that if it exists
>>> otherwise use the same partition loader.efi was booted from for
>> root/kernel
>>> if it's usable
>>> otherwise use the first UFS partition on the ESP that's usable.
>> use the ACTIVE ufs partition, not the first, I can have more than 1 slice,
>> only 1 of them can be set active.  Do not use any ufs partitions if they
>> are not in active slices, it is possible to have 0 partitions set active.
>> Active is not a GPT concept. UEFI makes it hard to implement since there is
>> no good API to get and set the flags FreeBSD's gptboot uses to hack this
>> concept in. Active is done via BootOrder UEFI variable. Loader.efi and
>> boot.efi completely ignore this today. I have no plans on changing that.
> And what's about the bootme and bootonce flags in gpart?  They are
> freebsdism? Or they are the equivalent of active in the UEFI standard?

They are a FreeBSD-ism. Because UEFI handles parsing the GPT tables 
internally, it is not even possible to read them from loader.efi.

More information about the freebsd-current mailing list