Showing changes from revision #4 to #5:
Added | Removed | Changed
This page details the process for upgrading an already-working RISC OS installation on a Raspberry Pi to RISC OS 5.29. 5.31.1
Please note: RISC OS 5.29 5.31 is a development release that contains untested, work-in-progress software. Some components may be unfinished and/or contain serious bugs: that is what development is about! You should only useRISC OS 5.29 5.31 if you are willing to accept the risks involved and have a suitable backup strategy in place.
Having said that, many development builds ofRISC OS 5.29 do work well. It may simply be a matter of trying a few different nightly builds until you find one that meets your needs.
1 If you wish to upgrade to the latest stable release (5.28) (5.30) please seeRISC OS Upgrade instead.
The process described on this page will only work if you are running RISC OS 5.28, 5.29 or 5.30. If you are running an older release of RISC OS, you must upgrade to the latest stable release of RISC OS first.
You will need to download the following software:
If you are upgrading from 5.24, 5.28 5.25, 5.26 or 5.27, 5.29, you will also need:
A certain level of RISC OS knowledge is assumed, including how to use the command line, how to usethe command line, how to use the !Configure application and how to edit text files.
The exact procedure to follow depends on the release of RISC OS you are currently running. Choose the appropriate entry from this list:
These releases are too old to retain the existing !Boot as it stands, so you will have to build a new !Boot directory based on the 5.29 version of !Boot. The process is as follows:
*Unplug
command. If this lists any unplugged modules, find out if any replacement modules are being loaded (e.g. from !Boot.Choices.Boot.PreDesk) and keep a note of their location.Once you have confirmed that !Boot – and the other applications in the Beta HardDisc4 image – still work properly, go to Monitor configuration checks below.
2 Using the “Upgrade from 5.19” process forces a rebuild of !Boot rather than attempting an upgrade of !Boot. This is necessary because the “Procedure to upgrade from RISC OS 5.20 or later” requires you to have the 5.22 HardDisc4 image and/or the 5.24 HardDisc4 image: finding a copy of these disc images can be rather tricky.
3 You may find that Alarm has lost some of its settings. Don’t bother correcting this just yet: the 5.29 ROM has a revised version of Alarm which stores its settings in a different place.
4 2 “Boot Merge” saves all replaced files in the !Boot.Backup directory – this will allow you to retrieve any changes you may have made to !Boot components (e.g. amendments to a built-in monitor definition file) if they have been overwritten.
We recommend you continue using your updated !Boot for a week or so, to flush out any lurking problems before you upgrade the ROM. This gives you time to grab a selection of Beta ROM images of different dates3 – just in case a serious bug was accidentally introduced in a nightly build. You should also check the Bugs and Community Support forums to see if there are any problems with recent nightly builds.
At 3RISC OS 5.29, two The build date is mentioned immediately below the download link itself. Although listed as nightly builds, the average build frequency is closer to “once every 3-4 days”.CMOS RAM configuration settings – “MonitorType” and “WimpMode” – must hold valid information. Releases up to RISC OS 5.26 are rather forgiving of unusual values in these two fields, but from RISC OS 5.28 they must be correct or the monitor may not display a picture.
To check the settings:
*Status MonitorType
*Status WimpMode
*Configure MonitorType Auto
*Configure WimpMode Auto
In early releases of RISC OS 5 for the Raspberry Pi, the monitor pixel resolution chosen at boot-up was controlled by two settings supplied to the Raspberry Pi bootloader (the “hdmi_group” and “hdmi_mode” lines in config.txt).
From RISC OS 5.24 onwards, RISC OS will by default select a monitor pixel resolution according to the settings chosen in the “Screen” section of the !Configure application, thus ignoring the “hdmi_group” and “hdmi_mode” settings.
If you want RISC OS to continue using the “hdmi_group” and “hdmi_mode” settings5 you should add disable_mode_changes
to the first line of CMDLINE/TXT inside !Boot.Loader. If the file doesn’t exist, create it.
5 For example, you may be using a display that only supports a specific pixel resolution, or perhaps you want to use the “AnyMode” utility.
6 If the menu option says “Auto(Unidentified)” it means that EDID has not worked. In this instance you should choose another monitor type from the list, or consider using disable_mode_changes until you install the 5.29 ROM.
We recommend you continue using your updated !Boot for a week or two, so as to flush out any lurking problems before you upgrade the ROM. This gives you time to grab a selection of Beta ROM images of different dates7 – just in case a serious bug was accidentally introduced in a nightly build. You should also check the Bugs and Community Support forums to see if there are any problems with recent nightly builds.
7 The build date is mentioned immediately below the download link itself. Although listed as nightly builds, the average build frequency is closer to “once every 3-4 days”.
CMDLINE/TXT
inside !Boot.Loader (if it doesn’t already exist, create it) so that the text disable_gamma
appears on the first line of the file.disable_mode_changes disable_gamma
CONFIG/TXT
(inside !Boot.Loader) contains – at minimum – the following lines:fake_vsync_isr=1
framebuffer_swap=0
gpu_mem=64
init_emmc_clock=100000000
ramfsfile=CMOS
ramfsaddr=0x508000
kernel=RISCOS.IMG
CONFIG/TXT
:[pi4]
enable_gic=1
[all]
arm_64bit=0
*Unplug
command. This should report “No modules are unplugged”. If it does list any unplugged modules, enter *RMInsert
commands for each unplugged module.*RMInsert GPIO
*SaveCMOS !Boot.Loader.CMOS
4 Yes, even BootFX. After you have booted into RISC OS 5.31 you can once more RMKill BootFX, but it *must be active on first boot.
5 If you have upgraded from RISC OS 5.29 or earlier, none of your old “saved CMOS” files will work at RISC OS 5.31, so you will need a fresh backup anyway.
disable_gamma
8 If you have upgraded from RC10 or earlier, none of your old “saved CMOS” files will work at RISC OS 5.29, so you will need a fresh backup anyway.
9 You cannot use EDID if you also want to use AnyMode. There are other edge cases (e.g. the Pi-Top v1) where custom monitor settings are preferable to EDID.
ramfsfile=CMOS
ramfsaddr=0x508000
*SaveCMOS !Boot.Loader.CMOS
ramfsfile=CMOS
ramfsaddr=0x508000
*SaveCMOS !Boot.Loader.CMOS
*Unplug
to check status). If any modules are unplugged, use *RMReinit
to reinstate them (e.g. you would use *RMReinit GPIO
to reinstate the GPIO module).*Unplug
and issue *RMReinit
commands for each of the modules on the list (e.g. you would use *RMReinit GPIO
to reinstate the GPIO module).*Unplug
to check status). If any modules are unplugged, use *RMReinit
to reinstate them (e.g. you would use *RMReinit GPIO
to reinstate the GPIO module).