BPI-R4 as Proxmox VM Hypervisor (Working!)

Hello everyone,

I’ve finally completed my project of turning the BPI-R4 into a Proxmox hypervisor and yes, it’s working!

At the moment, I have the following running smoothly:

  • OpenWRT
  • A Docker VM
  • An OpenMediaVault (OMV) VM

While not everything is functional yet, I’ve managed to get most features working reliably.


Screenshots

How I Did It

  • Based the system on frank-w’s Debian image
  • Followed a Raspberry Pi Proxmox installation guide as reference
  • Initially failed due to missing FUSE modules, recompiled the kernel from frank-w’s repo including FUSE
  • Got Proxmox running, but VMs failed to launch due to missing KVM and virtualization modules - recompiled again
  • Successfully ran OpenWRT, but ran into networking issues
  • Since BPI-R4 uses DSA, passing through RJ45 ports to OpenWRT was challenging, required macvlan and macvtap, recompiled again with those modules
  • Ran out of storage, added an SSD, but couldn’t use it via Proxmox GUI due to missing device mapper modules, recompiled again
  • With more storage, set up a Docker VM for containers, had networking issues, but resolved them
  • Installed Debian on another VM and converted it into an OMV instance, successfully enabled ZFS, and created a RAIDZ2 test volume using virtual disks

What’s Not Working (Yet)

  • RJ45 passthrough to OpenWRT isn’t working yet
  • PCI passthrough is not functional yet

What I Want to Achieve

  • LAN passthrough to fully utilize OpenWRT, but my networking skills are limited and the current setup is already complex
  • PCI passthrough, for 3 main goals:
    1. Attach an M.2 to SATA adapter and move SATA drives into the OMV VM
    2. Use an M.2 to PCIe adapter to test GPU passthrough if successful, I’d like to try GPU transcoding in Jellyfin or even run a local LLM
    3. Pass through a Wi-Fi card to OpenWRT to manage wireless directly

Untested Hardware

  • All 3 Mini PCIe slots
  • Both SFP ports

I’m open to suggestions, advice, and happy to help anyone trying to replicate this setup. Let me know if you have any questions, I can walk you through the process.

3 Likes

Can you please let us know which CONFIG_XXX kernel options you needed to add?

I can upload my kernel .config file, I made many iterations at this point I don’t remember each one individually. However you can compare this one to the one I based (frank-w’s repo) and see each changed value. Here you go: .config (177.4 KB)