Showing changes from revision #17 to #18:
Added | Removed | Changed
This page contains a number of general issues that may crop up when running RISC OS on the Raspberry Pi.
The Raspberry Pi 4 – although superficially similar to earlier Raspberry Pi models – has several hardware differences that require major alterations to RISC OS. While the latest development release of the latest development release of RISC OS will load on the Raspberry Pi 4? , OS there will are load on the Raspberry Pi 4, some of restrictions the on what hardware is features currently can unusable. be used.
Items In affected particular: include:
See Raspberry Pi 4 port status? for more information.
If you want to use RISC OS on the Raspberry Pi 4, the procedure is explained at Installing RISC OS on the Raspberry Pi 4?.
One This possible can method happen is if explained you at have used the SD card to boot another Raspberry Pi. The Pi 4 has a different Ethernet adapter to earlier Pi models, so Installing RISC OS on the Raspberry Pi 4? . OS will be looking for the “wrong” Ethernet adapter. The clue is that the message will read “ContactingDHCP server using Ethernet over USB interface” when on the Pi 4 it should read “Contacting DHCP server using Broadcom GENET interface”.
Please noteFix : If Press you want to use USB ESC devices to (keyboard, reach mouse) the desktop (click Cancel on the Pi dialogue 4, box you that will appears). need Now go to attach aUSBConfigure > Networking > Internet > Interfaces , hub select to “Broadcom the USB GENET -C ” (power and input) click port. on If “Configure”. your In hub does not support Power Delivery, you will have to power the Pi “Obtain 4 IP via address” the section, choose “via GPIO DHCP ” pins. and click on “Set”. You will be prompted to reboot: this reboot should proceed to the desktop with networking enabled.
As for card capacity, the full RISC OS Pi distribution takes up less than half the space on a 2GB card, so a 16GB card would provide plenty of room for additional files. Remember that you’ll need SystemDisc to use all of a 16GB card.
Yes, but you’ll have to reformat them first. SDXC cards are supplied in exFAT format, which neither RISC OS nor the Raspberry Pi boot loader can handle. Reports suggest that 64GB and 128GB cards will work with the Raspberry Pi after reformatting to FAT32.
When reformatting the card, you must use Master Boot Record (MBR) partitioning. If you select “GUID partition table”, RISC OS will be unable to read the card.
In any case, SD is a poor choice for Filecore storage. The quoted SD speeds are for “sequential burst” writes, not the random read/write operations that Filecore typically performs. Cards with an A1 (app performance) rating will be slightly better in this respect, but may cost substantially more than an ordinary card. In addition, the SD card doesn’t “understand” Filecore format, so the wear-levelling algorithms won’t work, leading to a much reduced operating life.
You might wish to consider an external (USB connected) HDD instead. For a slight increase in power consumption you should see a vast improvement in media longevity. For example, a 500GB USB-connected HDD costs about as much as a 128GB SDXC card and will last longer (provided you’re not exposing it to significant mechanical shocks).
Yes you can. Detailed instructions are on this page.
You can do it on the Pi 3A+, 3 Pi 3B+ and Pi 4B, 4, but it’s not recommended. The Here reason are is some that of the issues you would encounter:RISC OS will be saving the CMOS file to the SD card but the Pi will be loading the CMOS file from the USB drive, so any configuration changes you make will not survive a reload. See CMOS RAM on the Raspberry Pi for more on this point.
configure filesystem scsi
configure scsifsdrive 0
savecmos scsi::0.$.!Boot.Loader.CMOS
This list is not exhaustive. You may experience other problems besides those mentioned above.
Users wishing to reduce SD card wear-and-tear would be better advised to continue booting from the SD card, but to move the !Boot directory to a USB drive, as described here.
This There indicates are that several possible reasons for this. Here are the “top four”:either the “CMOS” file inside !Boot.Loader is missing/corrupted/read-only, or you have ended up with two “CMOS” files: one in the root directory of the SD (the Filecore partition) and another one in !Boot.Loader (the DOS partition). This is explained further in CMOS RAM on the Raspberry Pi.
The fix is to issue:
*SaveCMOS !Boot.Loader.CMOS
and – if necessary – rename (or delete) any file named “CMOS” in the root directory of the Filecore partition.
*SaveCMOS sdfs:$.!Boot.Loader.CMOS
DOSFS understands long file names, but if you rename a file such that its name isn’t long any more, only the “long file name” entry is changed: the 8.3 name still points at the “long file name” entry.
The Pi bootstrap loader will only check the 8.3 filename (not the “long file name”) when looking for a file whose name fits in the 8.3 format.
The practical upshot is that if you rename RISCOS/IMG to RO527-20190610/IMG and then rename it back to RISCOS/IMG, the Pi bootstrap loader will no longer be able to find it.
Workaround: If you want to change the name of a file inside !Boot.Loader, use Copy instead of Rename.
The Pi does not have a real-time clock. Hence, when the Pi boots up, it will not be aware of the correct time.
The fix is to run an Ethernet cable from the Pi to your broadband router (or equivalent network port with access to the Internet). The Pi will then be able to update its clock from the network.
Note: Several “real-time clock” add-ons are available for the Raspberry Pi, but some may require custom software to work with RISC OS.
When using PackMan on the RISC OS Pi distribution, you might get scary “file clash” messages when you try to update the supplied applications. This is happening because the applications were updated outside of PackMan when preparing the Risc OS Pi SD card.
The fix is to click on the Backup button. This will move the “unexpected” files into a Backup directory: the update should then progress normally. After the update is complete, you can see a list of backed-up files in the Advanced section of PackMan’s icon bar menu, and delete or restore them as you wish.
For further information, see the PackMan User's Guide.
RISC OS does not currently support WiFi on any platform. Adding WiFi support to RISC OS is a major undertaking, but it is on the roadmap so will (we hope) eventually appear.
If your Raspberry Pi hasn’t got an Ethernet port, you can use a USB-to-Ethernet adapter, but you need to ensure that the chipset is supported.
Your best bet is one with an Asix AX88172 or Asix AX88772 chipset.
Other chipsets known to work include:
Don’t get an adapter with a Realtek chipset – at present they are not supported under RISC OS.
Remember that RISC OS can use the built-in Ethernet port on the “Model B” and “Model B+” variants of the Pi 1, Pi 2, Pi 3 and Pi 4, so you won’t always need a USB adapter.
USB drives – especially flash memory sticks – don’t write all the data to the drive immediately: some of it is delayed (in the expectation that the user will be writing more data). This is done for efficiency – and media longevity – reasons: the fewer separate write operations are performed, the better. The data will eventually be written after a timeout, which could be several seconds.
This is exacerbated by the fact that many USB devices don’t action dismount requests2. Instead of immediately flushing all delayed writes to the media in the expectation that a power-off is about to happen, the delayed writes remain pending until the timeout (mentioned above) occurs in the normal course of events. If the user unplugs the device immediately after issuing the dismount but before the delayed writes have been actioned, data will be lost.
So the “wait 15 seconds” rule will hopefully allow for all but the most tardy of these delayed writes to actually happen, thus minimising the risk of data corruption.
2 RISC OS is obviously doing the dismount “wrongly”, but no one has yet worked out exactly what is “wrong”.
There are three possible reasons for Shift-Break (or Shift power-on) not booting to the command line.
*Configure Language 18
” has been issued (fix: issue “*Configure Language 11
”).3 This will also happen if you are using a keyboard with a built-in hub (e.g. “The Official Raspberry Pi Keyboard”). In this case you will have to use a different keyboard to issue Shift-Break.
RC stands for release candidate, a software build typically produced for acceptance testing in the run-up to general release. While based on the corresponding development build, it may omit some untested or problematic components in an effort to improve stability.
The RISC OS release cycle does not generate RC builds as a matter of course, but several RC builds of RISC OS for the Raspberry Pi have been produced: the most recent being RC16? (June 2020)4.
4 The previous RC build was RC15 (April 2017). This should give you some idea of how often they appear.