2010-03-04 43 views
0

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

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

回答

0

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

+0

通过比较两张图片我如何得到差异图片?我挖了很多地方,每个地方他们都是不经意的,我可以得到不同的位置。 ex:/scripts/bloat-o-meter vmlinux.default vmlinux.altconfig – sujitnist

0

这会非常困难,原因有两个。

  1. Linux内核被压缩存储,所以一个小的改变可能导致所有的压缩输出在该点之后会有所不同。

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

在理论上,你可以创建自己的链接和/或使代码停留在一个地方,压缩发生在块感知方式压缩内核的方式,但是这将是大量的工作 - - 在内核升级过程中,为了节省几分钟的擦除/写入时间,可能不值得。

+0

感谢您的建议Eric。 我完全同意你的观点。 如果至少有一个内存区域超过了我的新修改的应用程序内核映像的大小,那么将会移动数据和代码,这将直接在设备FLASH存储器上执行将非常困难和耗时。 – sujitnist