2015-07-22 1 views
0

Я пытаюсь использовать пользовательское пространство, построенное для i.mx53 на идентичной плате с i.mx6. Плата i.mx6 отличается только используемым процессором. Я построил новое ядро ​​и соответствующий DTB, я могу загрузить его с помощью uboot, и он начинается нормально. Однако, когда я пытаюсь использовать корневой файловой системы я имел для i.mx53 борту я получаю следующую ошибку: JFFSс использованием тех же rootfs для разных ARM SOC

jffs2: inconsistent device description

, который имеет что-то делать со вспышкой OOB не содержащие достоверную информацию. Я пишу rootfs во флэш-раздел с помощью команды nand write.trimffs. Нужно ли мне как-то инициализировать OOB? Я не помню, как это делалось на старой доске. Откуда эта ошибка?

+1

Вы уверены, что все периферийные модули и внешние соединения/устройства абсолютно идентичны? – Olaf

+0

Да, я разработал доску. Кроме того, проблема, похоже, сводится только к процессору и вспышке, остальное на самом деле не имеет значения. – moorray

ответ

0

Выключается i.MX6 Контроллер NAND (драйвер gpmi) использует все пространство OOB для ECC, а JFFS2 не может поместиться с его маркерами. Возможно передать ядру более слабые требования для ECC на основе спецификации чипа NAND и использовать параметр дерева устройств fsl,use-minimum-ecc, чтобы сэкономить некоторое количество OOB. Однако u-boot, похоже, не поддерживает такую ​​реконфигурацию ECC и становится невозможным использовать NAND как в загрузчике, так и в Linux. Вероятно, лучшим способом продвижения в этой ситуации является вырезание JFFS2 и использование UBIFS вместо этого.

Примечание: Я видел патчи JFFS2, которые не используют OOB, но не пробовали их.