2010-03-04 44 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