Showing changes from revision #2 to #3:
Added | Removed | Changed
This page details the process for upgrading an already-working RISC OS installation on a Raspberry Pi to RISC OS 5.27.
If you are upgrading from a recent (2017 or later) release, you can skip ahead to Please notehere.: If you are using an older (2016 or earlier) release, you will have to follow the whole process.RISC OS 5.27 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 use RISC OS 5.27 if you are willing to accept the risks involved and have a suitable backup strategy in place.
Having said that, many builds of RISC OS 5.27 do work well. It may simply be a matter of trying a few different daily builds until you find one that meets your needs.
At a minimum, you will need to download the following software:
This will be a two stage process. First you need to upgrade to RISC OS 5.24, then once you have 5.24 working you can upgrade to 5.27. Do not try to upgrade direct to RISC OS 5.27 – it may not work.
A certain level of RISC OS knowledge is assumed, including how to use the command line, how to use the !Configure application and how to edit text files.
Once you have confirmed that !Boot still works properly, proceed as follows:
*SaveCMOS !Boot.Loader.CMOS
ramfsfile=CMOS
ramfsaddr=0x508000
*SaveCMOS $.Backups.CMOS-RO524
(or a location of your own choosing)1 The InSituBootUpgrade file (supplied with the 5.24 HardDisc4 image) assumes you are upgrading from 5.22, but RC14 was based on RISC OS 5.21 – to successfully use the InSituBootUpgrade process you’d need to run the 5.22 InSituBootUpgrade file first (and finding a copy of the 5.22 HardDisc4 image can be tricky). If you are upgrading from RISC OS 5.19 (Pi releases up to approximately RC10) you cannot use the InSituBootUpgrade process at all.
The exact procedure to follow depends on the release of RISC OS you are currently running. Choose the appropriate entry from this list:
This should be a simple matter of checking your monitor configuration is appropriate for use at RISC OS 5.27, and then performing the upgrade itself. These two items are described in turn below.
These releases – with the possible exception of RC151 – 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.27 version of !Boot. The process is as follows:
In earlier releases of RISC OS 5, the monitor pixel resolution chosen at boot-up time was controlled by two settings supplied to the Raspberry Pi bootloader (the “hdmi_group” and “hdmi_mode” lines in config.txt). If you want RISC OS to continue using those settings, you should add disable_mode_changes
to cmdline.txt2. Otherwise, those settings will be ignored from RISC OS 5.24 onwards.
Instead Once you have confirmed that !Boot – and the other applications in the Beta HardDisc4 image – still work properly, go toRISCMonitor configuration checks OS below. can now useEDID to obtain the native pixel resolution directly from the monitor itself. Most monitors manufactured in the last 15 years support EDID, so you should use it if at all possible.
2 1 For With example, RC15 you it may is be theoretically using possible a to display download the 5.24 stable disc image and run the “InSituBootUpdate” file inside that only archive supports – a specific pixel resolution, or perhaps you want might then be able to use go to the “AnyMode” utility.RISC OS 5.24 section on this page to complete the upgrade. This is completely untested with RC15 and you would do so at your own risk.
2 Avoiding a rebuild of !Boot with older releases is, at best, difficult. For builds based on 5.21 (i.e. Pi releases RC11 to RC14) you would need to run the InSituBootUpdate supplied with the 5.22 HardDisc4 image followed by the InSituBootUpdate supplied with the 5.24 HardDisc4 image (and finding a copy of the 5.22 HardDisc4 image can be rather tricky). If you are upgrading from RISC OS 5.19 (Pi releases up to RC10) you cannot use the InSituBootUpdate process at all.
3 “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.
Two AtRISC OS 5.27, two CMOS RAM configuration settings – previously “MonitorType” all and but “WimpMode” ignored – are must now expected to hold valid information. These Releases are up “MonitorType” to and “WimpMode”: whileRISC OS 5.24 5.26 is are rather forgiving of unusual values in these two fields, but fromRISC OS 5.27 they must be correct or the monitor may not display a picture.must be correct or the monitor may not display a picture.
So, To it is necessary to check that the values settings: are correct before upgrading to 5.27.
*Status MonitorType
*Status WimpMode
*Configure MonitorType Auto
*Configure WimpMode Auto
You should now be ready to perform the upgrade to RISC OS 5.27.
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” settings4 you should add disable_mode_changes
to CMDLINE/TXT inside !Boot.Loader. If the file doesn’t exist, create it.
4 For example, you may be using a display that only supports a specific pixel resolution, or perhaps you want to use the “AnyMode” utility.
CMDLINE/TXT
inside !Boot.Loader (if it doesn’t already exist). The file should contain the text disable_gamma
on the first line. See cmdline.txt (Raspberry Pi) for details.3 The build date is mentioned immediately below the download link itself. Although listed as “daily” builds, they do occasionally skip a day or three.
4 If you want to continue using ZeroPain, the Beta ROM archive contains the latest version. Installation instructions are included in the archive.
5 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.
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 dates6 – just in case a serious bug was accidentally introduced in a daily build. You should also check the Bugs and Community Support forums to see if there are any problems with recent daily builds.
6 The build date is mentioned immediately below the download link itself. Although listed as daily 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
*SaveCMOS !Boot.Loader.CMOS
fake_vsync_isr=1
framebuffer_swap=0
gpu_mem=64
init_emmc_clock=100000000
ramfsfile=CMOS
ramfsaddr=0x508000
kernel=RISCOS.IMG
7 If you have upgraded from RC10 or earlier, none of your old “saved CMOS” files will work at RISC OS 5.27, so you will need a fresh backup anyway.
ramfsfile=CMOS
ramfsaddr=0x508000
*SaveCMOS !Boot.Loader.CMOS