Message ID | b8BKlNQRW9YVOeX7T7TU64N8ek2l9Klzq0TVfkmLC3vzz4K2Gx6KHSLKjEHIlk5wjT0S0k-uieet1mvDEgHwSpKzg1LIiEL_eZPfpKDhpfo=@trmm.net (mailing list archive) |
---|---|
Headers | show |
Series | efi: Unified Xen hypervisor/kernel/initrd images | expand |
Hi, On 07/09/2020 18:45, Trammell Hudson wrote: > This patch series adds support for bundling the xen.efi hypervisor, > the xen.cfg configuration file, the Linux kernel and initrd, as well > as the XSM, and architectural specific files into a single "unified" > EFI executable. This allows an administrator to update the components > independently without requiring rebuilding xen, as well as to replace > the components in an existing image. > > The resulting EFI executable can be invoked directly from the UEFI Boot > Manager, removing the need to use a separate loader like grub as well > as removing dependencies on local filesystem access. And since it is > a single file, it can be signed and validated by UEFI Secure Boot without > requring the shim protocol. > > It is inspired by systemd-boot's unified kernel technique and borrows the > function to locate PE sections from systemd's LGPL'ed code. During EFI > boot, Xen looks at its own loaded image to locate the PE sections for > the Xen configuration (`.config`), dom0 kernel (`.kernel`), dom0 initrd > (`.initrd`), and XSM config (`.xsm`), which are included after building > xen.efi using objcopy to add named sections for each input file. > > Trammell hudson (4): > x86/xen.lds.S: Work around binutils build id alignment bug > efi/boot.c: add file.need_to_free and split display_file_info() > efi: Enable booting unified hypervisor/kernel/initrd images > efi: Do not use command line if secure boot is enabled. Please make sure to have the patch sent with "In-reply-to" pointing to the cover letter. git format-patch should do it for you. Cheers, > > .gitignore | 1 + > docs/misc/efi.pandoc | 47 ++++++++++++ > xen/arch/arm/efi/efi-boot.h | 22 ++++-- > xen/arch/x86/efi/Makefile | 2 +- > xen/arch/x86/efi/efi-boot.h | 7 +- > xen/arch/x86/xen.lds.S | 1 + > xen/common/efi/boot.c | 139 ++++++++++++++++++++++++++--------- > xen/common/efi/efi.h | 3 + > xen/common/efi/pe.c | 141 ++++++++++++++++++++++++++++++++++++ > 9 files changed, 317 insertions(+), 46 deletions(-) > create mode 100644 xen/common/efi/pe.c > > -- > 2.25.1 > > > > > >