ubifs分区信息详解


ubi挂载操作:

(1)格式化ubi分区
  ubiformat /dev/mtd*   格式化mtdblock*

(2)与ubi建了连接
  ubiattach /dev/ubi_ctrl -m *   mtdblock*与ubi建立连接

(3)创建volume
  ubimkvol /dev/ubi* -s 100MiB -N my_ubi_vol 在ubi*上创建一个volume,名字为my_ubi_vol,大小为100MiB

(4)挂载ubifs
  mount -t ubifs /dev/ubi_0  /mnt   挂载对应的/dev/ubi_0,而非/dev/mtd*

(5)卸载ubifs
  umount /mnt

(6)断开ubi连接
  ubidetach -m *

如果/dev/mtd*是非ubifs分区,则需要如上流程才能正常挂载使用,如果已经格式化为ubifs分区,则只需要ubiattach,即可mount使用。

ubi信息查看:

crw-rw----    1 root     root      235,   0 Jan  1 00:00 /dev/ubi0
crw-rw----    1 root     root      235,   1 Jan  1 00:00 /dev/ubi0_0
crw-rw----    1 root     root      234,   0 Jan  1 00:09 /dev/ubi1
crw-rw----    1 root     root      234,   1 Jan  1 00:09 /dev/ubi1_0
crw-rw----    1 root     root       10,  48 Jan  1  1970 /dev/ubi_ctrl

查看ubi相关的节点,如果有两个ubi分区,fs先挂载,则/dev/ubi0_0为fs,/dev/ubi1_0为data

ls -l /sys/class/ubi
lrwxrwxrwx    1 root     root             0 Jan  1 00:00 /sys/class/ubi/ubi0 -> ../../devices/virtual/ubi/ubi0
lrwxrwxrwx    1 root     root             0 Jan  1 00:00 /sys/class/ubi/ubi0_0 -> ../../devices/virtual/ubi/ubi0/ubi0_0
lrwxrwxrwx    1 root     root             0 Jan  1 00:09 /sys/class/ubi/ubi1 -> ../../devices/virtual/ubi/ubi1
lrwxrwxrwx    1 root     root             0 Jan  1 00:18 /sys/class/ubi/ubi1_0 -> ../../devices/virtual/ubi/ubi1/ubi1_0
-r--r--r--    1 root     root          4096 Jan  1 00:00 /sys/class/ubi/version

查看ubi节点对应的信息,为link符合链接。
(3)查看/sys/class/ubi/ubi1 信息

ls
avail_eraseblocks  max_ec             reserved_for_bad   uevent
bad_peb_count      max_vol_count      ro_mode            volumes_count
bgt_enabled        min_io_size        subsystem
dev                mtd_num            total_eraseblocks
eraseblock_size    power              ubi1_0

(4)查看详细的信息

 ls -l
total 0
-r--r--r--    1 root     root          4096 Jan  1 00:09 avail_eraseblocks   可擦除的block数
-r--r--r--    1 root     root          4096 Jan  1 00:09 bad_peb_count       坏的peb计数,底层MTD的物理分区(PEB)和上层逻辑分区(LEB)
-r--r--r--    1 root     root          4096 Jan  1 00:18 bgt_enabled         后台线程使能,bgt: background thread
-r--r--r--    1 root     root          4096 Jan  1 00:09 dev                 主次设备号
-r--r--r--    1 root     root          4096 Jan  1 00:09 eraseblock_size     擦除的块大小
-r--r--r--    1 root     root          4096 Jan  1 00:09 max_ec
-r--r--r--    1 root     root          4096 Jan  1 00:09 max_vol_count       支持的最大的volume数量
-r--r--r--    1 root     root          4096 Jan  1 00:09 min_io_size         最新的io操作大小,即页大小
-r--r--r--    1 root     root          4096 Jan  1 00:09 mtd_num             ubi设备对象的mtd
drwxr-xr-x    2 root     root             0 Jan  1 00:18 power
-r--r--r--    1 root     root          4096 Jan  1 00:09 reserved_for_bad    从bad block修复的数量
-r--r--r--    1 root     root          4096 Jan  1 00:18 ro_mode             只读模式
lrwxrwxrwx    1 root     root             0 Jan  1 00:18 subsystem -> ../../../../class/ubi
-r--r--r--    1 root     root          4096 Jan  1 00:09 total_eraseblocks   总共擦除的block数
drwxr-xr-x    3 root     root             0 Jan  1 00:09 ubi1_0
-rw-r--r--    1 root     root          4096 Jan  1 00:18 uevent              主次设备号对应的变量
-r--r--r--    1 root     root          4096 Jan  1 00:18 volumes_count       已经创建的volume数量

(5)具体内容如下:

cat avail_eraseblocks
60
# cat bad_peb_count             坏的peb数量
4
# cat bgt_enabled
1
# cat dev                       主次设备号
234:0
# cat eraseblock_size           
126976
# cat max_ec
1
# cat max_vol_count             最大支持128卷
128
# cat min_io_size               page size:2K
2048
# cat mtd_num                   对应的/dev/mtd6
6
# cat reserved_for_bad
76
# cat ro_mode
0
# cat total_eraseblocks
1131
# cat uevent
MAJOR=234
MINOR=0
DEVNAME=ubi1
# cat volumes_count            只有一个卷,即上面创建的 my_ubi_vol
1

(6)我们在/dev/mtd6上面,只新建了一个volume,所以有个对应的ubi1_0

cd /sys/class/ubi/ubi1/ubi1_0
 ls
alignment       device          subsystem       usable_eb_size
corrupted       name            type
data_bytes      power           uevent
dev             reserved_ebs    upd_marker
 
cat name            即为我们创建的 my_ubi_vol
my_ubi_vol
/sys/class/ubi/ubi1/ubi1_0 下面即为 my_ubi_vol的相关信息

(7)常见的volume属性

alignment       device          subsystem       usable_eb_size
corrupted       name            type
data_bytes      power           uevent
dev             reserved_ebs    upd_marker

cat data_bytes my_ubi_vol 大小为120M
125833216 cat name 名字为my_ubi_vol
my_ubi_vol


相关