我目前正在开发一个嵌入式系统,它使用NAND闪存作为主要存储空间。Bootloader + Kernel + rootfs被写入其中,我们正在寻找使我们的系统对与NAND相关的许多问题更加健壮的方法。
目前,我们在JFFS2之上有内核和rootfs分区,我们正在设法找到一种方法来保护引导加载器分区(我们使用SPL +rootfs)。
我们的处理器能够自动查看前4块闪存的未损坏SPL图像,我希望有一些类似的U。但是,我检查了U代码,没有找到任何方法来启用这样的特性。
这能得到U-Boot的支持吗?我试着破解我自己的代码,但到目前为止还没有成功。
tl;dr:我希望能够检测到NAND上是否有一个不好的U映像,如果有,则从另一个(希望是)未损坏的分区启动。
发布于 2016-04-25 19:19:33
因此,我设法实现了一个简单的检查,并从一个冗余映像启动。您所要做的就是捕获调用ecc.correct()的返回代码,并在spl_nand_load_image()函数中处理它。我发布了一个补丁这里。
发布于 2016-04-20 19:42:40
通常update做ECC,但不更新NAND...but我相信这是你已经知道的。
一个好的实践是将U存储在NOR中,在NAND中存储内核、FS和冗余的U环境变量。
现在关于内核:遗留的linux (uImage)有一个弱的CRC32校验和,我选择可以签名的fitImage,其中包含一个可配置的校验和算法。
https://unix.stackexchange.com/questions/277899
复制相似问题