Hey,
There has been some discussion about EFI and SecureBoot and such.
Most of the time I get questions in the form of "How do I get Fedora 17
with Xen to do EFI", I am going to concentrate on Fedora, but I think
this applies to other distros too.
From my reading (I hadn't actually tried EFI yet), there are two
ways
to bootup a system:
- Using grub2.efi. Grub2 does the EFI API calls and calls the Xen hypervisor
as if there were no EFI. This means no need for the EFI calls from
Linux or Xen are required).
- Using xen.efi. Xen can be built as a PE (Portable Executable) and it can
boot as an EFI image. Naturally you also need to provide a configuration
file and here are the details on it:
http://xenbits.xen.org/docs/unstable/misc/efi.html
And you would also need to configure the EFI nvram to execute xen.efi
instead of grub2.efi.
For the Linux side, the kernel needs to make new EFI variant hypercalls.
Currently the SLES kernel is capable of it. The upstream Linux kernel
cannot do it. There were patches proposed for it:
http://lists.xen.org/archives/html/xen-devel/2012-02/msg02027.html
which were mostly ports of how SLES did it (And they should reflect
the proper ownership, which they don't have right now).
The EFI maintainer (Matthew) commented
http://lists.xen.org/archives/html/xen-devel/2012-02/msg00815.html
that he would like a better abstraction model for it. Mainly to
push those calls deeper down (so introduce the registration in the
the efi_calls). Or perhaps by providing in boot_params.efi_info.efi_systab
a finely crafted structure pointing to Linux functions that would
do the hypercalls.
And there you have it. In other words it needs somebody willing to
look at the patches as a baseline and do some exciting new work.
I sadly don't have right now the time to address this :-(