[U-Boot] UBI/UBIFS complete integrity check

Liam Beguin lvb at xiphos.com
Mon Nov 6 16:34:47 UTC 2017


Hi Lukasz,

Thanks for taking the time to answer.

On 11/04/2017 05:17 PM, Lukasz Majewski wrote:
> Hi Liam,
> 
>> Hi everyone,
>>
>> I'm currently using a UBIFS root file system (stored on SPI-NOR flash)
>> and would like to perform a full integrity check before booting it.
>> The rootfs is read-only and until now, I've been computing an md5sum
>> on the whole mtd device from an initramfs and comparing it to a stored
>> md5sum. If both md5sums don't match, I need to stop the boot process
>> completely.
>>
>> If possible, I was hoping to drop initramfs and do the integrity check
>> from U-Boot.
> 
> U-boot has support for crc32 and sha1 (256). It should be possible to
> do the integrity checking in it.
> 
> If you have more SDRAM than SPI-NOR, then you can calculate sha1/crc32
> of the whole memory.
> 
>> I know UBI/UBIFS does a CRC-32 of the data it writes to
>> flash but the intent here is to prevent booting an image where
>> even a _single bit_ of flash may have been corrupted.
> 
> Ok. I see.
> 
>>
>> My question is, does UBI/UBIFS have this kind of complete integrity
>> check built-in?
> 
> As fair as I'm aware - not. The only recent improvement was the
> "encryption/decryption" support

I don't think I have enough time right now but would this integrity check
be an interesting feature to add?

> 
>> If not, can I take advantage of these CRC-32,
> 
> It may be hard to access UBI metadata (from PEB/LEB).
> 
>> to do
>> something equivalent to my md5sum check from U-Boot.
> 
> It may be possible to read the whole SPI-NOR Memory content to RAM,
> calculate crc32/sha1 and compare with some stored value (e.g. in u-boot
> envs). This all should be done with u-boot prompt.

This was my backup plan. I should have enough RAM to do it.

> 
>> Thanks,
>>
>> Liam Beguin
>> Xiphos Systems Corp.
>> http://xiphos.com
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> https://lists.denx.de/listinfo/u-boot
> 
> 
> 
> Best regards,
> 
> Lukasz Majewski
> 
> --
> 
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> 

Thanks,

Liam Beguin
Xiphos Systems Corp.
http://xiphos.com



More information about the U-Boot mailing list