Many hardware platforms (Raspberry Pi, Beagleboard etc.) need a DOS partition to hold bootloader files, but RISC OS wants its files (particularly !Boot) to reside in a Filecore partition. Additionally, Filecore doesn’t – yet – handle partitioned discs, so “thinks” it owns the whole device. Finally, there’s only one SD card slot on the Raspberry Pi.
How to solve this conundrum?
The answer is a “dual-format” SD card.
The solution is actually quite ingenious.
RISC OS will see the SD card as a Filecore-format disc, but other systems will see a DOS partition. Hence the Raspberry Pi (etc.) bootloader can boot from the DOS partition, and RISC OS can access !Boot itself using Filecore.
1 Having a Filecore partition mentioned in the MBR isn’t strictly necessary (Filecore ignores it) but it does prevent other systems from accidentally overwriting the contents.
There are two easy methods, and one not-so-easy method:
Once you have the SD card in the correct format, it’s time to populate it with software.
Work is underway to update Filecore to handle partitioned discs directly. When that is complete, the need for this special dual-format SD card will disappear.