assuming the host is up and running already
grab the latest release ISO image
mkdir -p /data/ISO-IMAGES/freebsd130/ cd /data/ISO-IMAGES/freebsd130/ mirror=... wget $mirror/releases/ISO-IMAGES/13.0/FreeBSD-13.0-RELEASE-amd64-disc1.iso.xz unxz FreeBSD-13.0-RELEASE-amd64-disc1.iso.xz ln -sf FreeBSD-13.0-RELEASE-amd64-disc1.iso disc1.iso mkdir -p /data/guests/freebsd/ cd /data/guests/freebsd/ virt-install \ --name freebsd \ --vcpus 3 \ --ram 7168 \ --disk path=/data/guests/freebsd/freebsd.qcow2,size=26,bus=virtio \ --cdrom /data/ISO-IMAGES/freebsd130/disc1.iso \ --network bridge=virbr0,model=virtio \ --os-type generic \ --os-variant generic \ --graphics vnc,port=5900 \ --console pty,target_type=serial \ --autoconsole
on the VNC console, press some key to get to the OK prompt
set console=comconsole virsh console freebsd autoboot
virsh destroy freebsd virsh undefine freebsd rm -rf /data/guests/freebsd/
https://www.cyberciti.biz/faq/linux-kvm-redirecting-freebsd-virtual-machines-console-to-aserialport/