I'm going to be working on EFI boot support on the amd64/i386
platforms as a GSoC project. The idea is to allow booting from EFI
(as opposed to legacy BIOS) on these platforms, so that FreeBSD can
continue to support a wide range of hardware as EFI begins to replace
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.
Here are some specific points to be decided:
* 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
* How much of what EFI provides do we want to use? There are
advantages and disadvantages both ways.
* How much of the kernel needs to be changed to boot/run from an EFI boot?
* 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?
Feel free to chime in with your opinions on these matters.