Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51 Рушится NAND rootfs, предположительно при появлении bad block - WiFi) - OEM( - iMX6S - SK - Форум - starterkit.ru
Одним словом - не помогло (.
Применил патч, убрал "nand-on-flash-bbt". Система стартанула, но через какое-то время вновь отказалась загружаться boot log
Нашел плату с другой микросхемой памяти - Samsung NAND 1GiB 3,3V 8-bit, SLC, 1024MiB, SLC, page size: 2048, OOB size: 64 - файловая система в nand рушится.
Здравствуйте.
Работаю с модулем SK-iMX6S-OEM-Ind, запаянном на нашем устройстве. (Перед запайкой прошит наш образ системы на отладочной материнской плате SK-iMX6-MB через SD-карту). Устройство выключается отключением питания, жестко.
После нескольких включений появились bad блоки:
и при запуске UBIFS монтируется в режиме read-only.
Недоступен для записи основной раздел ФС (ubi0:rootfs), что мешает штатной работе устройства.
Подскажите, пожалуйста, как исправить этот модуль?
это не bad блоки, а таблицы для хранения номеров bad блоков
бед блоки выглядят примерно так:
по исправлению:
если есть альтернативный накопитель - USB или uSD, то налить туда рутовую и с нее полечить рутовую на нанде
если есть сетка, то организовать NFS и лечить оттуда
если есть вариант загрузки бинарников из u-boot, то сгенерите образ ядра+ramfs и опять же лечите нанд
а с таким жестким питанием лучше почитать, как организовать разбиение для работы с ubifs
обычно рутовую на одном разделе держат в RO, а /var выносят на другой раздел с RW и туда же симлинки с чувствительными файлами из /etc
для аварийных случаев делают третий раздел с архивом копии рутовой
Есть смысл попробовать устранить причину крэша, а не его последствия.
За эти годы я провел десятки тысяч выключении этих модулей при загрузке и после и не столкнулся даже с единичным случаем описываемого. MicroSD карты - да, умирают, примерно через 1000-2000 выключений.
Попробовать заменить блок питания или попробовать поставить супервизор питания с таймером (сотни миллисекунд), который держит в сбросе модуль при провалах.