linux 升级ubifs,ubifs 的一点积累

本文详细介绍了如何在Linux环境下升级和创建UBIFS文件系统,包括使用`mkfs.ubifs`和`ubinize`工具,以及如何在u-boot和内核中烧写和挂载。此外,还提到了`-F`标志的作用,用于处理NAND闪存的ECC错误。
摘要由CSDN通过智能技术生成

1. mkfs.ubifs

mkfs.ubifs生成的image可以用来在linux kernnel里面更新ubi volume。

其使用方法如下:

mkfs.ubifs -r root-tree -F -m 4096 -e 258048 -c 362 -o ti.ubifs

-r   后面跟文件系统的tree

-F --space-fixup, 如果要基于ti.ubifs来制作使用u-boot来烧写的ubi.img,这个flag一定要选啊

-m   min i/o size

-e   logical 擦除块的大小

-c   逻辑擦除块的数目

-o   目标生成文件

下面是使用ti.ubifs更新ubi vlomue的例子:

flash_eraseall /dev/mt7

ubiattach /dev/ubi_ctrl -m 7

ubimkvol /dev/ubi0 -N rootfs -s 85MiB

ubiupdatevol /dev/ubi0_0 ti.ubifs

mount /dev/ubi0_0 /mnt/ubi0

就可以看到ubifs的内容了

2. ubinize

ubinize用来制作u-boot下烧写用的ubifs的image。

其使用方法如下:

ubinize -o ubi.img -m 4096 -p 256KiB -s 1024 ubinize.cfg

-o 后跟目标image文件名,这个ubi.img可以在u-boot里面进行烧写

-m minimum io size

-p 物理擦除块的大小

-s subpage的大小

ubinize.cfg 是生成ubi.img的配置文件,内容如下。

#cat ubinize.cfg

[ubifs]

mode=ubi

image=ti.ubifs

vol_id=0

vol_size=80MiB

vol_type=dynamic

vol_name=rootfs

vol_flags=autoresize

其中

"image=ti.ubifs"指明使用上文所述的ti.ubifs作为输入。

"vol_name=rootfs"指明volume的name.

"vol_size=80MiB"指明fs的总大小。

下面是u-boot烧写ubi.img的方法

当前是写48MB, 需要根据实际调整.

U-Bo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值