linux内核mtd分区,linux-kernel – ubifs卷与mtd分区
我正在將產品從jffs2文件系統遷移到ubifs.
以前的jffs2設計包含3個mtd分區(2 ro和1 rw).
轉向ubifs – 我應該創建:
>一個mtd分區和3個卷
> 3 mtd分區,每個1卷
基本上我問我是否應該在轉移到ubifs時用卷替換分區?
(我的理解是,如果這樣做,ubi層將管理整個閃存)
謝謝,
然
最佳答案 選項存在,這里有好處……One mtd partition and 3 volumes
UBI層將管理卷.這是一個閃存虛擬化層,可將不可靠的閃存轉換為可靠的內存. UBI層確實磨損均衡.即使對于只讀數據,偶爾重寫數據也是有益的.這將為浮動門等充電,以便數據保持更長時間的可讀性.對于讀寫數據,它對于壽命非常有益. UBI磨損均衡將在所有卷上進行.這極大地增加了文件系統可以處理的擦除 – 寫入周期.3 mtd partitions, 1 volume each
這通常不太理想,但有一些好處,它可能適合某些用戶.主要具有單獨的分區增加了安裝單個體積的可靠性.如果單個MTD分區出現問題,則整個閃存可能無法使用.通過具有單獨的MTD分區,當讀寫文件系統失敗時,可以使用只讀MTD / UBI / UbiFS系統.
這對第三種選擇更有利,multiple MTD with mixed file systems.
可以將CramFS,RomFS放在某些閃存設備中,其中設備塊由制造商提供可靠性.這可能是一個啟動文件系統,它是系統最低功能所需的全部內容.用于操作這些分區的工具非常簡單(與UBI / UbiFS相比),并且可以在最小的代碼空間中實現.一些系統具有較大的DDR和較小的片上SRAM.加載程序/閃存可能具有受限的代碼空間.
也就是說,最近(最近兩年)mtd-utils包含UBI解析代碼.這可能需要移植到閃存器,恢復代碼等.恢復代碼可能位于附加的initrd分區中,該分區執行UBI / UbiFS分區的掛載/故障安全恢復.
u-boot包含用于管理和操作UBI / UbiFS代碼的代碼,它在許多平臺上使用兩階段引導(從內部SRAM運行,配置DDR然后遷移),以在引導加載程序中具有豐富的功能.如上所述,u-boot本身需要在另一臺設備上或單獨的MTD中.
第二個選項3 mtd分區,每個1卷可能是最不可能/最需要的.第一個將有利于系統/閃存的生命周期.最后一個將提供更高可靠性/恢復的簡單性.最好的將取決于分區上的數據和可用于恢復數據的非Linux資源.幸福的媒介是為UBI提供盡可能多的NAND閃存空間,并在您需要邏輯分區時使用卷.
通常,我會質疑為什么要使用卷,只是在這種情況下將所有數據放在一起,但這又取決于數據的性質.
總結
以上是生活随笔為你收集整理的linux内核mtd分区,linux-kernel – ubifs卷与mtd分区的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 远程拒绝服务,Linux K
- 下一篇: android 开源 高斯模糊_Andr