The instructions given below are suitable for all models of Raspberry Pi up to and including the Pi 4.
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.datfixup.dat
– Additional code for the GPU. Forms a matched pair with start.elfriscos.img
– The RISC OS ROMconfig.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, 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.datfixup4.dat
– Additional code for the Pi 4 GPU. Forms a matched pair with start4.elfNote 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.
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 earlier1 – you should try an older firmware release:
The procedure to follow is:
If you have a Pi 4 and a RISC OS 5.28 or 5.29 ROM3 you will need fixup4.dat
and start4.elf
1 A Raspberry Pi firmware change in June 2019 means that older RISC OS ROMs cannot use the latest firmware.
2 A RISC OS code change in January 2019 means that RISC OS 5.27 cannot use the firmware supplied with earlier RISC OS distributions.
3 Pi 4 support was in the process of being added during RISC OS 5.27, so most 5.27 builds will not work properly on the Pi 4.
This is a plain text file. The following example should be suitable for all models of Raspberry Pi, including the Pi 4:
[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 4, 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).
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).