On 06/26/2016 01:58 PM, Daniel Llewellyn wrote:
By putting it inside an LV you hid it from the UEFI and
thus could not boot from it.

The LV is a Dom0/Host entity. The Xen Guest's BIOS/OS does not see an LV; it only sees an attached drive partitions,

 blkid -s TYPE
  /dev/xvda1: TYPE="vfat"
  /dev/xvde1: TYPE="ext4"
  /dev/xvdf1: TYPE="swap"
  /dev/xvdg1: TYPE="ext4"


The startup.nsh file mentioned in the UEFI command-line mode is unrelated.

On an Opensuse EFI Xen Guest, the NvVars file is correctly written to load the opensuse secure shim

        efibootmgr
                BootCurrent: 0009
                Timeout: 0 seconds
                BootOrder: 0009,0000,0001,0002,0003,0004,0005,0006,0007,0008
                Boot0000* UiApp
                Boot0001* UEFI Floppy
                Boot0002* UEFI Floppy 2
                Boot0003* UEFI QEMU HARDDISK QM00001
                Boot0004* UEFI Misc Device
                Boot0005* UEFI Misc Device 2
                Boot0006* UEFI Misc Device 3
                Boot0007* UEFI Misc Device 4
                Boot0008* EFI Internal Shell
                Boot0009* opensuse-secureboot

On the Ubuntu EFI Xen Guest, the post-install NvVars points to the EFI Internal Shell as the boot item

        efibootmgr
                BootCurrent: 000A
                Timeout: 0 seconds
                BootOrder: 0000,0002,0003,0004,0005,0006,0007,0008,000A
                Boot0000* UiApp
                Boot0002* UEFI Floppy
                Boot0003* UEFI Floppy 2
                Boot0004* UEFI QEMU HARDDISK QM00001
                Boot0005* UEFI Misc Device
                Boot0006* UEFI Misc Device 2
                Boot0007* UEFI Misc Device 3
                Boot0008* UEFI Misc Device 4
                Boot000A* EFI Internal Shell

With that default, adding/populating the 'startup.nsh' ensures it's executed, and it's spec'd .efi is loaded, rather than simply dropping to the shell itself.

The proper fix in your case is to ensure
that the EFI partition is an actual partition and not an LV, and then to
perform the install. When this is done the installer will add an entry
into the UEFI variables table which indicates which file to use for the
boot loader (i.e. grubx64.efi or shimx64.efi depending on whether the
UEFI implementation is requiring secure-boot signed files).


Again, the guest has no knowledge of the LV.

It's of note that this scenario fails uniquely on Ubuntu's install, but works without fail on other OS, e.g. Opensuse, above.

On 06/26/2016 03:58 PM, Tom H wrote:> On Sun, Jun 26, 2016 at 11:23 AM, PGNet Dev <[email protected]> wrote:
An EFI xen guest?! Is this even possible?

Certainly.

With qemu, you need an ovmf binary.

Xen's built with either bundled, or system, ovmf. And in the Xen guest cfg, bios='ovmf' is specified.

Works just fine.  Once properly booted, that is.

--
ubuntu-server mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server
More info: https://wiki.ubuntu.com/ServerTeam

Reply via email to