Как я могу установить ubifs, сгенерированные yocto, как rootfs?

Я пытаюсь установить UBIFS как rootfs на плате.

Когда я использую загрузочную файловую систему, это мои устройства mtd:

cat /proc/mtd
mtd0: 08000000 00020000 "fe8000000.flash"
mtd1: 00100000 00010000 "u-boot"
mtd2: 00500000 00010000 "kernel"
mtd3: 00100000 00010000 "dtb"
mtd4: 00900000 00010000 "file system"

Я прошил оба (попробовал оба метода) файл .ubifs и файл .ubi, созданный yocto, в правильное пространство (mtd4) и попытался загрузиться из u-boot с помощью этой команды (также пробовал несколько версий):

setenv bootargs root=ubi0_0 rw ubi.mtd=4,2048 noinitrd rootfstype=ubifs ip=[...] console=[...]

Но я всегда получаю такие ошибки, как:

UBI error: ubi_open_volume: cannot open device 0, volume 0, error -19

or

UBIFS error (pid1): ubifs_mount: cannot open "ubi0_0", error -19

В отличие от меня имеет опыт работы с UBIFS и знает, что я делаю неправильно. Также приветствуются ссылки на хорошие руководства или что-то еще, так как я не могу найти много информации о UBI.


person h0ch5tr4355    schedule 10.12.2015    source источник
comment
Как вы записываете файл образа на флешку? Вы используете Linux или U-Boot или ??? См. free-electrons.com/blog/creating-flashing-ubi- ubifs-images   -  person sawdust    schedule 12.12.2015
comment
Обновление: извините за то, что не отвечаю, но я обнаружил другую проблему, а именно: rootfs не были прошиты на флеш-памяти nor, а на флеш-памяти spi, сначала нужно изменить дерево устройств и обновлю эту тему в другой раз, если я достигну этого .   -  person h0ch5tr4355    schedule 17.12.2015


Ответы (2)


Выбираем командную строку, например:

setenv bootargs 'console=ttyAS0,115200 rw init=/bin/devinit coprocessor_mem=4m@0x40000000,4m@0x40400000 printk=1 nwhwconf=device:eth0,hwaddr:00:80:E1:12:40:61 rw ip=172.100.100.249:172.100.100.174:172.100.100.174:255.255.0.0:LINUX7109:eth0:off bigphysarea=6000 stmmaceth=msglvl:0,phyaddr:2,watchdog:5000 ubi.mtd=6 rootfstype=ubifs root=ubi0:rootfs'

См. Следующую ссылку для параметра bootargs как определенный выше.

person suneet saini    schedule 17.12.2015

Попробуйте изменить параметр bootargs с:

root=ubi0_0

To:

root=ubi0:rootfs

Если вы еще не нашли его, у MTD есть отличный FAQ по эта тема.

person user5071535    schedule 11.12.2015
comment
Пробовал это тоже, приводит к тем же ошибкам. FAQ, который я уже нашел, почти единственный реальный источник / документ - person h0ch5tr4355; 11.12.2015
comment
@ h0ch5tr4355 Будет полезно, если вы разместите здесь свой журнал загрузки. - person user5071535; 12.12.2015