OneRNG Project Documentation

Change list


Base OS

The base OS we use is the same one we use for our CheapRF platform - the actual source is a fork of that platform with much of the RF and crypto support removed (for security reasons: we don't want to receive any packets from external sources and leave us open to exploits, so all that code is gone, especially of course software update over the air) a USB stack has been added.

However the Programming page for the cheapRF project remains the basic API documentation for interfacing with the system, building apps and programming boards - only the differences will be discussed here.

OneRNG only supports combined apps (no SUOTA apps) - these have the application and the OS compiled together into one binary. In addition we post process our compiled app to append a bunch of random data to the end of the image so that it almost fills memory and then we PGP sign it.

Reproducing the existing code

The code contains NO build dates, we always add the same random binary data to the end - every build should be reproducible to the bit (excluding the PGP signature of course). "make images" will make the two images (for different sized RPMs without signatures). These should be bit for bit identical with the images downloaded from the device or available on the web page. We recommend that you use the exact version of the compiler we provide for you.