Спасибо всем большое за советы и ответы)) Похоже наметились позитивные сдвиги.
ДЕлаю так:
1) Разрешаю в ядре опцию Command line partition table parcing, чтобы можно было делить nandflash на разделы с помощью параметров, передаваемых ядру.
2) Записываю в nandflash по адресу 0x400000 образ файловой системы jffs2. Загружаюсь, передав ядру следующие параметры:
Код
set bootargs 'console=ttyS0,115200 mtdparts=atmel_nand:4096k(MyRootfs),40960k(Ubifs) root=/dev/mtdblock1 rw rootfstype=jffs2'
где MyRootfs - это раздел, куда записан мой образ файловой системы, Ubifs - раздел, который я отвожу под будущую систему ubifs.
3) Загружаюсь в свою файловую систему. Чтобы убедиться в правильности создания разделов:
Код
cat /proc/mtd
dev: size erasesize name
mtd0: 00400000 00020000 "MyRootfs"
mtd1: 02800000 00020000 "Ubifs"
mtd2: 00840000 00000420 "spi0.0-AT45DB642x"
Таким образом, продолжать работать будем с /dev/mtd1.
4)Указываем путь до ubi-utils, скомпилированных под ARM и скопированных на флешку:
Код
export PATH=/media/sda1/home/root/ubi-utils
5)Далее следующая последовательность действий:
Форматируем нужный раздел под ubifs
Код
ubiformat /dev/mtd1
ubiattach /dev/ubi_ctrl -m 1
Создаем том на отформатированном разделе
Код
ubimkvol /dev/ubi0 --name=rootfs -m
Эти данные (ubi0 и rootfs мы потом будем использовать для указания ядру, откуда монтировать файловую систему)
Монтируем наш раздел на /mnt/ubifs
Код
mount -t ubifs ubi0:rootfs /mnt/ubifs/
Заходим в папку /mnt/ubifs и распаковываем туда за'tar'енный архив файловой системы, предварительно созданный на ПК и скопированный на флешку
Код
cd /mnt/ubifs
tar xvf /media/sda1/home/root/myfs.rootfs.tar
6) Перезагружаемся и передаем ядру новые параметры:
Код
set bootargs 'console=ttyS0,115200 mtdparts=atmel_nand:4096k(MyRootfs),40960k(Ubifs) ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs rw'
Пока исследования остановились на этом...KErnel Panic уже нет, что очень радует))) В понедельник продолжу)