Learn the complete Proxmox ARM64 guest setup with step-by-step instructions and code to run ARM64 VMs efficiently on your server. Our Proxmox Support Team is always here to help you.
How to Do a Proxmox ARM64 Guest Setup
Virtualizing ARM64 on Proxmox VE can feel tricky at first, but once you understand the process, it becomes straightforward. The Proxmox ARM64 guest setup allows you to create ARM64 VMs on an Intel x64 host, opening up testing and development opportunities for software designed for ARM architecture. This guide walks you through the process in detail, including every configuration step and required code.
An Overview
Preparing Your Proxmox Environment
Begin by logging into your Proxmox web UI. Then, select a storage from the left navigation pane where you want to download the ISO.
For Proxmox 6:
- Download the Debian ARM64 ISO and upload it to the Proxmox ISO image library.
For Proxmox 7:
- Click “Download from URL,” paste the ISO URL, click “Query URL,” and then “Download.”
Next, right-click your Proxmox node name and select Create VM. Enter the VM name, for example, DebianARM64, and set a VM ID (ensure it’s unique).
Configure the VM as follows:
- Type: Linux
- Version: 5.x – 2.6 Kernel
- Media: Do not use any media
On the System tab, set the BIOS to OVMF (UEFI) and uncheck the “Add EFI Disk” checkbox.
Adjust the Hard Disk settings: choose the storage device and set disk size (16 GB recommended).
For CPU and Memory, assign 2 cores and 2048 MB RAM, respectively. The Network tab can remain default.
Finally, verify the summary and click Finish.
Configuring the Debian ARM64 VM
Once the VM is created, select it from the navigation pane and go to Hardware. Remove the default CD/DVD drive. Then:
- Add a Serial Port – leave the port number at 0.
- Add a CD/DVD Drive – set Bus/Device to SCSI, select storage, and attach the Debian ARM64 ISO.
- Edit Display – set Graphic card to Serial terminal 0.
- Adjust Boot Order – drag SCSI2 (ISO) to the top.
Next, open a terminal and edit the VM configuration file:
# edit the VM conf file, change 164 to your VM ID
nano /etc/pve/qemu-server/164.conf Add this line at the bottom:
arch: aarch64 Also, comment out the vmgenid: line by adding # at the beginning. Save and exit (CTRL+O, Enter, CTRL+X).
Back in the Proxmox web UI, start the VM from the console. Wait for the serial console to initialize and follow the OS installation prompts.
Note: The installation may feel slower than usual. Allow it time to complete.
After installation, shut down the VM, remove the CD/DVD drive, and restart. Launch Debian from the EFI shell using:
fs0:\EFI\debian\grubaa64.efi The GRUB menu should load Debian successfully.
Alternative Configuration and Notes
Another way to configure the VM is by editing the .conf file directly. Here’s a complete example:
arch: aarch64
balloon: 512
bios: ovmf
boot: dcn
bootdisk: scsi0
cores: 2
efidisk0: local-lvm:vm-107-disk-2,size=64M
memory: 2048
name: ubuntuARM
net0: virtio=42:A1:3F:26:49:A0,bridge=vmbr0,firewall=1
numa: 0
ostype: l26
scsi0: local-lvm:vm-107-disk-0,size=32G
scsihw: virtio-scsi-pci
serial0: socket
smbios1: uuid=44d79ea7-810e-4b91-936a-21735b3dbfaf
sockets: 1
vga: serial Do not add cputype as it will prevent Proxmox from loading the VM.
[If needed, Our team is available 24/7 for additional assistance.]
Conclusion
This Proxmox ARM64 guest setup allows developers and enthusiasts to run ARM64 VMs without needing dedicated hardware. Each configuration and command above is essential, ensuring your VM runs smoothly and efficiently. Moreover, this approach works for both Debian and Ubuntu ARM64 images. By following this guide, you get a functional ARM64 virtual environment on your Proxmox server, fully controlled via the web UI.
With careful configuration and patience, running ARM VMs becomes reliable. Keep in mind that performance is limited compared to bare-metal ARM devices, but for testing and development, this setup is invaluable.