如何将yocto生成的ubif设置为rootfs?

时间:2015-12-10 14:06:58

标签: embedded-linux u-boot yocto ubifs

我尝试将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文件和由yocto生成的.ubi文件同时闪存(尝试了两种方法)到正确的空间(mtd4)并尝试从你启动-boot with the command(也试过多个版本):

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

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

与我不同的是有人使用UBIFS并知道我做错了什么。与优秀手册或其他内容的链接也受到高度赞赏,因为我找不到UBI。

2 个答案:

答案 0 :(得分:1)

选择命令行,例如:

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参数设置为上面的defined

答案 1 :(得分:0)

尝试更改bootargs参数:

root=ubi0_0

要:

root=ubi0:rootfs

如果您还没有找到它,MTD在这个主题上有一个很棒的FAQ