# 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.

- Type: Case study
- Targets: Firmware
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-09
- Original resource: <https://github.com/librerpi/rpi-open-firmware>
- Primary source: <https://github.com/librerpi/rpi-open-firmware/blob/2725d9447c4305731f8d78f5effcbd70abff8d58/README.md>
- Catalog page: <https://awesomerea.org/resources/rpi-open-firmware-case/>
- Record JSON: <https://awesomerea.org/resources/rpi-open-firmware-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/rpi-open-firmware-case/index.md)

## 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.

## Primary sources

1. <https://github.com/librerpi/rpi-open-firmware/blob/2725d9447c4305731f8d78f5effcbd70abff8d58/README.md>
2. <https://github.com/librerpi/rpi-open-firmware/blob/2725d9447c4305731f8d78f5effcbd70abff8d58/docs/boot-flow-and-secure-boot.md>

## More in Firmware and hardware

- [ESP DC1: investigating and replacing Phicomm DC1 firmware](https://awesomerea.org/resources/esp-dc1-power-strip-case/index.md) · Case study
- [fdsboot: Famicom Disk System boot ROM disassembly](https://awesomerea.org/resources/fdsboot-case/index.md) · Case study
- [gyx-decomp: Casio ES PLUS GYX firmware decompilation](https://awesomerea.org/resources/gyx-decomp-case/index.md) · Case study
- [vmiv: View-Master Interactive Video emulator and format notes](https://awesomerea.org/resources/vmiv-case/index.md) · Case study
- [Binwalk](https://awesomerea.org/resources/binwalk/index.md) · Tool
- [unblob](https://awesomerea.org/resources/unblob/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
