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

UEFI booting, and compiling Xen



Hello.

I am trying to compile Xen from source in order to experiment with features not available in OS distributions. Specifically, I want UEFI booting, for which I think I need OVMF <https://wiki.xenproject.org/wiki/OVMF> in Xen 4.4. (If anyone has another method for getting that based on e.g. Alpine Linux 3.20 I would like to know!)

The instructions for Compiling Xen From Source <https://wiki.xenproject.org/wiki/Compiling_Xen_From_Source> seem very out of date. Many of the build dependencies listed do not even exist in recent distributions.

I'm sure someone out there has a stable baseline for builds. For example, someone is likely running automated builds on well known cloud baselines plus some configuration. I'd like to see that configuration. I've had a look around on <https://xenbits.xen.org/gitweb/> but could do with a pointer. The sort of information I'm looking for is a setup for a stable build platform, like <https://github.com/Ravenbrook/mps/blob/master/.github/workflows/build-and-test.yml> (though this isn't a great example as it has no package dependencies).

If I can get the information together I can post a working recipe and update the wiki.

My build platform of choice is Ubuntu 22 with LXD. I'm happy to launch LXD containers for other distributions and older versions. What I'd like is a working recipe for setting up a build environment from a known baseline.

Here is an example of such a recipe:

  rb@kiwi:~$ lxc launch -s kiwi-tmp images:debian/12 xen-build
  rb@kiwi:~$ lxc exec xen-build -- bash --login
  root@xen-build:~# apt-get install --yes build-essential git
  root@xen-build:~# git clone -b stable-4.4 git://xenbits.xen.org/xen.git
root@xen-build:~# sed -ne 's/^deb /deb-src /p' < /etc/apt/sources.list >> /etc/apt/sources.list
  root@xen-build:~# apt-get build-dep xen
  root@xen-build:~# cd xen
  root@xen-build:~/xen# ./configure

Unfortunately, this is where things break. The configure script is looking for Python 2, which is long gone.

I can of course build the version from Debian's package repo but that doesn't help much.

  root@xen-build:~# apt-get source xen
  root@xen-build:~# cd xen-4.17.3+10-g091466ba55/
  root@xen-build:~/xen-4.17.3+10-g091466ba55# dpkg-buildpackage

As I mentioned above, the documented build dependencies on the wiki <https://wiki.xenproject.org/wiki/Compiling_Xen_From_Source#Build_Dependencies_-_Debian_/_Ubuntu> are very out of date.

The wiki page even talks about Debian Wheezy as if it's new. It was released in 2016.

It's possible this message should go to the Xen-devel list <https://lists.xenproject.org/mailman/listinfo/xen-devel> but that seems to be a lot of traffic of configuration management and build messages, so I thought I'd try here first.

Thanks.




 


Rackspace

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