在板子上观察到56M的ubi卷,挂载上ubifs以后,df -h显示可用空间约为50M。
如此计算开销超过了10%,那么这个开销随容量如何变化呢,是固定为10%吗仍是有其余规律?html
简单查了下资料,没找到明确的计算方式。只知道ubifs分为了六个区域,那么要确承认用大小,应该先减去其他区域的占用,再确认main area自己如何计算可用空间。
这个要深刻进去看源码,就比较花时间了。暂且搁置,之后有空再来填这个坑。linux
想了想,没有确认到理论计算方式的话,那就干脆直接实测一组数据好了。
板子自己nand的容量有限,且操做麻烦,咱们直接在PC上模拟便可bash
sudo modprobe nandsim first_id_byte=0xec second_id_byte=0xd3 third_id_byte=0x10 fourth_id_byte=0xa6 sudo modprobe ubi mtd=0 sudo ubimkvol /dev/ubi0 -N ubifs-vol -s 100MiB sudo mount -t ubifs /dev/ubi0_0 /mnt/ubifs df -h | grep ubi0_0
对应卸载命令为测试
sudo umount /mnt/ubifs sudo rmmod ubifs ubi nandsim
查看ubi信息的命令code
ubinfo /dev/ubi0_0
注: nandsim支持多种nand,由传入的id指定。模拟不一样的nand型号,结果会有所差异。能够选择跟本身目标nand参数较为一致的设备做为模拟,更具备实际参考意义htm
http://www.linux-mtd.infradead.org/faq/nand.html#L_nand_nandsim
http://www.linux-mtd.infradead.org/nand-data/nanddata.htmlblog