首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将UBIFS分区复制到NAND设备

将UBIFS分区复制到NAND设备
EN

Stack Overflow用户
提问于 2014-09-30 21:50:31
回答 1查看 3.1K关注 0票数 1

我有一个带有u引导的工作系统和SLC NAND上的UBIFS分区.

我通过读取UBIFS所占用的所有块,包括备用区域,将UBIFS分区复制到一个二进制图像文件中。

我可以成功地将这个映像编程到另一个NAND设备(跳过空页)并挂载它,从而复制分区。然而,如果在新的NAND设备中有一个不好的块,我不知道什么才是正确的操作?

当我试图跳过坏块(在编程期间),这似乎是最合理的解决方案,从u引导挂载失败!UBIFS挂载进程不能识别跳过一个坏块吗?还有其他简单的解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-08 07:11:54

找到一种有效的方法!

这样做的全部目的是找到一个简单的算法来编程NAND闪光灯零件,然后再把它焊接到板上。

这是在大规模生产过程中由编程机器完成的,没有办法使用Linux来实现这一点。由于NAND零件是新的,不需要磨损平整信息,然而,它可能有0到任何数目的坏块,随机定位在分区。唯一可用的步骤是:

  • 跳过坏块
  • 擦除

为大规模生产而制作的图像:

  • 确保UBI体积较小,MTD分区(例如,5%小)
  • 创建UBI卷和UBIFS,并填充它。
  • 将NAND块+页的备用区域转储到二进制文件中。

可以使用mkfs和其他工具准备UBIFS,但是您需要添加ECC信息,编程机器可能无法动态计算这些信息,有时甚至不具备这些知识。

编程算法如下:

  • 从MTD分区偏移开始,将每个图像块编程到NAND块。
  • 如果NAND块不好跳过它,程序图像块N到NAND块N+1。
  • 如果图像块是空的,不要编程,前进到图像和NAND芯片上的下一个块。
  • 继续相同的方式,直到最后一块UBI卷。
  • 在NAND芯片上MTD分区的最后一个好块上编程最后一个图像块。

希望对任何人都有帮助:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26130717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档