Showing changes from revision #3 to #4:
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.
Please note: 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 You a minimum, you will need to download the following software:
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.
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 – 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:
*Unplug
command. If this lists any unplugged modules, find out if any replacement modules are being loaded (the most likely location is !Boot.Choices.Boot.PreDesk) and keep a copy somewhere safe, as they will be removed during the !Boot upgrade.Once you have confirmed that !Boot – and the other applications in the Beta HardDisc4 image – still work properly, go to Monitor configuration checks below.
1 With RC15 it is theoretically possible to download the 5.24 stable disc image and run the “InSituBootUpdate” file inside that archive – you might then be able to go to the 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.
At RISC OS 5.27, two 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.27 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” 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.
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. list, or consider usingdisable_mode_changes until you install the 5.27 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 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
*Unplug
command. This should report “No modules are unplugged”. If it does list any unplugged modules, enter *RMReinit
commands for each unplugged module.*RMReinit GPIO
disable_gamma
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.
8 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
*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).