- summary Перенос корневой ФС на NAND
Рассмотрены два примера - когда проект отлажен на SD и его нужно перенести на NAND и второй когда корневая ФС собрана в buildroot и ее нужно записать на NAND. Предполагается что выполнены манипуляции с ключами SSH как описано тут RemoteBoard.
Когда мы размыкаем перемычку NAND CS то фактически отключаем NAND, чтобы она была доступна в ядре нужно перед инициализацией ядра но после запуска загрузчика с SD установить перемычку обратно, для этого в загрузчике сделана небольшая задержка (4 сек) - нужно успеть за это время устаноить перемычку NAND CS. Процесс загрузки можно проконтролировать в терминале работающем через последовательный порт
Если вы успели замкнуть перемычку, в логе загрузки ядра появятся такие строки
в системе появятся файлы устройств mtd
при этом корневая ФС остается пока еще на SD, это можно легко узнать по типу ФС ext2.
Скачиваем первичный загрузчик (bootstrap) и u-boot
Ядру нужно указать, что корневая ФС находится в NAND, для этого запускаем его конфигуратор
изменяем параметры загрузки
выходим из конфигуратора и запускаем сборку
копируем загрузчики и новый имидж ядра на плату в директорию /root
если вы хотите записать ФС собранную в buildroot а не пернести с SD, скопируйте её имидж (архив)
Логинимся в эмуляторе терминала через SSH на плате (можно использовать и терминал через последовательный порт, мне удобней через SSH)
Записываем загрузчики и ядро
Создание ФС UBIFS на втором (по счету) разделе (если у вас раздел отформатирован - можно пропустить эти действия, это пример как создать ФС с "нуля")
если нужно смонтировать имеющуюся ФС
непосредственно копирование корневой ФС с SD на NAND
если записываете имидж собранный в buildroot, а не переносите с SD
после перезагрузки
плата загрузится с NAND с копией корневой ФС которая была на SD (или собранной в buildroot если вы записывали имидж).