Why Arm & Why RK3588
It’s efficient at a unbeatable level compared to x64, with all the things I need. Idle at 5w, it can save me a cup of coffee per month. Why not?
Download system image
I use Armbian https://www.armbian.com/orange-pi-5-plus/
As recommanded, I use Etcher to flash image to TF card, you should be able to boot from TF card.
Boot from M2 SSD
Use Etcher again to write to SSD, this way you will have a OS to boot from once remove TF card.
Execute armbian-install
, and choose Install/Update the bootloader on MTD Flash
Once finished, you can power off and remove TF card.
Install Proxmox VE base on armbian
Armbian is based on Debian Bookworm, so is a good base for Proxmox VE. Below guide contains everything needed for it to work.
https://github.com/jiangcuo/Proxmox-Port/wiki/Install-Proxmox-VE-on-Debian-bookworm
Start your first Arm64 VM on RK3588
Below is my config for my primary Ubuntu Server just for reference.
|
|
Arm KVM support is super limited, so the config is almost fixed.
CPU has to be max
, BIOS has to be OVMF
, vga has to be ramfb
, SCSI and network driver has to be VirtIO
.
CPU affinity must be set. KVM won’t run if you mix A76 and A55 cores, so max CPU cores you can use for VM is 4.
Big core: 4-7, Small core: 0-3. In this VM I use all Big cores.
Side note: I do recommand general arm64 images instead of RK3588 specific for VM use, better compatibility, less compiling.
Pass-through Devices
Short answer is, right now there is no great way to pass through devices in KVM given the limited IOMMU support.
So the only way to pass-through GPU & NPU use mount bind in LXC container.
Bind mount inside LXC container
|
|
Above is sample config that I used for bind mount to pass through a GPU & corresponding drivers.
TBD: PCIE passthrough for RK3588
There is a actually a guide to enable PCIE passthrough,
https://dl.radxa.com/users/dev/Rockchip_PCIe_Virtualization_Developer_Guide_CN.pdf
I don’t need it that much, if I need it someday will try to make it work.