====== FreeBSD VM unter kvm-qemu ======
FreeBSD VM erstellen mit libvirt und kvm-qemu unter Linux.
FreeBSD ISO herunterladen
cd /var/vm/
wget https://download.freebsd.org/snapshots/amd64/amd64/ISO-IMAGES/15.0/FreeBSD-15.0-CURRENT-amd64-20250801-0a3792d5c576-279199-disc1.iso
VM erstellen
virt-install --connect qemu:///system --name bsd2vm2 --osinfo freebsd14.0 --memory 2048 --vcpus=4 --accelerate --graphics vnc,password=foobar,listen=::,port=5901 --disk /var/vm/bsd2vm2/disk0.img,size=40 --cdrom /var/vm/FreeBSD-15.0-CURRENT-amd64-20250710-78935fa40eee-278643-disc1.iso --network=default
Per VNC auf Port 5901 verbinden. Passwort ist foobar\\
Installation von FreeBSD durchführen.
In der FreeBSD VM in /boot/loader.conf diesen Zeilen hinzufügen.
console="comconsole"
comconsole_speed="115200"
Nach einem Neustart lässt sich die FreeBSD VM über die Konsole bedienen (VNC nicht mehr notwendig).
Konsole öffnen
virsh console bsd2vm2
Laufende VMs anzeigen
virsh list
Alle VMs anzeigen
virsh list --all
VM starten
virsh start bsd2vm2
VM hart abschalten
virsh destroy bsd2vm2
VM löschen
virsh undefine bsd2vm2
VM Config bearbeiten
virsh edit bsd2vm2
Die Config-Datei enthält ein XML-Dokument mit der libvirt Syntax. Vieles was qemu kann, lässt sich damit einstellen, aber nicht alles. Der qemu Befehl, der ausgeführt wird, kann bei laufender VM mit ps -Af | grep qemu angezeigt werden.
Bridge in Linux erstellen und Interface für VM hinzufügen, welches mit der Bridge verbunden wird.
ip link add name bridge0 type bridge
virsh attach-interface --domain bsd2vm2 --type bridge --source bridge0 --config
qemu erstellt beim Starten der VM beim Host ein tap-Interface und fügt es der Bridge hinzu.
Um Mehrere Queues für ein Interface zu verwenden, driver Element hinzufügen (Config von bsd2vm1).
Vollständige Config
bsd2vm2ae6238ca-43fd-402d-abac-653b0f22101a209715220971524hvmdestroyrestartdestroy/usr/bin/qemu-system-x86_64