Star on GitHubStar2.4k stars

Case study

rpi-open-firmware: a Raspberry Pi VPU boot firmware replacement

rpi-open-firmware implements a replacement for the Raspberry Pi's stock VPU bootcode.bin and documents the device's boot stages. Its VC4 code initializes the clock, UART, SDRAM and ARM core; an ARM chainloader then reads the FAT boot partition and loads a Linux kernel.

Targets
Firmware
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Stars
466
Last commit
2025-08-24
Language
C

GitHub data as of 2026-11-09

Copy as MarkdownView JSONCite

Requirements & limits

  • Prerequisites: Build with the VC4 toolchain and arm-none-eabi toolchain.
  • Prerequisites: A UART cable is highly recommended.
  • Limits: Linux boot support is minimal; USB, DMA, Ethernet, video and power management support remain unfinished.
  • License: Project code is GPLv2+; Broadcom headers are BSD 3-Clause, with other included projects under compatible licenses.

Cite

BibTeX

@misc{rpi-open-firmware-case,
  title = {{rpi-open-firmware: a Raspberry Pi VPU boot firmware replacement}},
  howpublished = {\url{https://github.com/librerpi/rpi-open-firmware}},
  url = {https://github.com/librerpi/rpi-open-firmware},
  urldate = {2026-11-06},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/rpi-open-firmware-case/}}
}

Plain text

rpi-open-firmware: a Raspberry Pi VPU boot firmware replacement. https://github.com/librerpi/rpi-open-firmware (accessed 2026-11-06). Awesome REA entry: https://awesomerea.org/resources/rpi-open-firmware-case/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · librerpi/rpi-open-firmware · Revision 2725d94
  2. docs/boot-flow-and-secure-boot.md GitHub · librerpi/rpi-open-firmware · Revision 2725d94

More in Firmware and hardware

All 260 entries in Firmware and hardwareFirmware and hardware case studies (175)

↑↓ move↵ open⌘↵ new tab