DISK=/Dati/img/FreeBSD-13.2-RELEASE-arm-armv7-GENERICSD.img
qemu-system-arm \
-enable-kvm -serial stdio \
-m 1024 -M virt -cpu cortex-a15 \
-drive if=pflash,format=raw,unit=0,file=$UEFICODE \
-drive if=pflash,format=raw,unit=1,file=$UEFIVARS \
-drive file=$DISK,media=disk,format=raw \
-device i82559b,netdev=net0,mac="52:54:00:12:34:55" \
-netdev type=user,id=net0 \
-device virtio-gpu-pci \
-usb -device nec-usb-xhci \
-device usb-kbd -device usb-mouse \
-device vmware-svga,id=video0,vgamem_mb=16
As you can see from this boot log messages :
https://pastebin.ubuntu.com/p/DWggdRRxVv/
So,this argument is good :
-drive file=$DISK,media=disk,format=raw \
but these arguments used by libvirt aren't able to boot FreeBSD because the virtio disk attached is not recognized (I also tried with
a SATA disk and it is not regognized as well) :
<disk type="file" device="disk">
<driver name="qemu" type="raw"/>
<source file="/Dati/img/FreeBSD-13.2-RELEASE-arm-armv7-GENERICSD.img"/>
<target dev="vda" bus="virtio"/>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</disk>
as you can see :
What's the difference ? Do you have some vague idea about the reason ? I don't know if the cause is related to libvirt or to FreeBSD,so I'm trying to exclude one of these.