Skip to main content
Version: 0.6

Supported Boards

In principle, Rugpi supports all Raspberry Pi models. We may also extend support to other boards in the future. If you are interested in support for other boards, please open a discussion or contact us directly.

Here is an overview over all the supported Raspberry Pi models:

Pi 5Pi 4Pi 3Pi 2 v1.2Pi 2Pi 1Pi Zero 2Pi ZeroCM 4CM 3CM 1
11🤷‍♂️1111🤷‍♂️1🤷‍♂️1

✅ fully supported, 🤷‍♂️ in principle supported but untested

⚠️ Please also read the remarks for the respective boards bellow.

Raspberry Pi OS releases based on Debian Bullseye and Bookworm are supported.

For 32-bit models and to build 32-bit images for 64-bit boards, you need to set the architecture for the respective image to:

architecture = "armhf"

To build 32-bit images, you also need to enable emulation of armhf in Docker:

docker run --privileged --rm tonistiigi/binfmt --install armhf

For armhf, note that the architecture reported by uname -m during the build process is armv7l, however, when running the image later on a non-ARMv7 board (e.g., Pi Zero or Pi 1), then the architecture will be armv6l. Make sure that the binaries you install are compatible with the armv6l architecture, if you aim to deploy the image to these boards.

Raspberry Pi 5

If you are using the quick-start template, please use the tryboot image. The pi4 image is not compatible with Raspberry Pi 5 as it includes a bootloader update for Raspberry Pi 4 (see bellow). Updating the bootloader is not necessary for Raspberry Pi 5, as it already comes with the tryboot feature out-of-the-box.

Raspberry Pi 4 and Compute Module 4

The bootloader version shipped with Raspberry Pi 4 and Compute Module 4 does not support the tryboot feature out-of-the-box. To use Rugpi with these boards, the bootloader stored in the EEPROM must be updated to at least version 2023-05-11. For Compute Module 4, this requires usbboot (see CM4's documentation for details or check out this blog post by Jeff Geerling). For Raspberry Pi 4, you can set the include_firmware = "pi4" option of the image to include the bootloader update in the image. The bootloader will then be automatically updated when first booting the image. Note that after the first boot, the automatic update will be disabled, i.e., you cannot take the SD card to another Raspberry Pi which does not yet have the update installed.

Other Boards

For other boards than Pi 5, Pi 4, Pi 400, and CM 4, you must enable the U-Boot boot flow for the image:

boot_flow = "u-boot"

⚠️ The U-Boot boot flow is experimental and does not allow updating the Raspberry Pi bootloader/firmware.

Footnotes

  1. Requires the U-Boot boot flow. 2 3 4 5 6 7 8