我有一个Linux和一个nand flash。我想自定义我的Linux,它在启动时运行我的应用程序。我的应用程序具有不同的组件:二进制文件,脚本,库,数据库文件和一些配置文件。这是我自定义的文件层次结构:
/flash/
app/ -> mtdblock1(20M)
lib/ -> mtdblock2(50M)
script/ -> mtdblock3(10M)
stuffs/ -> mtdblock4(20M)
db/ -> mtdblock5(~800M)
问题
关于如何对nand mtdparts进行分区是否有任何限制或考虑?我已经搜索了一些,但没有发现任何重要信息!
答案 0 :(得分:0)
我的建议是在必要时在具有多个卷的原始闪存上使用卷管理系统(例如UBI)。您有多个具有不同访问频率/访问方式的组件,通过这种方式,使用UBI,您可以获得一些相对于MTD分区的优势:
UBI在整个闪存设备上实现损耗均衡(即,您可能认为您正在不断写入/擦除UBI卷的相同逻辑擦除块,但是UBI会将其扩展到闪存芯片的所有物理擦除块 ...
UBI透明地处理不良的物理擦除块; ...
UBI通过清理将数据丢失的机会降到最低。