On 08.05.2012 21:35, Eric McCorkle wrote:
> I'd also like to start a discussion on the matter, since it seems
> there are several ways that this could be done. Also, I know Rui
> Paulo was working on this a while back. If anyone knows the approach
> he was taking, that would be helpful. The way IA-64 handles booting
> might also be helpful.
I hope Rui and Marcel can share their experience.
> * An EFI boot service could potentially function similarly to
> [zfs]loader. Alternatively, it could function like gpt[zfs]boot,
> though this might require modifying loader(8) since EFI boot services
> run in protected/long mode, and have different system information
> table formats.
> * How much of what EFI provides do we want to use? There are
> advantages and disadvantages both ways.
My thoughts on how this should work:
Our EFI loader should be placed to the EFI system partition.
UEFI firmware executes it and loader works like non-UEFI loader does.
I.e. it searches freebsd partitions via libefi and loads kernel.
> * How much of the kernel needs to be changed to boot/run from an EFI boot?
I think it is not needed.
> * It seems possible to support booting from legacy BIOS as well as EFI
> (install a protective MBR, and gpt[zfs]boot on a FreeBSD boot
> partition, install the EFI boot loader in a way that the EFI firmware
> will find it and load it, and the system itself on another partition).
> Is it worth trying to do this?
We already can boot via PMBR+gpt[zfs]boot, but EFI loader should not depend on that.