我试图在与i.mx6相同的板上使用为i.mx53构建的用户空间。i.mx6单板的不同之处在于使用的CPU不同。我构建了一个新的内核和适当的DTB,我可以用uboot加载它,它启动得很好。但是,当我尝试使用i.mx53板的rootfs时,我得到以下jffs错误:
jffs2: inconsistent device description
这与flash OOB不包含有效信息有关。我使用nand write.trimffs
命令将rootfs写入flash分区。我需要以某种方式初始化OOB吗?我不记得在旧黑板上做过。这个错误从何而来?
原来i.MX6 NAND控制器(gpmi驱动程序)使用ECC和JFFS2的整个OOB空间不能适合它的标记在那里。可以根据NAND芯片规格向内核传达对ECC较弱的要求,并使用fsl,use-minimum-ecc
器件树选项来节省一些OOB。然而,u-boot
似乎不支持这种ECC重新配置,并且在引导加载程序和Linux中都不可能使用NAND。在这种情况下,最好的方法可能是放弃JFFS2而使用uifs。
注意:我见过JFFS2补丁使它不使用OOB,但还没有尝试过。