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.1
1 You may have to alter Ethernet settings, as the Pi 4 uses a different Ethernet interface.
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:
The procedure to follow is:
If you have a Pi 4B or Pi 400 you will need fixup4.dat
and start4.elf
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).
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).