开发者社区> 问答> 正文

ubifs 文件系统本身的开销到底有多少?具体配到哪里去了?

最近做实验,把板子上的一块flash分区(example:mtd5)挂载成ubifs去访问,但df -h 查看这个挂载文件夹
的大小时发现容量比mtd划分的容量小了很多。下面是我的抓的一个log
/opt/mtdtools/ubidetach /dev/ubi_ctrl -m 1
/opt/mtdtools/ubiformat /dev/mtd1 -y
/opt/mtdtools/ubiattach /dev/ubi_ctrl -m 1 -d 2
Volume ID 0, size 100 LEBs (12902400 bytes, 12.3 MiB), LEB size 129024 bytes (126.0 KiB), dynamic, name "logfs", alignment 1
上面创建一个12.3 MB 的volume ,
mount -t ubifs /dev/ubi2_0 demo//直接把volume 挂载为ubifs
df -h 之后
/dev/ubi2_0 9.8M 20.0K 9.3M 0% /logs/demo
从log看总共有100个LEB可用除去 ,volume 12.3 M 之后的容量9.8 M ,说明文件系统的开销高达 2.5M? 具体开销分配去哪了?新人刚开始研究,求大神指教

展开
收起
杨冬芳 2016-07-15 15:26:52 3948 0
1 条回答
写回答
取消 提交回答
  • 如何挂载ubi文件系统  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 装载成功。
    

    “答案来源于网络,供您参考” 希望以上信息可以帮到您!

    2019-09-26 10:29:30
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
用户态高速块缓存方案 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载