ubinfo -a
查看所有ubi分区信息
制作ubi文件系统
#制作UBI文件系统参数,与flash硬件有关
# -r:制定文件内容的位置
# -m:指定了最小的I/O操作的大小,也就是NAND FLASH一个page的大小
# -e:逻辑擦除块大小
# -p:物理擦除块大小
# -c:最大的逻辑擦除块数量
#1、将目录打包成ubifs
#2、创建合并配置文件
#3、将ubifs合并成ubi烧录包
#4、删除产生的临时文件
mkfs.ubifs -r ./rootfs -o ./rootfs.ubifs -m 4096 -e 253952 -c 2146 -F
制作Ubinize 的配置文件ubinize.cfg
echo
"[sysfs_volume]
mode=ubi
image=\"./rootfs.ubifs\"
vol_id=0
vol_type=dynamic
vol_name=rootfs
vol_size=\"64MiB\""
> ./ubinize.cfg
ubinize -o rootfs.ubi -m 4096 -p 256KiB -s 4096 ./ubinize.cfg
rm ./rootfs.ubifs
rm ./ubinize.cfg
一个ubi分区如果涉及到多个卷的话,制作时需要添加各个卷信息
mkfs.ubifs -r ./usrdata -o ./usr_data.ubifs -m 4096 -e 253952 -c 2146 -F
mkfs.ubifs -r ./update -o ./update.ubifs -m 4096 -e 253952 -c 2146 -F
mkfs.ubifs -r ./paramconfig -o paramconfig.ubifs -m 4096 -e 253952 -c 2146 -F
echo "
[usrdata_volume]
mode=ubi
image=\"./usr_data.ubifs\"
vol_id=0
vol_type=dynamic
vol_name=usrdata
vol_flags=autoresize
[update_volume]
mode=ubi
image=\"$./update.ubifs\"
vol_id=1
vol_type=dynamic
vol_name=update
vol_size=\"16MiB\"
[hdconfig_volume]
mode=ubi
image=\"$./paramconfig.ubifs\"
vol_id=2
vol_type=dynamic
vol_name=paramconfig
vol_size=\"16MiB\"
" > ./ubinize.cfg
ubinize -o ./usr_data.ubi -m 4096 -p 256KiB -s 4096 ./ubinize.cfg
rm ./update.ubifs
rm ./paramconfig.ubifs
rm ./usr_data.ubifs
rm ./ubinize.cfg
实列:
关联ubi设备,-m 选项指定mtd设备分区, -d指定ubi号
ubiattach /dev/ubi_ctrl -m 12 -d 0
挂载设备
mount -t ubifs -o rw ubi3_0 /tmp/recoveryfs/
卸载设备
umount /tmp/recoveryfs/
解除ubi设备关联
ubidetach -m 12 -d 0