To run the Debian 13 (Trixie) ARM64 cloud image (debian-13-nocloud-arm64.qcow2) on a Debian 13 GNOME x86-64 host using Virtual Machine Manager (virt-manager), you need to use QEMU/KVM with full emulation because your host is x86-64 and the guest image is ARM64. Native KVM acceleration won’t work for cross-architecture emulation, so you’ll rely on QEMU’s TCG (Tiny Code Generator) mode.
Here’s a step-by-step guide:
Ensure QEMU, libvirt, and virt-manager are installed:
bashsudo apt update sudo apt install qemu-system-arm qemu-utils libvirt-daemon-system libvirt-clients bridge-utils virt-manager
Add your user to the libvirt and kvm groups:
bashsudo usermod -aG libvirt,kvm $USER newgrp libvirt
Restart your session or log out/in for group changes to take effect.
Download the image to a directory of your choice (e.g., ~/vm-images/):
bashmkdir -p ~/vm-images cd ~/vm-images wget https://cloud.debian.org/images/cloud/trixie/latest/debian-13-nocloud-arm64.qcow2
virt-manager GUIvirt-manager).debian-13-nocloud-arm64.qcow2 file.host or cortex-a57 (or another ARM64 CPU model).UEFI (if available for ARM64).textroot=/dev/vda console=ttyAMA0
virt-install (CLI)Run the following command to create the VM:
bashvirt-install \ --name debian13-arm64 \ --ram 2048 \ --vcpus 2 \ --disk path=~/vm-images/debian-13-nocloud-arm64.qcow2,format=qcow2,bus=virtio \ --os-type linux \ --os-variant generic-aarch64 \ --machine virt,accel=tcg \ --cpu cortex-a57 \ --boot uefi \ --import \ --noautoconsole \ --network bridge=virbr0
Note:
--accel=tcg forces QEMU to use emulation (no KVM).--cpu cortex-a57 specifies an ARM64 CPU model.--boot uefi uses UEFI for ARM64 (required for most modern ARM64 images).The nocloud image expects cloud-init metadata. To enable SSH access or set a password:
user-data file (e.g., ~/vm-images/user-data) with:
yaml#cloud-config user: debian password: yourpassword chpasswd: { expire: False } ssh_pwauth: True
meta-data file (e.g., ~/vm-images/meta-data) with:
yamlinstance-id: debian13-arm64 local-hostname: debian13-arm64
bashgenisoimage -output ~/vm-images/seed.iso -volid cidata -joliet -rock user-data meta-data
virt-manager or via virt-install:
bashvirt-install \ ... \ --disk path=~/vm-images/debian-13-nocloud-arm64.qcow2,format=qcow2,bus=virtio \ --disk path=~/vm-images/seed.iso,device=cdrom,bus=sata \ ...
virt-manager, double-click the VM and start it.virt-install, the VM will start automatically. Connect to the console with:
or usebashvirt-viewer debian13-arm64
virsh console debian13-arm64.user-data.debian with no password (or use the serial console).virtio for network and disk for better performance.qemu-system-aarch64 is installed and the CPU is set to an ARM64 model.-nographic to the QEMU command or use the serial console.Le Chat can make mistakes. Check answers. Learn more