比较2个内核映像并闪烁diff FLASH内存

时间:2010-03-04 23:56:25

标签: linux-kernel

我的NAND闪存中存在旧版本图像,如内核映像,filesys映像,应用程序映像。 我想通过更换旧的内核或应用程序映像来将新修改的内核或应用程序映像移植到NAND闪存上。 但在新图像中,90%是旧图像的共同点。 所以我不希望整个新图像转移。 尽管我正在考虑旧图像和新图像之间的某种共存,并希望仅将差异发送到闪存。这样我就可以避免传输更大的数据了。

有可能吗?我需要一些指导才能做到这一点。

2 个答案:

答案 0 :(得分:0)

这当然是可能的,但是对于闪存,你必须考虑擦除扇区大小和写扇区大小之间的差异(通常擦除块的大小是多个写扇区)。

答案 1 :(得分:0)

由于两个原因,这将非常困难。

  1. Linux内核是压缩存储的,因此一小段更改可能导致该点之后的所有压缩输出都不同。

  2. 如果修改会改变某些代码的大小,那么之后存储的所有内容都必须向前或向后移动。

  3. 理论上,您可以创建自己的链接和/或压缩内核的方式,以便代码保持在一个位置,压缩以块感知的方式发生,但这将是很多工作 - 可能不值得它只是为了在内核升级期间节省几分钟的擦除/写入时间。