Create a CRAMFS Target Image
/******************************************************************
* author: 盧浩
* time: 2012.09.13
* environment: ubuntu10.04LTS +TI AM3359
* kernel version: linux-3.2
* QQ Group For Technology Exchange:122879839
******************************************************************/
介紹
(CRAMFS)是一個只讀的Linux文件系統。 CRAMFS和傳統的文件系統的壓縮鏡像之間的主要區別是,cramfs文件系統可以直接使用,而不需要先解壓縮它。這是通過在某個時間點,壓縮文件系統到某的一個頁面,允許隨機讀取。並且,這可以防止寫入數據到文件系統,以保證文件系統的安全性。
CRAMFS的優點:
1. 可以壓縮的比較小
2. CRAMFS文件系統可以讀取,而不需要先解壓縮整個文件系統。
CRAMFS的限制:
1. CRAMFS文件系統是隻讀的。
2. CRAMFS文件系統單個文件大小最大爲16MB。
3. CRAMFS文件系統最大隻能超過256M一點。
先行條件:
1. 製作cramfs鏡像的工具-mkcramfs,linux虛擬機聯網可以直接安裝。詳細請參考:http://processors.wiki.ti.com/index.php?title=CRAMFS_Utilities
2. 一個需要用到cramfs文件系統的ARM目標板。
下面將說明如何製作一個cramfs文件系統鏡像;
注意:我們是基於一個ramdisk.gz文件系統製作的carmfs文件系統,ramdisk.gz的製作辦法請參考系列其他文檔- Creating a RAMDISK 中文手冊
host $ mkdir –p/mnt/def_cd
host $ cp <path toramdisk>/ramdisk.gz /mnt/def_cd
host $ cd /mnt/def_cd
解壓縮ramdisk.gz並作爲虛擬光驅掛載到ram0上
host $ gunzip ramdisk.gz
host $ mkdir ram0
host $ mount ramdisk ram0 –o loop
然後進入掛載目錄對文件系統作你需要的添加和修改。
製作cramfs鏡像:
host $ mkcramfs ram0 cramfs.image
卸載ram0虛擬光驅:
host $ umount ram0