[OLPC-AU] Integrity checking of firmware

James Cameron quozl at laptop.org
Tue Feb 8 19:22:34 EST 2011

On Tue, Feb 08, 2011 at 05:19:18PM +1100, Sridhar Dhanapalan wrote:
> Following on from my question about OS images, does the XO check the
> integrity of a firmware file before writing it? bootfw.zip files can
> be checked against the CRC, but what about the .rom files?

bootfw.zip files contain a .rom file as payload.

When processing a bootfw.zip file, the firmware checks that the
cryptographic signature of the data hash of the payload matches the
public key in the manufacturing data.  If this check fails, the .rom
file is not processed.  The purpose of this check is to prevent
installation of custom firmware that might bypass antitheft controls.

When processing a .rom file (taken from a bootfw.zip file or not), the
firmware checks an internal CRC in the file against the remainder of the
file.  The CRC is different for XO-1 and XO-1.5.  If this check fails,
an error is displayed and the SPI FLASH is unchanged.  The purpose of
this check is to prevent installation of accidentally corrupt firmware,
which might brick a laptop.

James Cameron

More information about the Devel mailing list