RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

Software information: Raspberry Pi: Firmware

category: Help, RaspberryPi

Raspberry Pi models supported

The instructions given below are suitable for all models of Raspberry Pi up to and including the Pi 4.

Pi bootloader files

The Pi 1, Pi 2 and Pi 3 use the following files:

  • bootcode.bin – The boot loader for the CPU.
  • start.elf – The GPU firmware. Forms a matched pair with fixup.dat
  • fixup.dat – Additional code for the GPU. Forms a matched pair with start.elf
  • riscos.img – The RISC OS ROM
  • config.txt – Configuration parameters for the boot loader. See below for suggested contents.
  • cmdline.txt – (Optional) Additional parameters to be passed to the kernel (i.e. RISC OS). See below for possible contents.

On the Pi 4 (and Pi 400) the following two files take the place of bootcode.bin, start.elf and fixup.dat:

  • start4.elf – The Pi 4 GPU firmware. Forms a matched pair with fixup4.dat
  • fixup4.dat – Additional code for the Pi 4 GPU. Forms a matched pair with start4.elf

Note that the Pi4 has its boot code in the onboard EEPROM so it does not need bootcode.bin.

If you install bootcode.bin, start.elf and fixup.dat alongside start4.elf and fixup4.dat, the card will boot on older models of Raspberry Pi as well as the Pi 4.1

1 You may have to alter network settings, as the Pi 4 uses a different Ethernet interface.

Obtaining Pi firmware

If you have the latest beta ROM, there is a good chance that the latest Raspberry Pi firmware will work. Visit the Raspberry Pi firmware download site on GitHub to download the latest versions of bootcode.bin, fixup.dat, fixup4.dat, start.elf and start4.elf.

If you experience problems with the latest firmware – or if your RISC OS ROM dates from 2019 or earlier – you should try an older firmware release:

  • RISC OS 5.24: Use April 2018 firmware
  • RISC OS 5.25 and 5.26: Use January 2019 firmware
  • RISC OS 5.27 (2019 builds): Use January 2019 firmware
  • RISC OS 5.27 (2020 builds): Use June 2020 firmware
  • RISC OS 5.28 (Pi1/Pi2/Pi3): Use June 2020 firmware
  • RISC OS 5.28 (Pi4B/Pi400): Use December 2020 firmware
  • RISC OS 5.29: Use December 2020 firmware

The procedure to follow is:

  • Go to the appropriate firmware page on GitHub (see above).
  • Click on “boot”.
  • Click on “bootcode.bin”
  • Click on the Download button.
  • Click on your browser’s BACK button.
  • Click on “fixup.dat”
  • Click on the Download button.
  • Click on your browser’s BACK button.
  • Click on “start.elf”.
  • Click on the Download button.

If you have a Pi 4B or Pi 400 you will need fixup4.dat and start4.elf

  • Go to the appropriate firmware page on GitHub (see above).
  • Click on “boot”.
  • Click on “fixup4.dat”
  • Click on the Download button.
  • Click on your browser’s BACK button.
  • Click on “start4.elf”.
  • Click on the Download button.

Known issues

  • The firmware distributed with RISC OS 5.28 (in fact all firmware from mid-2019 onwards) won’t allow RISC OS to read the current “hdmi_pixel_freq_limit” setting. If you wish to use this parameter in config.txt on the Pi 1, Pi 2 or Pi 3, you will either have to install January 2019 firmware, or use a custom CVT mode – see config.txt (Raspberry Pi) for details.
  • A Raspberry Pi firmware change in June 2019 means that older RISC OS ROMs (e.g. 5.24, 5.26) cannot use the latest firmware.

Configuration files

config.txt

This is a plain text file. The following example should be suitable for all models of Raspberry Pi, including the Pi 4B and Pi 400:


[pi4]
enable_gic=1
[all]
fake_vsync_isr=1
framebuffer_swap=0
gpu_mem=64
init_emmc_clock=100000000
ramfsfile=CMOS
ramfsaddr=0x508000
kernel=RISCOS.IMG

If you have a Pi 4B or Pi 400, config.txt must have a [pi4] section containing the line
enable_gic=1

Parameters applicable to all models of Raspberry Pi appear in the [all] section.

These parameters – and several others that may be of interest to RISC OS users – are discussed in more detail at config.txt (Raspberry Pi).

cmdline.txt

This file is optional: RISC OS will still boot if it is not present.

If you are running RISC OS 5.27 or RISC OS 5.29 you may need to specify the following parameter to avoid a blank screen issue.

disable_gamma

Parameters must be space separated on the first line of the file, so if you wanted to specify two parameters you would do it like this:

disable_mode_changes disable_gamma

For details of the parameters available, see cmdline.txt (Raspberry Pi).

Revised on January 7, 2021 20:58:55 by Stuart Painting (5389)? (2.30.4.107)
Edit | Back in time (15 revisions) | See changes | History | Views: Print | Source | Linked from: Raspberry Pi 4 port status, Beginners FAQ:Installing RISC OS, Software information: RaspberryPi: Beta RPi ROM, Software information: RaspberryPi: RPi ROM stable, config.txt (Raspberry Pi), cmdline.txt (Raspberry Pi), Raspberry Pi questions and answers, Using RISC OS on the Raspberry Pi, Upgrading your Raspberry Pi to RISC OS 5.27, RISC OS bugs specific to the Raspberry Pi, Upgrading your Raspberry Pi to the latest development beta of RISC OS

Search the Wiki

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
  • Export
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys