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