[OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround

Ian Jackson posted 38 patches 5 years, 7 months ago
[OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround
Posted by Ian Jackson 5 years, 7 months ago
CC: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Osstest/Debian.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 6fed0b75..77508d19 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -1064,7 +1064,7 @@ END
     logm("\$arch is $arch, \$suite is $suite");
     if ($xopts{PvMenuLst} &&
 	$arch =~ /^arm/ &&
-	$suite =~ /wheezy|jessie|stretch|sid/ ) {
+	$suite =~ /wheezy|jessie|stretch|buster|sid/ ) {
 
 	# Debian doesn't currently know what bootloader to install in
 	# a Xen guest on ARM. We install pv-grub-menu above which
-- 
2.20.1


Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround
Posted by Julien Grall 5 years, 7 months ago
Hi Ian,

On 19/05/2020 20:02, Ian Jackson wrote:
> CC: Julien Grall <julien@xen.org>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

Acked-by: Julien Grall <jgrall@amazon.com>

> ---
>   Osstest/Debian.pm | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
> index 6fed0b75..77508d19 100644
> --- a/Osstest/Debian.pm
> +++ b/Osstest/Debian.pm
> @@ -1064,7 +1064,7 @@ END
>       logm("\$arch is $arch, \$suite is $suite");
>       if ($xopts{PvMenuLst} &&
>   	$arch =~ /^arm/ &&
> -	$suite =~ /wheezy|jessie|stretch|sid/ ) {
> +	$suite =~ /wheezy|jessie|stretch|buster|sid/ ) {
>   
>   	# Debian doesn't currently know what bootloader to install in
>   	# a Xen guest on ARM. We install pv-grub-menu above which

OOI, what does Debian install for x86 HVM guest? Is there any ticket 
tracking this issue?

Cheers,

-- 
Julien Grall

Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround
Posted by Ian Jackson 5 years, 7 months ago
Julien Grall writes ("Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround"):
> On 19/05/2020 20:02, Ian Jackson wrote:
> > CC: Julien Grall <julien@xen.org>
> > CC: Stefano Stabellini <sstabellini@kernel.org>
> > Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

Thanks.

> >   	# Debian doesn't currently know what bootloader to install in
> >   	# a Xen guest on ARM. We install pv-grub-menu above which
> 
> OOI, what does Debian install for x86 HVM guest? Is there any ticket 
> tracking this issue?

On x86, it installes grub.  (grub2, x86, PC, to be precise.)
I'm not aware of any ticket or bug about this.

Ian.

Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround
Posted by Julien Grall 5 years, 6 months ago
Hi Ian,

On 20/05/2020 15:57, Ian Jackson wrote:
> Julien Grall writes ("Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround"):
>> On 19/05/2020 20:02, Ian Jackson wrote:
>>> CC: Julien Grall <julien@xen.org>
>>> CC: Stefano Stabellini <sstabellini@kernel.org>
>>> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
>>
>> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> Thanks.
> 
>>>    	# Debian doesn't currently know what bootloader to install in
>>>    	# a Xen guest on ARM. We install pv-grub-menu above which
>>
>> OOI, what does Debian install for x86 HVM guest? Is there any ticket
>> tracking this issue?
> 
> On x86, it installes grub.  (grub2, x86, PC, to be precise.)

I have just realized that on x86 you will always have a firmware in the 
guest. On Arm we commonly boot the kernel directly.

So maybe we are closer to PV here. Do you also install GRUB in that case?

Note that we do support EDK2 at least on Arm64. It would be nice to get 
some tests for it in Osstest in the future.

> I'm not aware of any ticket or bug about this.

It might be worth creating one then.

-- 
Julien Grall

Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround
Posted by Ian Jackson 5 years, 6 months ago
Julien Grall writes ("Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround"):
> On 20/05/2020 15:57, Ian Jackson wrote:
> > Julien Grall writes ("Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround"):
> >> On 19/05/2020 20:02, Ian Jackson wrote:
> >>>    	# Debian doesn't currently know what bootloader to install in
> >>>    	# a Xen guest on ARM. We install pv-grub-menu above which
> >>
> >> OOI, what does Debian install for x86 HVM guest? Is there any ticket
> >> tracking this issue?
> > 
> > On x86, it installes grub.  (grub2, x86, PC, to be precise.)
> 
> I have just realized that on x86 you will always have a firmware in the 
> guest. On Arm we commonly boot the kernel directly.

Yes.  At leave, for HVM.

> So maybe we are closer to PV here. Do you also install GRUB in that case?

It's Complicated.  There are several options, but the usual ones are:

1. pygrub: Install some version of grub, which generates
   /boot/grub.cfg.  It doesn't matter very much which version of grub
   because grub.cfg is read by pygrub in dom0 and that fishes out the
   kernel and initrd.  Many of osstest's tests do this.

2. host kernel: Simply pass the dom0 kernel *and initramfs* as the
   kernel image to the guest.  This works if the kernel has the right
   modules for the guest storage, which it can easily do.  On x86 an
   amd64 kernel can run an i386 userland.

3. pvgrub.

> Note that we do support EDK2 at least on Arm64. It would be nice to get 
> some tests for it in Osstest in the future.

Is this the same as "EADK" ?  I'm afraid I don't follow...

> > I'm not aware of any ticket or bug about this.
> 
> It might be worth creating one then.

Where should I do that ?  I guess I mean, in which bugtracker ?

Thanks,
Ian.

Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround
Posted by Julien Grall 5 years, 6 months ago
Hi,

On 28/05/2020 15:53, Ian Jackson wrote:
> Julien Grall writes ("Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround"):
>> On 20/05/2020 15:57, Ian Jackson wrote:
>>> Julien Grall writes ("Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround"):
>>>> On 19/05/2020 20:02, Ian Jackson wrote:
>>>>>     	# Debian doesn't currently know what bootloader to install in
>>>>>     	# a Xen guest on ARM. We install pv-grub-menu above which
>>>>
>>>> OOI, what does Debian install for x86 HVM guest? Is there any ticket
>>>> tracking this issue?
>>>
>>> On x86, it installes grub.  (grub2, x86, PC, to be precise.)
>>
>> I have just realized that on x86 you will always have a firmware in the
>> guest. On Arm we commonly boot the kernel directly.
> 
> Yes.  At leave, for HVM.
> 
>> So maybe we are closer to PV here. Do you also install GRUB in that case?
> 
> It's Complicated.  There are several options, but the usual ones are:
> 
> 1. pygrub: Install some version of grub, which generates
>     /boot/grub.cfg.  It doesn't matter very much which version of grub
>     because grub.cfg is read by pygrub in dom0 and that fishes out the
>     kernel and initrd.  Many of osstest's tests do this.
> 
> 2. host kernel: Simply pass the dom0 kernel *and initramfs* as the
>     kernel image to the guest.  This works if the kernel has the right
>     modules for the guest storage, which it can easily do.  On x86 an
>     amd64 kernel can run an i386 userland.
> 
> 3. pvgrub.

Thanks for the explanation. How do you select it in the Osstest today?

Is it a option for the debian installer or you do it manually as part
of your install script?
>> Note that we do support EDK2 at least on Arm64. It would be nice to get
>> some tests for it in Osstest in the future.
> 
> Is this the same as "EADK" ?  I'm afraid I don't follow...

Sorry, I should have been more precise. I meant that we are able to boot 
a Arm guest using UEFI as we added support in EDK2 (I think in Xen we 
use the term ovmf).

When using EFI, the guest can boot exactly the same way as it would on 
baremetal. The toolstack is just loading the firmware in the guest memory.

IIRC we have already regular EFI testing on x86 in Osstest. I am 
thinking to extend them to Arm at some point.

> 
>>> I'm not aware of any ticket or bug about this.
>>
>> It might be worth creating one then.
> 
> Where should I do that ?  I guess I mean, in which bugtracker ?

 From the comment in the code, I would assume this is a bug/enhancement 
against the Debian installer. But I may have misundertood it.

Cheers,

-- 
Julien Grall

Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround
Posted by Ian Jackson 5 years, 6 months ago
Julien Grall writes ("Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround"):
> On 28/05/2020 15:53, Ian Jackson wrote:
> > It's Complicated.  There are several options, but the usual ones are:
> > 
> > 1. pygrub: Install some version of grub, which generates
> >     /boot/grub.cfg.  It doesn't matter very much which version of grub
> >     because grub.cfg is read by pygrub in dom0 and that fishes out the
> >     kernel and initrd.  Many of osstest's tests do this.
> > 
> > 2. host kernel: Simply pass the dom0 kernel *and initramfs* as the
> >     kernel image to the guest.  This works if the kernel has the right
> >     modules for the guest storage, which it can easily do.  On x86 an
> >     amd64 kernel can run an i386 userland.
> > 
> > 3. pvgrub.
> 
> Thanks for the explanation. How do you select it in the Osstest today?

I think osstest does all three (not very sure about (2).  Installs
made with the Debian xen-tools package tend to do (2) by default.
Installs made with d-i can do (2) or (3).

> > Is this the same as "EADK" ?  I'm afraid I don't follow...
> 
> Sorry, I should have been more precise. I meant that we are able to boot 
> a Arm guest using UEFI as we added support in EDK2 (I think in Xen we 
> use the term ovmf).

Right.

> When using EFI, the guest can boot exactly the same way as it would on 
> baremetal. The toolstack is just loading the firmware in the guest memory.
> 
> IIRC we have already regular EFI testing on x86 in Osstest. I am 
> thinking to extend them to Arm at some point.

Our arm64 boxes are all booting via UEFI right now.

We have to do a different bodge to load xen.efi rather than grub;
osstest makes a xen.cfg.  That bodge is extended to buster by

  Subject: [OSSTEST PATCH 34/38] buster: grub, arm64: extend
      chainloading workaround

> > Where should I do that ?  I guess I mean, in which bugtracker ?
> 
>  From the comment in the code, I would assume this is a bug/enhancement 
> against the Debian installer. But I may have misundertood it.

Oh I see.  I think amybe the problem was the lack of grub support.  Is
that all sorted in current Debian unstable/testing ?  If so it may
well all come out in the wash.

Ian.

Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround
Posted by Julien Grall 5 years, 6 months ago
Hi,

On 28/05/2020 16:41, Ian Jackson wrote:
> Julien Grall writes ("Re: [OSSTEST PATCH 22/38] buster: Extend guest bootloader workaround"):
>> On 28/05/2020 15:53, Ian Jackson wrote:
>>> It's Complicated.  There are several options, but the usual ones are:
>>>
>>> 1. pygrub: Install some version of grub, which generates
>>>      /boot/grub.cfg.  It doesn't matter very much which version of grub
>>>      because grub.cfg is read by pygrub in dom0 and that fishes out the
>>>      kernel and initrd.  Many of osstest's tests do this.
>>>
>>> 2. host kernel: Simply pass the dom0 kernel *and initramfs* as the
>>>      kernel image to the guest.  This works if the kernel has the right
>>>      modules for the guest storage, which it can easily do.  On x86 an
>>>      amd64 kernel can run an i386 userland.
>>>
>>> 3. pvgrub.
>>
>> Thanks for the explanation. How do you select it in the Osstest today?
> 
> I think osstest does all three (not very sure about (2).  Installs
> made with the Debian xen-tools package tend to do (2) by default.
> Installs made with d-i can do (2) or (3).
> 
>>> Is this the same as "EADK" ?  I'm afraid I don't follow...
>>
>> Sorry, I should have been more precise. I meant that we are able to boot
>> a Arm guest using UEFI as we added support in EDK2 (I think in Xen we
>> use the term ovmf).
> 
> Right.
> 
>> When using EFI, the guest can boot exactly the same way as it would on
>> baremetal. The toolstack is just loading the firmware in the guest memory.
>>
>> IIRC we have already regular EFI testing on x86 in Osstest. I am
>> thinking to extend them to Arm at some point.
> 
> Our arm64 boxes are all booting via UEFI right now.
> 
> We have to do a different bodge to load xen.efi rather than grub;
> osstest makes a xen.cfg.  That bodge is extended to buster by
> 
>    Subject: [OSSTEST PATCH 34/38] buster: grub, arm64: extend
>        chainloading workaround

We should also be able to use EFI in the guest directly as well :).

> 
>>> Where should I do that ?  I guess I mean, in which bugtracker ?
>>
>>   From the comment in the code, I would assume this is a bug/enhancement
>> against the Debian installer. But I may have misundertood it.
> 
> Oh I see.  I think amybe the problem was the lack of grub support.  Is
> that all sorted in current Debian unstable/testing ?  If so it may
> well all come out in the wash.

I haven't tried a recent Debian installer on Xen on Arm. I will have a 
try and see what it installs now.

Cheers,

-- 
Julien Grall