2019年11月9日 星期六

UBIFS

UBIFS 可視為下一代的 JFFS2 檔案系統。JFFS2 直接運用 MTD,UBIFS 則是透過 UBI volume 運用 MTD,UBI 處理 wear-leveling、bad block 及 volume management  (logical eraseblock 到 physical eraseblock 對應) 等問題。

使用
  • 在 Kernel 先開啟 UBI,再開啟 UBIFS
  • 掛載
    • mount -t ubifs /dev/ubi0_0 /mnt (掛載 UBI device 0 volume 0)
    • mount -t ubifs ubi1_0 /mnt (掛載 UBI device 1 volume 0)
    • mount -r ubifs ubi0:rootfs /mnt (掛載 UBI device 0 volume rootfs)
  • 掛載為根目錄
    • 必須內建於 kernel
    • 開機參數指定 ubi.mtd= root= rootfstype=ubifs
  • 建立 UBIFS 影像檔
    • 用 mkfs.ubifs 產生,用於 running system,用 ubiupdatevol 寫入
    • 如果要直接寫入 flash,需再用 ubinize 產生 UBI 影像檔
    • 需要先了解下列資訊
      • MTD partition size
      • physical eraseblock size:cat /proc/mtd 可看到
      • min. flash I/O unit
      • NAND's sub-page size:一些 SLC NAND 有 sub-page
      • logical eraseblock size
壓縮
 
partition scalability:JFFS2YAFFS2 有 partition scalability 的問題,時間、RAM consumption、及 CPU usage 跟 partition 大小成正比,當 partition 大於 100 MiB 時效能就不太好了。
 
write-back caching

沒有留言:

張貼留言

SIP header Via

所有 SIP 訊息 都要有 Via,縮寫 v。一開始的 UAC 和後續途經的每個 proxy 都會疊加一個 Via 放傳送的位址,依序作為回應的路徑。 格式 sent-protocol sent-by [ ;branch= branch ][ ; 參數 ...] s...