Hello all,

As noted before, going back to 2020.11-2+deb11u1 allows booting HVM domains. 
However, for us it slowed down the boot from half a minute to two minutes, when 
using PCI passthrough.
The Xen community pointed out to me that this may be due to a patch for Xen not 
being built in that version 
(https://github.com/tianocore/edk2/commit/c05de360ec614f71716a201760b91ee055a5ff28).

I propose to either

- ship a Xen specific version of OVMF (as suggested here 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=978595 and above and similar 
to Fedora https://packages.fedoraproject.org/pkgs/edk2/edk2-ovmf-xen/) or 
- build Xen with OVMF included (the Xen build should supports this).

However, I myself could get neither package to compile this way from Debian 
sources.

We mitigated the problem for us, by building OVMF ourselves from  
git://xenbits.xen.org/ovmf.git for "edk2-stable202305", the latest tag found 
there. It should actually be the same for 
https://github.com/tianocore/edk2.git, but I did not try.

On Debian 12 to make it work we

- removed "brotli" from BaseTools/Source/C/Makefile (otherwise the build will 
fail with warnings treated as errors)
- apt-get build-dep -y ovmf
# Build needs GCC 11 instead of version 12 shipped with Debian 12, because 
otherwise again the build will end with warnings treated as errors
- apt-get install -y gcc-11 g++-11 libgcc-11-dev
- update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 1
- update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 1
- cd BaseTools; make -C Source/C
- cd ..; OvmfPkg/build.sh -a X64 -b RELEASE -p OvmfPkg/OvmfXen.dsc 

Then "Build/OvmfXen/RELEASE_GCC5/FV/OVMF.fd" must be placed at 
"/usr/share/ovmf/OVMF.fd", because the Debian package for Xen is compiled with 
"--with-system-ovmf=/usr/share/ovmf/OVMF.fd".

Best regards,
Tobias

Reply via email to