如何掛載ubi文件系統
原文地址 :http://blog.sina.com.cn/s/blog_5d9051c00100ejvj.html
Linux 系統中有關mtd和ubi的接口:
(1) cat /proc/mtd:可以看到當前系統的各個mtd情況,
(2) cat /proc/partitions: 分區信息,有上面的類似
(3) cat /sys/class/ubi/ubi0/*:當前系系統的ubi情況
(4) ls /dev/*, 查看設備節點
假設我們想在mtdblock1上加載ubifs文件系統,步驟如下:
(1)./ubiformat /dev/mtd1 -----格式化mtdblock1
(2)./ubiattach /dev/ubi_ctrl -m 1 -----將mtdblock1與ubi建立連接,命令輸出如下:
[ 977.342492] UBI: attaching mtd1 to ubi2
[ 977.346417] UBI: physical eraseblock size: 131072 bytes (128 KiB)
[ 977.352631] UBI: logical eraseblock size: 126976 bytes
[ 977.357948] UBI: smallest flash I/O unit: 2048
UBI device number 2, total 2000 LEBs (253952000 bytes, 242.2 MiB), available 1976 LEBs (250904576 bytes, 239.3 MiB), LEB size 126976 bytes (124.0 KiB)
系統自動將mtd1關連到ubi2上,假設系統中已經存在ubi0, ubi1了。
(3) ls /sys/class/ubi/ -----可以看到該目錄下增加了一個ubi2的子目錄
(4) cat /sys/class/ubi/ubi2/dev -----可以得到該ubi2設備的主次設備號,如249:0
(5) cat /sys/class/ubi/ubi2/volumes_count -----結果為0,表示該ubi上沒有任何volume
(6) ls /dev/ubi* -----如果/dev中沒有ubi2, 則手工創建“mknod /dev/ubi2 c 249 0”
(7) ./ubimkvol /dev/ubi2 -s 100MiB -N my_ubi_vol -----在ubi2上創建一個volume
(8) ls /sys/class/ubi/ -----可以看到該目錄下增加一個ubi2_0的目錄,代表ubi2上的第一個volume,如果哦“cat /sys/class/ubi/ubi2_0/name”, 你可以得到“my_ubi_vol”,這就是(7)中的名字。
(9) cat /sys/class/ubi/ubi2_0/dev -----得到該volume的主次設備號,如249:1
(10) mknod /dev/ubi2_0 c 249 1 -----如果/dev中沒有ubi2_0, 則需要手工創建
(11) mount -t ubifs ubi2_0 /mnt -----將ubi2_0掛載到本地目錄 /mnt上,
(12) mount -----可以看到ubi2_0成功掛載在/mnt上。
至此ubifs 裝載成功。