关于cramfs文件系统的一些介绍

出处:互联网    发布于:2011-09-04 13:17:04

  1、cramfs的介绍

  CRAMFS文件系统是专门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,文件系统类型可以是EXT2或EXT3. cramfs文件系统并不需要性地将文件系统中的所有内容解压到ram中,而只是是系统需要访问某个位置的数据时,马上计算出该数据在cramfs中的位置,将其解压到ram中,然后通过内存访问来获取数据,cramfs中的解压缩之后的内存中的数据存放位置都是由cramfs文件系统本身来管理,用户并不需要实现过程,因此增加了透明度,给开发人员节约了时间。

  cramfs拥有以下一些特性:

  1、采用实时解压缩方式,但解压缩的时候有延迟。(时间效率)

  2、cramfs的数据都是经过处理、打包的,对其进先写操作有一定困难。所以cramfs不支持写操作,这个特性刚好适合嵌入式应用中使用Flash存储文件系统的场合。

  3、在cramfs中,文件不能超过16MB

  4、支持组标识(gid),但是mkcramfs只将gid的低8位保存下来,因此只有这8位是有效的。

  5、支持硬链接。但是cramfs并没有完全处理好,硬链接的文件属性中,链接数仍然为1.

  6、cramfs的目录中,没有“。”和“”这两项。因此,cramfs中的目录的链接数通常也仅有一个。

  cramfs中,不会保存文件的时间戳(timestamps)信息。当然,正在使用的文件由于inode保存在内存中,因此其时间可以暂时地变更为时间,但是不会保存到cramfs文件系统中去。

  当前版本的cramfs只支持PAGE_CACHE_SIZE为4096的内核。因此,如果发现cramfs不能正常读写的时候,可以检查一下内核的参数设置。

  2、使用cramfs

  可以从https://sourceforge.net/projects/cramfs/cramfs-1.1.tar.gz。然后执行

  tar zxvf cramfs-1.1.tar.gz

  进入解包之后生成cramfs-1.1目录,执行编译命令:

  make

  编译完成之后,会生成mkcramfs和cramfsck两个工具,其中cramfsck工具是用来创建cramfs文件系统的,而mkcramfs工具则用来进行cramfs文件系统的释放以及检查。

  下面是mkcramfs的命令格式:

  mkcramfs [-h] [-e edition] [-i file] [-n name] dirname outfile

  mkcramfs的各个参数解释如下:

  -h:显示帮助信息

  -e edition:设置生成的文件系统中的版本号

  -i file:将一个文件映像插入这个文件系统之中(只能在Linux2.4.0以后的内核版本中使用)

  -n name:设定cramfs文件系统的名字

  dirname:指明需要被压缩的整个目录树

  outfile:终输出的文件

  cramfsck的命令格式:

  cramfsck [-hv] [-x dir] file

  cramfsck的各个参数解释如下:

  -h:显示帮助信息

  -x dir:释放文件到dir所指出的目录中

  -v:输出信息更加详细

  file:希望测试的目标文件



  

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:
技术客服:

0571-85317607

网站技术支持

13606545031

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!