value 'cortex-a8' does not have a value in the enumeration

K. de Jong

New Member
Jun 12, 2019
for a test development project i am trying to create a kvm with cortex-a8

cat /etc/pve/nodes/gcpve01/qemu-server/101.conf
arch: aarch64
bios: ovmf
boot: dcn
bootdisk: scsi0
cores: 1
efidisk0: local:101/vm-101-disk-1.qcow2,size=128K
ide2: none,media=cdrom
machine: realview-pb-a8
cpu: cortex-a8
memory: 512
name: T2orig
net0: virtio=BE:AA:C2:9B:C1:50,bridge=vmbr0,firewall=1,tag=2
numa: 0
ostype: l26
scsi0: local:101/vm-101-disk-0.qcow2
scsihw: virtio-scsi-pci
smbios1: uuid=f2ebfb68-806d-448e-ad83-4faf37fe56ea
sockets: 1
vga: virtio
vmgenid: 450582ce-c469-4139-ac8d-21b6af31dfb4
ofcourse proxmox manager has a different opinion:

Task viewer: VM 101 - Start
vm 101 - unable to parse value of 'cpu' - format error
cputype: value 'cortex-a8' does not have a value in the enumeration '486, athlon, Broadwell, Broadwell-IBRS, Broadwell-noTSX, Broadwell-noTSX-IBRS, Conroe, core2duo, coreduo, EPYC, EPYC-IBPB, Haswell, Haswell-IBRS, Haswell-noTSX, Haswell-noTSX-IBRS, host, IvyBridge, IvyBridge-IBRS, kvm32, kvm64, max, Nehalem, Nehalem-IBRS, Opteron_G1, Opteron_G2, Opteron_G3, Opteron_G4, Opteron_G5, Penryn, pentium, pentium2, pentium3, phenom, qemu32, qemu64, SandyBridge, SandyBridge-IBRS, Skylake-Client, Skylake-Client-IBRS, Skylake-Server, Skylake-Server-IBRS, Westmere, Westmere-IBRS'
qemu-system-aarch64: -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f: Bus 'pci.0' not found
TASK ERROR: start failed: command '/usr/bin/qemu-system-aarch64 -id 101 -name T2orig -chardev 'socket,id=qmp,path=/var/run/qemu-server/101.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/ -daemonize -smbios 'type=1,uuid=f2ebfb68-806d-448e-ad83-4faf37fe56ea' -drive 'if=pflash,unit=0,format=raw,readonly,file=/usr/share/pve-edk2-firmware//AAVMF_CODE.fd' -drive 'if=pflash,unit=1,format=qcow2,id=drive-efidisk0,file=/var/lib/vz/images/101/vm-101-disk-1.qcow2' -smp '1,sockets=1,cores=1,maxcpus=1' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc unix:/var/run/qemu-server/101.vnc,x509,password -cpu cortex-a57 -m 512 -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'vmgenid,guid=450582ce-c469-4139-ac8d-21b6af31dfb4' -device 'usb-ehci,id=ehci,bus=pci.0,addr=0x1' -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' -device 'usb-kbd,id=keyboard,bus=ehci.0,port=2' -device 'virtio-gpu,id=vga,bus=pci.0,addr=0x2' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi '' -drive 'if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=100' -device 'virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5' -drive 'file=/var/lib/vz/images/101/vm-101-disk-0.qcow2,if=none,id=drive-scsi0,format=qcow2,cache=none,aio=native,detect-zeroes=on' -device 'scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=200' -netdev 'type=tap,id=net0,ifname=tap101i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown' -device 'virtio-net-pci,mac=BE:AA:C2:9B:C1:50,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -machine 'accel=tcg,type=realview-pb-a8'' failed: exit code 1​
The CPU isn't available? You can't use it, go to GUI, select the VM, then Hardware, now double click on CPU und check the Dropdown.

How do you know that you can use this type?
in the web gui, the cpu is not available, but i can bash around :)

# apt install qemu-system-arm
qemu-system-arm : Depends: libspice-server1 (>= 0.12.5)
Recommends: qemu-utils
# apt install libspice-server1
The following packages will be REMOVED:
proxmox-ve pve-libspice-server1 pve-manager pve-qemu-kvm qemu-server spiceterm
Do you want to continue? [Y/n] n

I wonder what the differences are between libspice-server1 and pve-libspice-server1
It seems that is really not recommend to do. If you do, you will un-install PVE itself.
yes its not recommended, but i have this beaglebone green that i need to emulate

Short answer: Then do it without PVE integration :-D

Longer answer:
With binfmt kernel compatibility and some changes to the PVE code, you should get it to work in LXC. I did it for PVE 4 years ago, but didn't follow through, because I just chroot into the systems directly nowadays. Maybe that's also a way to go.
  • Like
Reactions: K. de Jong
yes its not recommended, but i have this beaglebone green that i need to emulate
That's an ARM CPU. KVM is only useful if the cpu you are virtualizing is compatible with the one you are running on. Otherwise qemu-system can be used to emulate the foreign CPU. That works, but is is much slower than KVM. You may as well do this on a real PC or in a VM on Proxmox. There's no advantage to using Proxmox itself.
  • Like
Reactions: K. de Jong
yes i suppose that is the route to take, install a minimal debian and emulate the arm on it, thanks everyone


The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!