[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH OSSTEST v3 09/22] Enable chain loading to local disk for UEFI PXE systems.
First arrange for bootloader to be installed to removable media path, by using a new in Jessie preseed option. Then use that to chainload a bootloader from the disk. The removable media path is well known (part of the UEFI spec) which saves us having to worry about which OS is on the host (so long as the OS can be configured to populate the removable media path) Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> --- Osstest/Debian.pm | 2 ++ Osstest/TestSupport.pm | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm index ded8575..9e1e69e 100644 --- a/Osstest/Debian.pm +++ b/Osstest/Debian.pm @@ -757,6 +757,8 @@ d-i apt-setup/contrib boolean false d-i pkgsel/include string openssh-server, ntp, ntpdate, ethtool, chiark-utils-bin, $extra_packages +d-i grub-installer/force-efi-extra-removable boolean true + $xopts{ExtraPreseed} END diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm index 94a7c27..699be7e 100644 --- a/Osstest/TestSupport.pm +++ b/Osstest/TestSupport.pm @@ -2168,8 +2168,24 @@ END sub setup_pxeboot_local_uefi ($) { my ($ho) = @_; + my %efi_archs = qw(amd64 X64 + arm32 ARM + arm64 AARCH64 + i386 IA32); + die "EFI arch" unless $efi_archs{ $r{arch} }; + my $efi = $efi_archs{ $r{arch} }; setup_grub_efi_bootcfg($ho, <<END); -echo Should do a local boot here, somehow +set default=0 +set timeout=5 +menuentry 'local' { + insmod chain + insmod part_gpt + insmod part_msdos + set root=(hd0,gpt1) + echo "Chainloading (\${root})/EFI/BOOT/BOOTAA64.EFI" + chainloader (\${root})/EFI/BOOT/BOOTAA64.EFI + boot +} END } -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |