为不同的ARM SOC

时间:2015-07-22 14:10:35

标签: linux-kernel embedded embedded-linux jffs2

我试图在与i.mx6相同的主板上使用为i.mx53构建的用户空间。 i.mx6板仅在使用的CPU方面有所不同。我构建了一个新的内核和适当的DTB,我可以用uboot加载它,它开始很好。但是,当我尝试使用我用于i.mx53板的rootfs时,我得到以下jffs错误:

jffs2: inconsistent device description

与Flash OOB不包含有效信息有关。 我使用nand write.trimffs命令将rootfs写入闪存分区。我是否需要以某种方式初始化OOB?我不记得在旧电路板上做这件事。这个错误来自哪里?

1 个答案:

答案 0 :(得分:0)

原来i.MX6 NAND控制器(gpmi驱动程序)使用整个OOB空间用于ECC,而JFFS2无法在那里使用它的标记。可以基于NAND芯片规范向内核传达对ECC的较弱要求,并使用fsl,use-minimum-ecc设备树选项来节省一些OOB。但是,u-boot似乎不支持这种ECC重新配置,并且在引导加载程序和Linux中都不可能使用NAND。在这种情况下,最好的方法可能就是放弃JFFS2并改用UBIFS。

注意:我看过JFFS2补丁,它不使用OOB,但没有尝试过。