fl2440开发板上用其他文件系统格式化除根分区以外的分区————例ubifs文件系统格式化apps分区2、

来源:互联网 发布:移动数据关闭还走流量 编辑:程序博客网 时间:2024/05/23 11:23

1、开发板上查看有关mtd和ubi的接口:

cat /proc/mtd:可以看到当前系统的各个mtd情况,

cat /proc/partitions: 分区信息,有上面的类似

ls /dev/*, 查看设备节点

2、在开发板上mtd3加载ubifs文件系统

(1)ubiattach /dev/ubi_ctrl -m  3 -----将mtd3与ubi建立连接

系统自动将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上已经创建了加载卷,所以,我们就只要连接并挂载就可以直接用了


0 0
原创粉丝点击