[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] usage questions for GRUB2 chainloader workaround when booting Xen 4.5 on UEFI



Ian

> > The boot still fails.  Disk not found.
> 
> I'm not sure what's going wrong here, but my advice would be to play
> around at the grub prompt until you figure it out, it has tab completion
> etc and will be a lot faster to debug that constantly rebooting. e.g.
> try typing "set root=(" and then press tab to see the options, then try
> your insmods and try again etc.

Seems obvious now that your mention it.

@ grub prompt, autocomplete finds

        set root=(hd6,gpt2)/efi/xen/xen.efi

Given

        mount | grep efi | grep ^/dev
                /dev/sdg2 on /boot/efi type vfat 

        ls -al /boot/efi/EFI/XEN/xen.efi 
                -rwxrwxr-x 1 root root 2.1M Mar 27 21:20 
/boot/efi/EFI/XEN/xen.efi*

"g" is alphabetically drive #6, counting from 0

and

        sgdisk -p /dev/sdg
                ...
                Number  Start (sector)    End (sector)  Size       Code  Name
                   1            2048            4095   1024.0 KiB  EF02  BIOS
                   2            4096          618495   300.0 MiB   EF00  EFI
                   3          618496         2715646   1024.0 MiB  FD00  /boot
                   4         2715648      1953525134   930.2 GiB   FD00  LVs

the efi part num is 2

so (hd6,gpt2) makes some sense.

otoh, 

        .../efi/xen/xen.efi

is a bit off as the actual path is

        .../EFI/XEN/xen.efi

I do not know yet about grub vs linux case sensitivity in path names.

In any case, I now have a recognized root to play with; will work on the rest.

> Since you are chainloading you might find it easier to put Xen in
> your /boot rather than on you ESP, since all the existing stanzas will
> be tailored towards loading stuff from /boot.

IIUC for the mobo bios to find EFI files for constructing the @ EUFI boot menu 
they must be on an/the EFI, vfat-formatted partition.  I haven't tested this, 
just my understanding atm.

> Lastly, I'm not 100% sure if chainloading xen.efi like this is supposed
> to work. The docs talk about adding it directly to the UEFI boot menu
> not going via grub. I suppose the answer depends on what state chainload
> leaves UEFI in (i.e. boot services still enabled or not).

Which particular docs are you referring to?

So far I've been relying on 

        http://wiki.xenproject.org/wiki/Xen_EFI

which relates

        Booting Xen under EFI platform

                There are two ways of booting Xen:

                        From the EFI platform - which shows up in BIOS boot 
menu.
                        Using an bootloader (such as GRUB2) 
                ...
                Xen as gz binary 

                        GRUB2 loader when built as an EFI binary can load 
various OS-es. The most common one is
                        Linux where it uses the linuxefi GRUB module. However 
GRUB2 also has support for multiboot
                        protocol which is what Xen uses. Sadly v1 of multiboot 
API does not have enough data to
                        provide information to Xen under the EFI platform.

                        As such a [[5]proposal] had been discussed to add a 
multibootv2+EFI API which would provide
                        enough data such that GRUB2's multiboot module could 
pass that to Xen compiled as ELF
                        binary (.gz). 
                        ...
                        That work has been deferred to Xen 4.6.

                        As such the current workaround is to use the GRUB2 
chainloader. Example:

                                menuentry "Xen EFI" {
                                    insmod part_gpt
                                    insmod search_fs_uuid
                                    insmod chain
                                    chainloader (hd0,gpt1)/EFI/XEN/xen.efi
                                }

Am I looking at the wrong 'docs'?

I have a nagging feeling I'm still missing something since this all seems to be 
a very manual process.  One of my remaining questions

        >       (2) IIUC, since the Xen pkgs are not installing xen.efi on the 
EFI partion, at every Xen upgrade
        >           the xen.efi has to be re-copied.  Correct?  Shouldn't pkgs 
install the .efi on the UEFI system partition?

leaves me to wonder if pkg-ing is expecting something different.

LT

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.