Any recommendations for OEM VM appliances using BIOS & old chipset

Hi all

First of all, thanks for all your hard work on this great project!

Was hoping to replace VMware vSphere with LXD and I have some OEM VM appliances that are available as KVM VMs, however they are not UEFI and the VPX (#1) doesn’t seem to like Q35 chipset at all from what I can tell. They are:

  1. Citrix ADC VPX v13 which is based on an unknown version of freeBSD
  2. Pulse Secure vADC vTM v21, which is based on Ubuntu 18.04
  3. Dell OpenManage Enterprise 3.8, which is based on Centos 7

My big hurdle is the VPX (#1), so are there some unsupported settings that I could use to enable the booting these KVM VMs via legacy BIOS and working with older chipsets?


Slight bit of progress with the VPX (#1), it boots fine in KVM with pc-q35-2.5 and below, but still using BIOS.

So the question is whether in LXD we can use the -machine -bios parameters in config/profile > raw.qemu ?

I’ve never attempted to do it, but yeah, it may be possible to do that through raw.qemu overriding the firmware in a way that makes it load seabios rather than EDK2.

Otherwise, there is a Github issue at where we’re trying to figure out what we may be able to do to allow for unsupported machine definitions through LXD.

To test I have installed seabios on the cluster node hosting the VM and copied the files to /var/snap/lxd/common/lxd/logs/bios and referenced the .bin files in that directory in instance config > raw.qemu: -machine pc-q35-2.5 -boot /var/snap/lxd/common/lxd/logs/bios/bios.bin. I can see the parameters being passed to qemu-system-x86_64 on the host but still getting the UEFI and it cannot boot from the the disk, so tries PXE.

So I’m doing something wrong or the raw.qemu config is being ignored.

Also I’m not seeing a nice way of updating the VPX appliance firmware if we’ve hacked the image to get it to work, by attacking it from the GPT and UEFI angles.

I think the way forward for us would be to put KVM on one of the LXD cluster nodes (if possible) to run this VPX appliance VM… until Citrix produces a modern image.

Thanks for your time and advice.

Might be worth noting here that nested virtualization works well under LXD, so you could have a LXD VM run your legacy/BIOS stuff until they’ve been refreshed to work properly under UEFI at which point that LXD VM can go away.

Then that is a very good idea, so thank you very much.

Have a wonderful day :slight_smile: