The Raspberry Pi does not have any battery-backed memory, so a file called “CMOS” (in the DOS partition of the boot SD) holds the CMOS RAM settings.
This file is loaded into RAM when the system is booted, and any changes to CMOS RAM settings are stored in the file.
If the file does not already exist, you can create it as follows:
*SaveCMOS SDFS::0.$.!Boot.Loader.CMOS
The Raspberry Pi bootloader looks for the file in the same partition that “bootcode.bin” was found. Two lines in “config.txt” control the loading of the file:
ramfsfile=CMOS
– the name of the file to load
ramfsaddr=0x508000
– the start location in memory to use
RISC OS will save CMOS RAM changes to the file. To allow for the possibility that the SD card is fully DOS format (i.e. !Boot has been moved to another drive), RISC OS tries two file locations in turn:
It is important to note that RISC OS tries $.CMOS first. If you have placed another file called “CMOS” in SDFS::0.$, that file will be overwritten when you next try to make any configuration changes. Also, the attempted configuration changes will not survive a reboot as they have been saved in the wrong place. The fix is to delete (or rename) the additional “CMOS” file.
To reset CMOS RAM settings to factory defaults on the Raspberry Pi, simply delete the “CMOS” file.
After rebooting, you should recreate the file as described above.