Proxmox Running On A Raspberry Pi 4

Because the Raspberry Pi uses an ARM based CPU some people think that Proxmox can’t be run on that CPU architecture. The reason is that the Proxmox developers themselves have not released anything official. This is true. There is one developer however that did provide everything necessary to get Proxmox running on a Raspberry Pi.

My implementation wasn’t difficult to set up. The Web UI runs flawlessly. Containers install with ease. Each template provided for various distributions all seem to work. I have five containers running on the 8gb version of the Raspberry Pi 4. They are: Fedora 34, Ubuntu 21.04, Arch, openSUSE 15.3, and Rocky Linux. At 512mb of RAM for each container they consume less than 2gb of RAM combined.

This is not to say that the implementation is perfect. There are some issues. None of them appear to be show stoppers.

One issue is the memory reporting in containers is incorrect. All containers show the host’s full memory is available to them. Another is that the hard drives are absent from the smart monitoring tool. This is a given as the raspberry pi has no SATA connector. Storage is typically a flash card or an external USB drive.

The process of setting this up was quite easy. You download and install the Raspberry Pi OS image based on the Debian 11 distribution.

Once done you add the repository and then install the pve-manager (don’t install the proxmox-ve). After that is done you can go to your web browser and open a page at the IP address on port 8006 for your raspberry pi. Log in with your Linux root user and password (via pam). Then you can create additional users.

https://cdimage.debian.org/cdimage/release/current/arm64/iso-cd/

Make sure you give your Raspberry Pi a good hostname and a fixed IP address. Put the name and IP address in the /etc/hosts file. The install fails otherwise (I think some later configuration fails). As root … Add the deb information:

  1. curl https://gitlab.com/minkebox/pimox/-/raw/master/dev/KEY.gpg | apt-key add –
  2. curl https://gitlab.com/minkebox/pimox/-/raw/master/dev/pimox.list > /etc/apt/sources.list.d/pimox.list

sudo apt update

sudo apt install pve-manager

Note: Do not install proxmox-ve (which you might be tempted to do) because that attempts to install a kernel that hasn’t been made for this version of Proxmox on the Pi.

Once this is complete reboot the raspberry pi. If everything worked properly Proxmox should then be running.

There are no official template repositories from the Proxmox for the ARM version. However, there are containers that are being built for arm64 that work with the Raspberry Pi.

I got my containers from:

https://jenkins.linuxcontainers.org/view/Images

From there you can download the root.tar.xz (one for each distribution offered) and place those in the appropriate templates folder (/var/lib/vz/templates/cache). Use those to create an instance of the container through the Proxmox Web UI.

Make sure that you choose the arm64 version and drill down to find the rootfs.tar.xz. I rename them appropriately. For Ubuntu I renamed the file from root.tar.xz to ubuntu.root.tar.xz.