qubes-issues icon indicating copy to clipboard operation
qubes-issues copied to clipboard

UEFI enabled HVMs hang on "Guest has not initialized the display (yet)"

Open xunillen2 opened this issue 2 years ago • 6 comments

Qubes OS release

Fresh install of 4.2-RC4

Brief summary

After upgrading to 4.2, UEFI enabled HVMs won't boot anymore and will just hang on Guest has not initialized the display (yet)

Steps to reproduce

  • Create an HVM qube
  • Set uefi domain feature to 1 via qvm-features <vm-name> uefi 1
  • Start HVM qube
  • It hangs on this:

failed

Expected behavior

HVM with UEFI boot enabled boots.

Actual behavior

It hangs while displaying the message Guest has not initialized the display (yet)

xunillen2 avatar Oct 18 '23 09:10 xunillen2

What I think is happening (And I might be wrong). It looks like there were changes related to edk2 packages and how things work. Starting with edk2-stable202108, they removed Xen support and moved it to the OvmfXen, and it looks like ovmf binaries provided in dom0 lack Xen support (not from edk2-ovmf-xen)...

So as for temporary solution, it is possible to get ovmf.bin firmware from R4.1 installation that still has Xen support (located at /usr/libexec/xen/boot/ovmf.bin) and place it in /usr/libexec/xen/boot/ovmf.bin in new R4.2 installation. With that, HVMs with uefi boot enabled work.

references: https://bugzilla.redhat.com/show_bug.cgi?id=2170730 https://bugzilla.tianocore.org/show_bug.cgi?id=2122

xunillen2 avatar Oct 18 '23 09:10 xunillen2

Thank you, for mentioning the workaround. I had the same problem, fetched the R4.1 ovmf.bin from https://yum.qubes-os.org/r4.1/current/host/fc32/rpm/xen-runtime-4.14.6-4.fc32.x86_64.rpm and it works for me too.

Update: My HVM/UEFI qube never had a PCI device attached and it still got stuck with ovmf.bin from R4.2.

lxp avatar Dec 25 '23 18:12 lxp

It works for HVM without PCI devices attached to it. But if I attach any PCI device to HVM with UEFI enabled then it'll be stuck at Guest has not initialized the display (yet) again.

apparatius avatar Dec 26 '23 21:12 apparatius

Yeah, this solution will only enable you to boot HVMs with uefi boot enabled. But soon as you add PCI devices to that HVM, it will get stuck again.

I'll try to see whats wrong today or tomorrow.

xunillen2 avatar Jan 23 '24 09:01 xunillen2

This looks like a Xen build system bug. There is no way that Xen should be building an ovmf.bin without Xen support.

DemiMarie avatar Oct 14 '24 01:10 DemiMarie

I don't think Xen builds OVMF at all. It looks to be taken from edk2-ovmf Fedora's package. I guess that's the problem, looking at Fedora package, it should be edk2-ovmf-xen nowadays. And since the package already seems to provide combined code+vars, that extra processing in xen.spec is not needed anymore.

marmarek avatar Oct 14 '24 02:10 marmarek