bk99.de entertain the web since 1997

Free firmware for the Raspberry Pi boots the Linux kernel

Summary

In January 2017 a free bootcode firmware for the Raspberry Pi was able to boot the Linux kernel directly for the first time. On the Pi, hard-wired code loads the proprietary Broadcom firmware onto the graphics unit, which then initialises the hardware. The free alternative was created mainly by reverse engineering, but still had gaps in USB, eMMC and power and clock management.

Ideas

  • On the Raspberry Pi, the graphics unit starts first, not the ARM processor.
  • Proprietary blobs stand at the beginning of the chain of trust.
  • Reverse engineering and free Broadcom headers made an open firmware possible.

Insights

  • A completely free system begins with the first code executed, not only with the kernel.
  • Free firmware could also make work on free drivers easier.

Facts

  • Open points were the USB PHY, the eMMC driver and power and clock management.
  • Broadcom made some header files available under a free licence.
  • The free code could already boot a minimal kernel without graphics output.

References

Critique

  • The report gives no time frame for when a completely free boot chain would be achievable.

Recommendations

  • With single-board computers, note which parts of the boot process are proprietary.
  • For security-critical uses, choose hardware with a documented, verifiable boot process.

Read the original article

Search the Web Archive