Добрый день!
При массовом производстве изделий на основе модулей SK-iMX6S-OEM столкнулись с проблемой запуска модуля. В терминале видим загрузку u-boot и невозможность загрузки образа ОС.
Пробовали перезаливать образ с SD карты с помощью ./root2nand.sh, но после сброса питания ОС всё равно не грузится.
Для решения проблемы попробовали выполнить команду nand erase.chip и заново злить образ с помощью ./root2nand.sh - и это помогло.
Модуль находится в достаточно жёстких температурных условиях.
Вопрос в следующем, может ли подобная ситуация происходить по вине NAND памяти из-за появления BAD BLOCKS и как можно проверить чип на то что в нем появились новые, ещё не учтённые битые блоки?
Читаем это: http://starterkit.ru/html/index.php?name=forum&op=view&id=21831
Как из этого следует, загрузочная UBI партиция появилась из-за глюков с поддержкой в u-boot MLC NAND флешек, правда, как показывает практика (и ваш пример в частности) в текущем варианте это не 100% панацея. В принципе у UBI есть "миллион" параметров и опций и можно их покрутить, изменить размер партиции (вероятно в этом дело, т.к. размер подбирался "в ручную" в меньшую сторону по принципу "а с таким размером работать будет?").
Но можно поступить проще, т.к. сейчас на все OEM модули устанавливаются исключительно SLC (MLC уже никогда не будет) флешки - "откатить" способ загрузки, сделать его не с UBI, а непосредственное чтение с секторов (пример должен быть в старой виртуалке).
Спасибо за быстрый отклик.
Сказать честно, опыта работы с модулем на таком уровне у нас ещё нет, так что не бейте ногами.
Как я понял нужная схема загрузки присутствует в buildroot-2014.08-sk-3.10.17 и из неё нужно что-то перенести например в buildroot-2015.08. Если не трудно, можете расписать, что и куда нужно перенести. А поскольку установка MLC NAND более не планируется, то всем потребителям модулей это будет необходимо сделать для стабильной работы.
Заранее спасибо.
А каким образом можно проверить NAND flash на наличие поврежденных секторов?
насчет специальной проверки не заморачивался, при загрузке в логе ядра есть информация и при форматировании ubifs информирует (должно сохраниться в логе root2nand.log)