Installing Proxmox on your old PC is a great way to set up a home lab without spending money on new hardware. If you're tight on cash, used server rigs and inexpensive mini PCs make solid home lab systems.
But how about a cheap ARM system – like the Raspberry Pi? If you're willing to invest a little more time in setting it up, you can get Proxmox running on these credit card-sized boards.
What you need
If a Raspberry Pi is the heart of your makeshift Proxmox machine, you'll want to use newer boards like the Raspberry Pi 5 for maximum performance, although a RPi 3 should technically work with the process we're following. Speaking of which, we're using the custom Raspberry Pi UEFI image to boot into a Proxmox variant optimized for ARM64 devices.
Therefore, you will need at least three storage devices for the project: a microSD card with at least 1 GB of storage capacity for the UEFI files, a bootable USB drive with the Proxmox image, and another external storage drive (preferably an HDD/SSD) on which you will install the virtualization environment.
If you are doing this tutorial on the Raspberry Pi 5, you will need an additional USB to Ethernet adapter as a network interface. This is because the UEFI firmware for the latest and greatest RPi board is not compatible with the onboard RJ45 port.
Copying the UEFI files to a microSD card
Once you have all the required components, you can begin this project by copying the UEFI files to the microSD card. If the name Raspberry Pi UEFI sounds familiar, that's because it's the same set of files we used when installing Windows 11 on the Raspberry Pi. Although the RPi boards use separate UEFI repos, the overall procedure is the same whether you're using a Raspberry Pi 3, 4, or 5 for this project.
- Download the latest version of the UEFI.zip file to your PC from the GitHub link and extract it to the desired location.
- Insert the microSD card into your system.
- If the card uses a different file system, open File Explorer and right-click on the microSD card before clicking on Format…
- Sentence FAT32 than the File system and met start.
- Copy the extracted UEFI files and paste it into the newly formatted microSD card.
Creating a bootable Proxmox USB drive
When the microSD card is ready, the next step is to flash the Proxmox ISO to another USB drive. We will use Rufus in this tutorial, but you can also use Balena Etcher and other tools.
- Download the latest version of the ARM64 port of Proxmox ISO from this GitHub link.
- Download the portable version of Rufus and run it with administrator privileges.
- Connect a USB drive to your system and insert it as Device in Rufus.
- Press the Choose Button next to Boots Selection and select the Proxmox-ISO You downloaded it before.
- hit start and wait until Rufus finishes writing the Proxmox files to the USB drive.
Installing Proxmox on the Raspberry Pi
Now that you have both the microSD card and bootable drive, it's time to set up Proxmox on the SBC. Once you're ready, plug the microSD card into the Raspberry Pi before connecting the bootable hard drive, HDMI cable keyboard, and storage drive. Again, if you're using the RPi5, connect a USB to Ethernet adapter to the SBC.
- hit Esc on the Raspberry Pi UEFI to enter the firmware menu.
- Enter the Boot Manager and select the Bootable USB drive.
- Select the icon Install Proxmox VE with kernel 6.1 Option on the Proxmox welcome screen.
- Select “I agree to the EULA.”
- Choose carefully the Drive where you want to install Proxmox.
- Enter the password And E-mail address before typing Next.
- Make sure that the correct Network adapter is connected in the Management device and enter the Hostname (FQDN) for your Raspberry Pi Proxmox server.
- Click Install and wait for the setup wizard to finish installing Proxmox on your storage drive.
Building a miniature home lab with Raspberry Pi
If you have followed all the steps correctly, your Proxmox server should be accessible via the IP address you specified in the installation wizard. This will allow you to start your home lab adventures. At least until you get to the Display not initialized error message when you try to check the console output on your VMs. Fortunately, the solution is as simple as toggling the BIOS To UEFIAdding a new Serial port(0) in the Hardware tab of your VM and change the Advertisement setting to use Serial Terminal (0) instead of the standard Attitude.
In addition to performance issues, you'll also run into problems when trying to initialize non-ARM containers or virtual machines within the server, so I wouldn't recommend you buy a Raspberry Pi if your main goal is to build a powerful home lab. However, if you have one of the newer RPi boards lying around, you can use it to get familiar with the Proxmox UI.