[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xen-users
Subject:    Re: [Xen-users] Xen on Debian Stretch on UEFI
From:       Ian Macdonald <imac () gn ! apc ! org>
Date:       2018-04-23 10:07:33
Message-ID: 519ac06b-b1cc-1ced-a281-1897afccd6d2 () gn ! apc ! org
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/mixed)]


Hi Robert,

On 20/04/18 18:28, rmcnicol@servicemasterbc.ca wrote:
> To me it looks like xen is actually booting its just choking on bringing up Linux \
> kernel, and the kernel ramdisk.... 
> Looking at your xen.cfg that also differs from mine in this way:
> kernel=vmlinuz-4.9.0-6-amd64
> [ root=UUID=c0589119-f679-4b3c-ac62-7a686ffe00b9 ro ] \
> ramdisk=initrd.img-4.9.0-6-amd64

That's interesting, I tried adding those brackets and it broke my boot
configuration, the brackets prevented the kernel from loading and so the
boot process would just stop with a complaint about how there was no
kernel loaded.

Trying to boot via the EFI shell, I found the UEFI firmware complained
that it couldn't open the initrd.img file. It looks like the EFI firware
has trouble reading the initrd.img file because it's over 16MB in size,
 as described on these pages:

https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg08323.html
https://datacentersupport.lenovo.com/gb/en/solutions/ht506400

In the end, I applied the patch found at the bottom of that Lenovo page
and custom compiled my own hypervisor kernel. That solved the problem
and I could get Xen to boot.

I may file a bug report about this, though I am unsure whether it should
be considered a bug in the server's UEFI firmware or whether it should
be considered a bug in the kernel. Maybe I should think of it as a
'feature request' for the kernel.

Thanks again for your help, in any case.

Best wishes,
-Ian

> try the square brackets around your rootfs.
> 
> I'm not an expert on Xen by any stretch of the definition, but I have got my \
> implementation booting from UEFI, so I am comparing differences. 
> Robert McNicol
> IT Systems Administrator
> ServiceMaster Restore | Fraser Valley
> 
> 
> > -----Original Message-----
> > From: Ian Macdonald <imac@gn.apc.org>
> > Sent: April 20, 2018 8:03 AM
> > To: rmcnicol@servicemasterbc.ca
> > Subject: Re: [Xen-users] Xen on Debian Stretch on UEFI
> > 
> > Hi Robert,
> > 
> > Thanks for your suggestions. I tried with your suggested 'efibootmgr'
> > command and it set up a boot entry identical to the one I already had. I only
> > have one ESP partition on this machine right now, so if I leave out those
> > parameters, it looks like the system correctly guesses the location of the ESP
> > partition for me anyway.
> > 
> > However, I installed an EFI shell and was able to try booting the xen-4.8-
> > amd64.efi file from the EFI shell. The output I got was this:
> > ****
> > Xen 4.8.3 (c/s ) EFI loader
> > Using configuration file 'xen-4.8-amd64.cfg'
> > vmlinuz-4.9.0-6-amd64: [snip long hex numbers]
> > initrd.img-4.9.0-6-amd64: [snip long hex numbers] Read failed for initrd.img-
> > 4.9.0-6-amd64: ErrCode 0x8000000000000004
> > ****
> > 
> > Some searching online turned up these links:
> > 
> > https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg08323.html
> > 
> > https://datacentersupport.lenovo.com/es/es/solutions/ht506400
> > 
> > That error code apparently means EFI_BAD_BUFFER_SIZE, meaning the EFI
> > implementation can't read arbitrarily sized blocks, so the firmware doesn't
> > correctly read larger files when loading the Xen EFI stub. In this case I suspect
> > it's because the initrd.img file is about 18MB in size with the firmware able to
> > cope with files up to 16MB.
> > 
> > That second link above seems to suggest a patch to the Xen code that will
> > produce a xen.efi file which works around the initrd.img block size issue. I am
> > tempted to try patching and compiling Xen in order to get a xen.efi file that \
> > will hopefully work around the file size issue.
> > 
> > Has anyone else run up against this problem? Any suggestions as to the best
> > way to get the hypervisor and dom0 booting in this situation?
> > 
> > Thanks in advance for any help, it's turned out to be a very long process getting
> > this new server up and running...
> > 
> > Best wishes,
> > -Ian
> > 
> > On 19/04/18 17:43, rmcnicol@servicemasterbc.ca wrote:
> > > Hey, your boot record needs to direct the firmware to disk and partition as
> > well. Also, UEFI path separators like *nix, not Windows.
> > > 
> > > Here's a good resource from ArchWiki:
> > > https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Inter
> > > face#efibootmgr
> > > 
> > > So in : efibootmgr -w -L Xen -l "\EFI\xen\xen-4.8-amd64.efi" -c
> > > 
> > > If your ESD is on sda1 then your boot record needs to be: efibootmgr
> > > --create --disk /dev/sda --part 1 --loader /EFI/xen/xen-4.8-amd64.efi --label
> > "Xen" -w Notice that disk, part, loader are not quoted (IIRC I had issues when
> > these options were in quotes) , and again path separator direction '/' not '\'
> > > 
> > > Robert McNicol
> > > IT Systems Administrator
> > > ServiceMaster Restore | Fraser Valley
> > > 
> > > 
> > > > -----Original Message-----
> > > > From: Ian Macdonald <imac@gn.apc.org>
> > > > Sent: April 19, 2018 1:12 AM
> > > > To: xen-users@lists.xenproject.org
> > > > Subject: [Xen-users] Xen on Debian Stretch on UEFI
> > > > 
> > > > Hi,
> > > > 
> > > > I have been setting up a new server to run Xen, but can't seem to get
> > > > the machine to boot the hypervisor correctly. The server has UEFI
> > > > firmware and I don't think we can run it in BIOS compatibility mode
> > > > because the particular hardware configuration requires full UEFI
> > > > support in order for everything to work.
> > > > 
> > > > I have installed Debian Stretch on the server and can boot via UEFI
> > > > into GRUB and then Linux just fine.
> > > > 
> > > > I have tried following the directions found on this page in order to
> > > > get Xen
> > > > booting:
> > > > https://wiki.xenproject.org/wiki/Xen_EFI
> > > > 
> > > > I have found that the Debian xen-hypervisor-4.8-amd64 package
> > > > installs a file at /boot/xen-4.8-amd64.efi. Should I be able to use
> > > > this as my EFI boot file? Or do I still need to actually compile Xen
> > > > from sources in order to get a working 'xen.efi' file?
> > > > 
> > > > I have tried copying all files from the /boot directory into
> > > > /boot/efi/EFI/xen/ and then creating
> > > > /boot/efi/EFI/xen/xen-4.8-amd64.cfg
> > > > with the following contents:
> > > > 
> > > > [global]
> > > > default=xen
> > > > 
> > > > [xen]
> > > > options=console=vga loglvl=all noreboot
> > > > kernel=vmlinuz-4.9.0-6-amd64
> > > > root=UUID=c0589119-f679-4b3c-ac62-7a686ffe00b9 ro
> > > > ramdisk=initrd.img-4.9.0-6-amd64
> > > > 
> > > > I then created an EFI boot entry pointing at Xen:
> > > > efibootmgr -w -L Xen -l "\EFI\xen\xen-4.8-amd64.efi" -c
> > > > 
> > > > When I try to boot from that menu entry, the machine's firmware just
> > > > returns to system setup or to the boot menu, suggesting to me that it
> > > > doesn't recognise or isn't able to boot from xen-4.8-amd64.efi. I
> > > > also tried renaming that file to xen.efi and having the config in
> > > > xen.cfg just in case that made a difference, but the result was the same.
> > > > 
> > > > I have tried booting Debian without using GRUB, using the kernel EFI
> > > > stub to boot, according to the instructions at
> > > > 'https://wiki.debian.org/EFIStub'. I got that to work for booting the
> > > > normal kernel, so I know I can boot the mainline Linux kernel
> > > > directly from the EFI firmware without GRUB, but I've not been able to boot
> > the Xen hypervisor.
> > > > 
> > > > Any suggestions or advice would very much appreciated.
> > > > 
> > > > Many thanks,
> > > > -Ian Macdonald
> > > > GreenNet
> > > > 
> > > > --
> > > > Ian Macdonald
> > > > GPG/PGP: 0778 889F EE5D DFB4 D195 97A7 779B D6BF A305 DEFC
> > > > XMPP/OTR: imac@gn.apc.org  Wire.com: @idmacdonald
> > > > 
> > > > GreenNet Ltd, 56-64 Leonard Street, London EC2A 4LT
> > > > UK Tel:      0330 355 4011
> > > > Intl:        +44 20 7065 0935
> > > > Twitter:     @GreenNetISP
> > > > Registered in England & Wales, Company No. 02070438
> > > 
> > > 
> > 
> > --
> > Ian Macdonald
> > GPG/PGP: 0778 889F EE5D DFB4 D195 97A7 779B D6BF A305 DEFC
> > XMPP/OTR: imac@gn.apc.org  Wire.com: @idmacdonald
> > 
> > GreenNet Ltd, 56-64 Leonard Street, London EC2A 4LT
> > UK Tel:      0330 355 4011
> > Intl:        +44 20 7065 0935
> > My desk:     +44 20 3559 4011
> > Twitter:     @GreenNetISP
> > Registered in England & Wales, Company No. 02070438
> 
> 

-- 
Ian Macdonald
GPG/PGP: 0778 889F EE5D DFB4 D195 97A7 779B D6BF A305 DEFC
XMPP/OTR: imac@gn.apc.org  Wire.com: @idmacdonald

GreenNet Ltd, 56-64 Leonard Street, London EC2A 4LT
UK Tel:      0330 355 4011
Intl:        +44 20 7065 0935
My desk:     +44 20 3559 4011
Twitter:     @GreenNetISP
Registered in England & Wales, Company No. 02070438


["signature.asc" (application/pgp-signature)]
[Attachment #8 (text/plain)]

_______________________________________________
Xen-users mailing list
Xen-users@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-users

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic