在板子上觀察到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