cat /proc/mtd:可以看到当前系统的各个mtd情况,
cat /proc/partitions: 分区信息,有上面的类似
ls /dev/*, 查看设备节点
系统自动将mtd3关联到ubi1上(如果ubi0已经存在,就是ubi1,如果ubi1存在就是ubi2)
(2) ls /sys/class/ubi/ -----可以看到该目录下增加了一个ubi2的子目录
(3) cat /sys/class/ubi/ubi1/dev -----可以得到该ubi1设备的主次设备号,如249:1
(4) cat /sys/class/ubi/ubi1/volumes_count -----结果为0,表示该ubi上没有任何volume
(5) ls /dev/ubi* -----如果/dev中没有ubi, 则手工创建“mknod /dev/ubi1 c 249 1”
(6) ubimkvol /dev/ubi1 -s 62914560 -N my_ubi -----在ubi1上创建一个volume
(62914560这个就是指定加载卷的大小,是按字节算的,我这个是60M,你们的自己算)
(7) ls /sys/class/ubi/ -----可以看到该目录下增加一个ubi1_0的目录,代表ubi1上的第一个volume,如果
“cat /sys/class/ubi/ubi1_0/name”, 你可以得到“my_ubi”,这就是(6)中的名字。
(8) cat /sys/class/ubi/ubi1_0/dev -----得到该volume的主次设备号,如249:1
(9) mknod /dev/ubi1_0 c 249 1 -----如果/dev中没有ubi2_0, 则需要手工创建
(10) mount -t ubifs ubi1_0 /mnt -----将ubi2_0挂载到本地目录 /mnt上,
(11) mount -----可以看到ubi1_0成功挂载在/mnt上。
这是手动加载ubifs到mtd3上,但是如果开发板一重启后,就没有了。
如果想要让开发板开机的时候自动加载,就要改开机启动脚本
vim etc/inittab
添加如下代码:
#Mount myu ubi_filesystem to /mnt
::sysinit:ubiattach /dev/ubi_ctrl -m 3
::sysinit:mount -t ubifs ubi1_0 /mnt
以上添加后的代码是我手动加载了一次后加的,因为我手动加载过一次,mtd3上已经创建了加载卷,所以,我们就只要连接并挂载就可以直接用了