Seems that I am having an issue installing pfsense firewall which is build on freeBSD12 into a qemu/kvm in Ubuntu.

When it starts to boot, prior to the 'Install Box' I get a kernal panic Image of fail

Here are my versions

bridge-utils is already the newest version (1.6-2ubuntu1).
libvirt-clients is already the newest version (6.0.0-0ubuntu8.15).
libvirt-daemon-system is already the newest version (6.0.0-0ubuntu8.15).
qemu-kvm is already the newest version (1:4.2-3ubuntu6.19).
virt-manager is already the newest version (1:2.2.1-3ubuntu2.1).
virtinst is already the newest version (1:2.2.1-3ubuntu2.1).

It seems that there had been a bug in the past where you needed to have the chipset to i440fx, however that is where I am set.

I have tried with both qcow2 and ISO storage as other posts that i have read suggested, but to change to the error. I also have re-downloaded the install pfsense ISO form a different mirror, as well as tried to install just freebsd 12. I get the same kernel panic.

I am not sure if this is a setting that I am missing in kvm, as I am new to it, or if the version that I am using has issues with freebsd?

As a side note / update, I have been able to install OPNsense which uses a different BSD as I recall.

virt-manager Config XLM

domain type="kvm">
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://freebsd.org/freebsd/12.0"/>
  <memory unit="KiB">1048576</memory>
  <currentMemory unit="KiB">1048576</currentMemory>
  <vcpu placement="static">1</vcpu>
    <type arch="x86_64" machine="pc-i440fx-focal">hvm</type>
    <boot dev="hd"/>
    <vmport state="off"/>
  <cpu mode="host-model" check="partial"/>
  <clock offset="utc">
    <timer name="rtc" tickpolicy="catchup"/>
    <timer name="pit" tickpolicy="delay"/>
    <timer name="hpet" present="no"/>
    <suspend-to-mem enabled="no"/>
    <suspend-to-disk enabled="no"/>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2"/>
      <source file="/home/jc/Virtual Machines/pfsense.qcow2"/>
      <target dev="vda" bus="virtio"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x07" function="0x0"/>
    <disk type="file" device="cdrom">
      <driver name="qemu" type="raw"/>
      <target dev="hda" bus="ide"/>
      <address type="drive" controller="0" bus="0" target="0" unit="0"/>
    <controller type="usb" index="0" model="ich9-ehci1">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x7"/>
    <controller type="usb" index="0" model="ich9-uhci1">
      <master startport="0"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x0" multifunction="on"/>
    <controller type="usb" index="0" model="ich9-uhci2">
      <master startport="2"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x1"/>
    <controller type="usb" index="0" model="ich9-uhci3">
      <master startport="4"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x05" function="0x2"/>
    <controller type="pci" index="0" model="pci-root"/>
    <controller type="ide" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x1"/>
    <controller type="virtio-serial" index="0">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x06" function="0x0"/>
    <interface type="bridge">
      <mac address="52:54:00:55:83:9c"/>
      <source bridge="br1"/>
      <model type="virtio"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/>
    <serial type="pty">
      <target type="isa-serial" port="0">
        <model name="isa-serial"/>
    <console type="pty">
      <target type="serial" port="0"/>
    <channel type="spicevmc">
      <target type="virtio" name="com.redhat.spice.0"/>
      <address type="virtio-serial" controller="0" bus="0" port="1"/>
    <input type="mouse" bus="ps2"/>
    <input type="keyboard" bus="ps2"/>
    <graphics type="spice" autoport="yes">
      <listen type="address"/>
      <image compression="off"/>
    <sound model="ich6">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x04" function="0x0"/>
      <model type="qxl" ram="65536" vram="65536" vgamem="16384" heads="1" primary="yes"/>
      <address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0"/>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="1"/>
    <redirdev bus="usb" type="spicevmc">
      <address type="usb" bus="0" port="2"/>
    <memballoon model="virtio">
      <address type="pci" domain="0x0000" bus="0x00" slot="0x08" function="0x0"/>

Thoughts on what to try are greatly appreciated.


  • There were quite a few bugs in the past involving freeBSD and KVM. Would you mind trying to install OPNsense? Feb 7, 2022 at 1:20
  • I have had success with OPNsense install. No change to the settings that I tried with pfsense
    – Lost_Ones
    Feb 7, 2022 at 1:29
  • Is the panic identical each time - i.e. does the syslogd trigger the trap ?
    – drookie
    Feb 7, 2022 at 1:29
  • The panic seems the same each time, is there a good way to see what triggers? I cant scroll up to see
    – Lost_Ones
    Feb 7, 2022 at 1:37
  • Seems or is. That was a simple question.
    – drookie
    Feb 7, 2022 at 1:41

1 Answer 1


It seems you are using a very old version of libvirt.

You have the following options:

use OPNsense instead

OPNsense is a fork of m0n0wall as PfSense is. It has a similar set of features, but sometimes it feels a bit more complicated to do the same things. OPNSense builds on top of HardenedBSD, with overall better security and addresses various security issues of PfSense, like running the webinterface as root.

I switched from PfSense to OPNsense about half a year ago and so far haven't had any problems with it.

install newer version of Kubuntu

You could simply go with a non-LTS version of Kubuntu.

wait for Kubuntu 22.04 LTS

Ubuntu 22.04 LTS should be released on 21 April 2022.

Upgrading is quite easy and gives you access to newer packages.

If you can wait that long and want to stay on a LTS version, this would be the preferred option.

find a PPA with newer versions

The hardest part would be to find the PPA, adding it is quite easy.

build it yourself

Add the deb-src of a newer version of ubuntu to your sources.list and get the necessary packages, or get a tarball for each of them and compile them according to their documentation.

libvirt for example is compiled via meson.

  • 1
    Outstanding information. I have been using OPNsense for a few days now, and I found it rather straight forward to setup. I appreciate the attention and I will digest what route that I will go.
    – Lost_Ones
    Feb 7, 2022 at 12:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .