github.com/google/trillian-examples@v0.0.0-20240520080811-0d40d35cef0e/binary_transparency/firmware/cmd/emulator/dummy/README.md (about)

     1  Dummy Device
     2  ------------
     3  
     4  The Dummy Device emulator is a simple device target for playing with the Firmware Transparency
     5  environment.
     6  
     7  The device persistent state is stored in two files in a directory on disk:
     8    * bundle.json - which contains the ProofBundle from the update
     9    * firmware.bin - the firmware image from the update.
    10  
    11  The Dummy Device has a simple "ROM" implementation which is intended to be thought of as a
    12  early stage reset/bootloader which validates the proof bundle and asserts that
    13  the firmware measurements match the manifest before chaining to the next stage bootloader if
    14  validation is successful.
    15  
    16  For fun, the second-stage bootloader is implemented as a WASM VM (using the
    17  [Life VM from the Perlin folks](https://github.com/perlin-network/life)), and the firmware.bin
    18  is expected to be a compiled WASM binary.  There is an example of such a binary contained
    19  in the
    20  [.../testdata/firmware/dummy_device](/binary_transparency/firmware/testdata/firmware/dummy_device)
    21  directory.
    22  
    23  The WASM VM currently only provides a simple `print(const char*)` function (although this
    24  could be extended if required).