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