ubifs文件系统的制作详解(8)

2019-08-31 16:45

由于项目开发中要使用到ubifs文件系统,现对开发中的技术经验作一个总结。 ubifs是新一代的flash文件系统,其设计以及性能都优越于YAFFS2,特别是工作在大页MLC NAND FLASH上面,同时读写速度也比

yaffs2高出很多,ubifs文件系统的写入速度约为1.66M/s,读出速度约为2.27M/s.同时 ubhifs系统的高压缩率也为生产安装提高效率。

如alpha600文件系统的yaffs2镜像为440M,而ubifs镜像只有206M.

测试ubifs写入速度命令:

time dd if=/dev/zero of=/tmp/ubifs1/zero100M bs=1M count=100;time sync 测试ubifs读出速度命令:

time cp ubifs1/zero100M /dev/null;time sync

从以上的测试结论得出,ubifs优秀的读写速度,在系统启动,文件存储时间大大减少,ubifs在alpha600上应用时,开机时间由原来的

30多秒下降到20S,当然非法关机对ubifs来说,其启动时间也不会增加。。好了,现在言归正转,该说我们如何使用ubifs文件系统了。 具体步骤如下

1.配置ubi and ubifs () 配置内核支持UBIFS

Device Drivers --->Memory Technology Device (MTD) support --->UBI - Unsorted block images --->Enable UBI 配置mtd支持UBI接口

File systems --->Miscellaneous filesystems --->UBIFS file system support

2.manual attach/detach ubi to mtd (手动设置/取消 ubi和mtd分区的关联) ./ubiattach /dev/ubi_ctrl -m mtdnumber ./ubidetaach /dev/ubi_ctrl -m mtdnumber

3.manual create ubi volume (设定volume 大小(不是固定值,可以用工具改变)及名称 ) ./ubimkvol /dev/ubi_device_number -s size -N name like:

./ubimkvol /dev/ubi0 -s 300MiB -N ubifs1

4.mount ubifs volume (挂分区) mount -t ubifs ubi0:ubifs1 /tmp/ubifs1

5.ubi node and ubi_ctrl node (查看ubi和ubi_ctrl主节点信息) #cat /sys/class/misc/ubi_ctrl/dev

10:63

加入/dev下没有ubi_ctrl,则我们可以sudo mknod ubi_ctrl c 10 63创建一个端点

#./ubiattach /dev/ubi_ctrl -m 6 #cat /sys/class/ubi/ubi0/dev

252:0

当我们attach ubi0 to mtd6后,如果/dev下没有ubi0,则创建一个,sudo mknod ubi0 c 252 0

6 .使用mkfs.ubifs命令制作出ubifs格式的镜像:

$./mkfs.ubifs -r mx31-rootfs-alpha1.0.6-20090520/ -m 2048 -e 126976 -c 7979 -o rootfs-ubi.img

参数说明:-r 文件系统目录; -m NandFlash的页大小; -e 逻辑操作块的大小; -c 最大逻辑操作的块数; -o 使用在目标镜像文件

使用ubinize命令生产实际可用空间的ubi格式镜像,这样才可以通过ubiformat命令在板子上写入该文件系统镜像:

$./ubinize -o rootfs.img -m 2048 -p 128KiB ubinize-rootfs.cfg

参数说明:-o 最终生成的ubi格式镜像; -m 页大小;

-p 物理块大小 ;

ubinize-rootfs.cfg是配置文件配置文件内容如下:

[ubifs] mode=ubi

image=rootfs-ubi.img vol_id=0

vol_size=950MiB vol_type=dynamic vol_name=rootfs vol_alignment=1 vol_flag=autoresize

说明:

image=rootfs-ubi.img:由mkfs.ubifs生成的镜像

vol_size=950MiB:写入镜像可使用的分区总共大小

vol_name=rootfs:挂载时使用的名称(rootfs请不要修改,因为在redboot的启动参数里写定了是这个启动信息)

由于项目开发中要使用到ubifs文件系统,现对开发中的技术经验作一个总结。 ubifs是新一代的flash文件系统,其设计以及性能都优越于YAFFS2,特别是工作在大页MLC NAND FLASH上面,同时读写速度也比

yaffs2高出很多,ubifs文件系统的写入速度约为1.66M/s,读出速度约为2.27M/s.同时 ubhifs系统的高压缩率也为生产安装提高效率。

如alpha600文件系统的yaffs2镜像为440M,而ubifs镜像只有206M.

测试ubifs写入速度命令:

time dd if=/dev/zero of=/tmp/ubifs1/zero100M bs=1M count=100;time sync 测试ubifs读出速度命令:

time cp ubifs1/zero100M /dev/null;time sync

从以上的测试结论得出,ubifs优秀的读写速度,在系统启动,文件存储时间大大减少,ubifs在alpha600上应用时,开机时间由原来的

30多秒下降到20S,当然非法关机对ubifs来说,其启动时间也不会增加。。好了,现在言归正转,该说我们如何使用ubifs文件系统了。 具体步骤如下

1.配置ubi and ubifs () 配置内核支持UBIFS

Device Drivers --->Memory Technology Device (MTD) support --->UBI - Unsorted block images --->Enable UBI 配置mtd支持UBI接口

File systems --->Miscellaneous filesystems --->UBIFS file system support

2.manual attach/detach ubi to mtd (手动设置/取消 ubi和mtd分区的关联) ./ubiattach /dev/ubi_ctrl -m mtdnumber ./ubidetaach /dev/ubi_ctrl -m mtdnumber

3.manual create ubi volume (设定volume 大小(不是固定值,可以用工具改变)及名称 )

./ubimkvol /dev/ubi_device_number -s size -N name like:

./ubimkvol /dev/ubi0 -s 300MiB -N ubifs1

4.mount ubifs volume (挂分区)

mount -t ubifs ubi0:ubifs1 /tmp/ubifs1

5.ubi node and ubi_ctrl node (查看ubi和ubi_ctrl主节点信息) #cat /sys/class/misc/ubi_ctrl/dev 10:63

加入/dev下没有ubi_ctrl,则我们可以sudo mknod ubi_ctrl c 10 63创建一个端点

#./ubiattach /dev/ubi_ctrl -m 6 #cat /sys/class/ubi/ubi0/dev 252:0

当我们attach ubi0 to mtd6后,如果/dev下没有ubi0,则创建一个,sudo mknod ubi0 c 252 0

6 .使用mkfs.ubifs命令制作出ubifs格式的镜像:

$./mkfs.ubifs -r mx31-rootfs-alpha1.0.6-20090520/ -m 2048 -e 126976 -c 7979 -o rootfs-ubi.img

参数说明:-r 文件系统目录; -m NandFlash的页大小; -e 逻辑操作块的大小; -c 最大逻辑操作的块数; -o 使用在目标镜像文件

使用ubinize命令生产实际可用空间的ubi格式镜像,这样才可以通过ubiformat命令在板子上写入该文件系统镜像:

$./ubinize -o rootfs.img -m 2048 -p 128KiB ubinize-rootfs.cfg

参数说明:-o 最终生成的ubi格式镜像; -m 页大小;

-p 物理块大小 ;

ubinize-rootfs.cfg是配置文件配置文件内容如下:

[ubifs] mode=ubi

image=rootfs-ubi.img vol_id=0

vol_size=950MiB vol_type=dynamic vol_name=rootfs vol_alignment=1 vol_flag=autoresize

说明:

image=rootfs-ubi.img:由mkfs.ubifs生成的镜像 vol_size=950MiB:写入镜像可使用的分区总共大小

vol_name=rootfs:挂载时使用的名称(rootfs请不要修改,因为在redboot的启动参数里写定了是这个启动信息)

UBI fs (2012-01-13 19:33)

标签: 卡 flash 分类: UBI 文件系统移植

scale [skeil] 比例 扩容

UBIFS不是运行在block device之上的(比如hard disk, MMC/SD卡,USB flash驱动等等)

FTL--在flash hardware上模拟一个block device 块设备


ubifs文件系统的制作详解(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:和差倍问题专项练习题2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: