2016-09-23 4 views
0

Я работаю над пользовательской платой на базе NXP i.MX7D SoC. Я хочу создать новый раздел, чтобы сохранить базу данных конфигурации на nand.Новый раздел NAND для UBIFS

Для этого я внесла изменения в u-boot в mtdparts args, который передается ядру в командной строке. Новый раздел nand создан успешно, и я могу видеть новый узел mtd в/dev.

Но чтобы сохранить файл конфигурации на новых разделах, мне нужно отформатировать его и смонтировать. Я выполнил следующие шаги.

ubiformat /dev/mtd5 
ubiattach /dev/ubi_ctrl -m 5 
ubimkvol /dev/ubi1 -Nconf -m 
mkdir -p /mnt/conf 
mount -t ubifs ubi1:conf /mnt/conf 

Все вышеуказанные шаги преуспевают. Я могу создать файл в каталоге/mnt/conf. но, к моему удивлению, в следующий цикл загрузки я не могу увидеть новый узел ubi1 под/dev и поэтому не смогу его смонтировать. Если я снова выполнил выше шаги, предыдущая база данных недоступна. Я думаю, что мне нужно внести некоторые изменения в u-boot.

Если кто-либо столкнулся с такой проблемой или осознал, что делать, пожалуйста, дайте мне знать.

+0

Показывать оригинальные и новые объявления MTD в реальных командных строках ядра. Показать журналы загрузки оригиналов и новых объявлений MTD. IOW - это новый раздел, выделенный из ранее не использованной вспышки или вырезанный из существующего раздела? – sawdust

ответ

0

Вот моя последовательность запуска для UBIFS:

mkdir /data 
ubiattach /dev/ubi_ctrl -m 8 -O 2048 | grep "available 0 LEBs" 
retval=$? 
if [ "$retval" = "1" ]; then # Flash memory doesn't contain UBI image 
     ubimkvol /dev/ubi0 -N data_volume -m 
fi 
mount -t ubifs -o sync ubi0:data_volume /data 
retval=$? 
if [ "$retval" = "0" ]; then 
     echo "Storage is ready" 
else 
     echo "Storage is not ready" 
fi 

(В вашем случае ubiattach будет -m 5 в качестве параметра). Я проверяю, был ли Flash уже инициализирован с использованием доступного номера LEB, и используйте ubimkvol, если требуется форматирование.

Выполнение ubiformat или ubimkvol уничтожает ранее созданный объем UBIFS. Не используйте их при каждом запуске.

Запускается ли запуск ubiattach, чтобы вы могли установить раздел?

Смежные вопросы