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

Re: [Xen-users] Xen on Debian Stretch on UEFI


  • To: xen-users@xxxxxxxxxxxxxxxxxxxx
  • From: Ian Macdonald <imac@xxxxxxxxxx>
  • Date: Mon, 23 Apr 2018 12:07:33 +0200
  • Autocrypt: addr=imac@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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
  • Delivery-date: Mon, 23 Apr 2018 10:08:17 +0000
  • List-id: Xen user discussion <xen-users.lists.xenproject.org>
  • Openpgp: preference=signencrypt

Hi Robert,

On 20/04/18 18:28, rmcnicol@xxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxxxxx/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@xxxxxxxxxx>
>> Sent: April 20, 2018 8:03 AM
>> To: rmcnicol@xxxxxxxxxxxxxxxxxx
>> 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@xxxxxxxxxxxxxxxxxxxx/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@xxxxxxxxxxxxxxxxxx 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@xxxxxxxxxx>
>>>> Sent: April 19, 2018 1:12 AM
>>>> To: xen-users@xxxxxxxxxxxxxxxxxxxx
>>>> 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@xxxxxxxxxx  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@xxxxxxxxxx  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@xxxxxxxxxx  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

Attachment: signature.asc
Description: OpenPGP digital signature

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

 


Rackspace

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