淺談ubi文件系統製作

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章