QEMU / KVM
QEMU / KVM Deployment
Section titled “QEMU / KVM Deployment”Arrow produces a QCOW2 (QEMU Copy-On-Write 2) image for QEMU/KVM environments. This format is compatible with QEMU, KVM, libvirt/virt-manager, and Proxmox VE.
QEMU / KVM (Command Line)
Section titled “QEMU / KVM (Command Line)”Prerequisites
Section titled “Prerequisites”Install QEMU and KVM on your Linux host:
# Debian/Ubuntusudo apt install qemu-system-x86 qemu-utils libvirt-daemon-system
# Fedora/RHELsudo dnf install qemu-kvm qemu-img libvirt
# Archsudo pacman -S qemu-full libvirtVerify KVM support:
kvm-ok# orls /dev/kvmLaunch the VM
Section titled “Launch the VM”qemu-system-x86_64 \ -enable-kvm \ -m 16G \ -smp 4 \ -cpu host \ -bios /usr/share/ovmf/OVMF.fd \ -drive file=kali-arrow-client.qcow2,format=qcow2,if=virtio \ -netdev user,id=net0,hostfwd=tcp::2222-:22 \ -device virtio-net-pci,netdev=net0 \ -device virtio-vga \ -display gtk| Flag | Purpose |
|---|---|
-enable-kvm | Use hardware virtualization (much faster) |
-m 16G | Allocate 16 GB RAM |
-smp 4 | Allocate 4 CPU cores |
-cpu host | Pass through host CPU features |
-bios OVMF.fd | UEFI firmware boot |
hostfwd=tcp::2222-:22 | Forward host port 2222 to VM port 22 (SSH) |
Headless Mode
Section titled “Headless Mode”For servers without a display:
qemu-system-x86_64 \ -enable-kvm \ -m 16G \ -smp 4 \ -cpu host \ -bios /usr/share/ovmf/OVMF.fd \ -drive file=kali-arrow-client.qcow2,format=qcow2,if=virtio \ -netdev user,id=net0,hostfwd=tcp::2222-:22 \ -device virtio-net-pci,netdev=net0 \ -nographic \ -serial mon:stdioThen SSH in:
ssh -p 2222 arrow@127.0.0.1virt-manager (GUI)
Section titled “virt-manager (GUI)”Import the Image
Section titled “Import the Image”- Open virt-manager
- Click Create a new virtual machine
- Select Import existing disk image
- Browse to the
.qcow2file - Set OS type to Linux > Debian 12 (or Generic Linux)
- Allocate resources:
- Memory: 16384 MB
- CPUs: 4
- Configure networking (default NAT or select a bridge)
- Check Customize configuration before install
- In the configuration window:
- Overview > Firmware: Select UEFI x86_64: /usr/share/OVMF/OVMF_CODE.fd
- Click Begin Installation
Recommended Settings
Section titled “Recommended Settings”| Setting | Minimum | Recommended | High Performance |
|---|---|---|---|
| vCPU | 2 | 4 | 8 |
| Memory | 8 GB | 16 GB | 32 GB |
| Disk bus | virtio | virtio | virtio |
| Network | virtio | virtio | virtio |
Proxmox VE
Section titled “Proxmox VE”Upload the Image
Section titled “Upload the Image”Upload the QCOW2 image to your Proxmox storage:
# Via SCP to the Proxmox hostscp kali-arrow-client.qcow2 root@proxmox-host:/var/lib/vz/images/Create the VM
Section titled “Create the VM”# Create a VM (adjust VMID as needed)qm create 200 \ --name kali-arrow-client \ --memory 16384 \ --cores 4 \ --bios ovmf \ --machine q35 \ --net0 virtio,bridge=vmbr0 \ --ostype l26 \ --agent enabled=1
# Add EFI diskqm set 200 --efidisk0 local-lvm:1,format=qcow2
# Import the diskqm importdisk 200 kali-arrow-client.qcow2 local-lvm
# Attach the imported diskqm set 200 --scsi0 local-lvm:vm-200-disk-1 \ --scsihw virtio-scsi-single \ --boot order=scsi0Start via GUI
Section titled “Start via GUI”- Open the Proxmox Web UI
- Select the VM (ID 200)
- Click Start
- Open the Console to access the VM
Start via CLI
Section titled “Start via CLI”qm start 200Troubleshooting
Section titled “Troubleshooting”| Issue | Solution |
|---|---|
| ”KVM not available” | Enable VT-x/AMD-V in BIOS. Verify with kvm-ok or ls /dev/kvm. |
| VM boots to UEFI shell | Ensure OVMF/UEFI firmware is specified. Install ovmf package if missing. |
| No network in VM | Check that virtio-net is used and the host bridge/NAT is configured correctly |
| Slow disk performance | Use if=virtio for the disk and ensure the image is QCOW2 format |
| Proxmox import fails | Ensure the target storage supports QCOW2. Use local-lvm with raw format if needed: qm importdisk 200 image.qcow2 local-lvm --format raw |
| Password doesn’t work | Credentials are generated at build time. Retrieve them from the ARROW Portal under your device’s details page. |