I have some success creating Vagrant base boxes with Packer for x86 and x86_64 guests, including VirtualBox, VMware, and qemu hypervisors. Now, I want to start making ARM guests with Packer and qemu, but I am not sure how to resolve the error that I am getting.




$ packer build debian-arm64.json
qemu-system-aarch64 \
"-cdrom" \
"/home/andrew/go/src/github.com/mcandre/packer-templates/debian/packer_cache/2a6f0986fb423f739b50f89f0d4905752bcac8eb.iso" \
"-drive" \
"file=output-qemu/debian-arm64,if=virtio,cache=writeback,discard=ignore,format=qcow2" \
"-m" \
"1024" \
"-boot" \
"once=d" \
"-name" \
"debian-arm64" \
"-netdev" \
"user,id=user.0,hostfwd=tcp::2406-:22" \
"-device" \
"virtio-net,netdev=user.0" \
"-machine" \
"type=virt,accel=tcg" \
"-display" \
"sdl" \
"-vnc" \
qemu-system-aarch64: no function defined to set boot device list for this architecture

Any tips for resolving this error? Unfortunately, there aren't too many ARM examples for Packer posted online quite yet.

  • Looks like you're missing UEFI options. Mar 24, 2019 at 4:29

1 Answer 1


I got far with:

  "type": "qemu",
  "format": "raw",
  "qemu_binary": "qemu-system-arm",
  "qemuargs": [ [ "-machine", "virt" ],
                [ "-device", "virtio-gpu-pci" ],
                [ "-boot", "strict=off" ]],

Nigh, the guest display was not coming up.

The qemu engineers mentioned that, though:


  • It is good to have a pointer to the reference, but expected to have the relevant contents of that URL copied and pasted here.
    – rjt
    Dec 30, 2019 at 2:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.