I was wondering if there is a way to have the bootloader output an OS checksum during boot? We would like to have this functionality to use during production.
I’m afraid there is no such feature available. The image loading is secured in multiple ways:
- The eMMC (as all NAND flashes) use error correction codes on block level, to assure there is no flipped bits in the data
- By default we use compressed images. The decompression algorithm fails if the data is corrupted. This is not as safe as a checksum, but after the security described above, this is sufficient.
Is there another reason why you would like to have such a checksum? Maybe we can find an alternative solution?
The reason we would want this feature is to verify that the OS was installed correctly our device during manufacturing. It sounds like the eMMC and decompression algorithm provides a safety net in this regard. If there are any other solutions you can think of, however, they would be appreciated!
Also, is there any official documentation you can provide regarding the error correction and decompression algorithm?
There is no simple way of verifying the OS installation - however if writing to the eMMC does not work properly, probably the eMMC would be defective.
I recommend a functional test, which is booting the OS and then reading back the OS revision from WinCe. If this process does not fail completely, you can be sure the OS was flashed properly.
I’m afraid there is no documentation available on these algorithms.