From:http://blog.csdn.net/at91rm9200/article/details/550074

文章来源 (http://publishblog.blogchina.com/blog/tb.b?diaryID=3226065)

cramfs和romfs只是一个文件系统类型,ramdisk相当于一块硬盘空间,可以理解为在内存中虚拟出一块硬盘来,所以它上面就可以有你 linux支持的各种文件系统什么的。所以你问的,它和romfs和cramfs确实不是一个层次的概念。 ^-^恭喜你,你答对了,加10分
cramfs是只读压缩的文件系统,文件系统类型可以是ext2,ext3,什么的,
制作方法: 假如你的根文件系统的目录是 rootfs (你将来要用到的所有的文件就在这里)
like this : mkcramfs rootfs rootfs.cramfs 就搞定了。如名字所言,它是只读压缩,所以比较省空间,如果你的flash比较小,就用这个吧! 系统启动后,kernel把他load到内存中,解压,所以比较占内存。看你的需要了。

而ramdisk呢?这个用的比较多,ramdisk相当于一块硬盘空间,可以理解为在内存中虚拟出一块硬盘来,所以它上面就可以有你linux支持的各种文件系统什么的。所以你问的,它和romfs和cramfs确实不是一个层次的概念。 关键是以后,在ramdisk里面可以写,这是一个和cramfs重要的区别了。
具体制作方法:
dd if=/dev/zero of=rootfs.img bs=1M count=一个整数(看你的实际的需要的空间了,一般也就10M)
把它格式化为你需要的文件系统,比如 ext2 ,ext3 ,reiserfs 什么的,
比如ext3 : mkfs.ext3 root.img
然后把它mount到某个目录,比如tmp 吧:
mount -t ext3 /tmp/

然后,你的文件系统所在的目录的所有文件copy到tmp目录下: 比如你的文件系统目录在/root/rootfs-test :
cp -av /root/rootfs-test/* /tmp/ (这里注意一个细节:copy的时候,用参数a表示copy全部,v表示只copy链接本身,不copy它指向的内容,这点很关键哦!) ,另外,有的人常用:cp -pdR 这个你也可以试试,意思就是原来什么样,copy过去就什么样。

然后卸载/tmp/ 目录就好了。
umount /tmp

一般的情况下,ramdisk是要压缩的,对于上面的生成好的img, rootfs.img ,你可以这样压缩:
gzip -v9 rootfs.img 会自动生成rootfs.img.gz ,一般压缩率,30%吧!

romfs 
uCLinux系统采用ROMFS文件系统,这种文件系统相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面:首先内核支持ROMFS文件系统比支持ext2文件系统需要更少的代码;其次ROMFS文件系统相对简单,在建立文件系统超级块(superblock)需要更少的存储空间。ROMFS文件系统不支持动态擦写保存,对于系统需要动态保存的数据采用虚拟RAM盘的方法进行处理(RAM盘将采用ext2文件系统).
可以从http://romfs.sourceforge.net/下载生成romfs的工具genromfs

个人经验: 你自己要创建文件系统,一般是先建一个目录在里面建一些常用的目录,比如bin ,sbin ,root ,etc lib 什么的,正如楼上所言,lib比较烦,需要考虑你要用的程序需要的动态链接库,
建议你先搞一个别人的,拿过来,参考,自己去改,一开始,自己去作肯定要疯的。

你可以到网上搜搜的。 有个网站,http://user-mode-linux.sourceforge.net/  这个里面提供了一些简单的文件系统,你可以拿过来,自己改改。 这是个比较快的方法,其实,里面要改基本是:
/etc/rc.d/** 下面的启动脚本。
lib/下的一些动态链接库。
shell busybox知道吗? 利用这个,可以省很多空间, 到google上搜搜

romfs, cramfs和ramdisk相关推荐

  1. 破解文件系统telnet密码【ZT】

    http://www.ebaina.com/u-mx644978170/blog-74.html 因工作需要需要调试某公司的3531板子,运行我们的程序,从整个调试过程中还是学到一些知识的现在记录下. ...

  2. 2008、2012、2013海康威视嵌入式校招笔试整理

    2008嵌入式软件工程师(A) 1. C语言中,修饰符volatile含义是什么?其应用场合有哪些? volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这 ...

  3. buildroot概述及使用

    原文网址:buildroot概述及使用_IT利刃出鞘的博客-CSDN博客 Buildroot介绍 1.Buildroot工具诞生的缘由是:Making Embedded Linux y,     网址 ...

  4. 嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs

    Linux支持多种文件系统,包括ext2.ext3.vfat.ntfs.iso9660.jffs.romfs和nfs等,为了对各类文件系统 进行统一管理,Linux引入了虚拟文件系统VFS(Virtu ...

  5. Porting:telnet远程登录开发板、制作并烧写cramfs和ext4和ramdisk三种格式根文件系统镜像

    1.安装卸载模块不成功的问题     #:'insmod led_drv.ko     #:'lsmod     #:'rmmod led_drv     出现的问题:    // rmmod: ca ...

  6. 嵌入式 linux ramdisk 保存文件,制作嵌入式linux文件系统(ramdisk,cramfs,squashfs)...

    一.什么是文件系统 (Filesystem): A directory structure contained within a disk drive or disk area. The total ...

  7. linux根文件系统配置,嵌入式Linux的Cramfs根文件系统配置的解决方案

    1 引言 随着电子产业的不断发展,基于 ARM 技术的系统设计和开发平台越来越多地在控制 类.消费类.通信类等电子产品中广泛应用.从软件角度上看,构建基于ARM 技术的linux 系统要涉及到引导加载 ...

  8. Cramfs、JFFS2、YAFFS2的全面对比

    Cramfs.JFFS2.YAFFS2的全面对比  http://blog.csdn.net/daofengdeba/article/details/7721340 由于嵌入式系统自身存在一些特殊要求 ...

  9. Linux中的Ramdisk和Initrd

    Ramdisk简介 先简单介绍一下ramdisk,Ramdisk是虚拟于RAM中的盘(Disk).对于用户来说,能把RAM disk和通常的硬盘分区(如/dev/hda1)同等对待来使用,例如: re ...

最新文章

  1. 索引系列八--索引特性之有序难优化union
  2. Android常见面试题解答
  3. asp.net简单的注册或者登陆三层架构的例子
  4. linux centos版本安装软件,linux – 在CentOS上安装软件:二进制文件还是rpm?
  5. shell 用环境变量的值修改properties文件
  6. 2022最新Spring相关大厂常问技术面试题大全 —— 金三银四好时机
  7. ncurses下c语言定位光标,C指针原理教程之Ncurses介绍
  8. MultipartFile和CommonsMultipartFile的区别!
  9. (4)JavaScript之alert语句
  10. 免费语音识别_免费 语音识别_免费语音识别api - 云+社区 - 腾讯云
  11. 一个对于小数四舍五入的算法C语言版
  12. Nginx 从入门到放弃(五)
  13. FVC与地表温度的相关性分析研究
  14. 【Django 2021年最新版教程21】数据库查询 model 多条数据 queryset转dict字典 返回渲染到前端
  15. 终于有人把分布式机器学习讲明白了
  16. 一次局域网入侵全过程
  17. 脑机接口:互联网遥远的疆界
  18. 国外不良资产证券化经验总结
  19. 电商用户行为分析-大数据
  20. 记一次rk平台热点打开流程追踪记录

热门文章

  1. linux 下oracle基于raw扩充表空间步骤
  2. Silverlight - IIS 7.5 部署SilverLight4网站以及问题解决
  3. 为什么Java里面的静态方法不能是抽象的
  4. leetcode306. 累加数(回溯)
  5. neo-6m uno_Uno-统治所有人的平台
  6. aws中部署防火墙_如何在AWS中设置自动部署
  7. 去除文件头部的u+feff_关于FEFF的简短故事,一个不可见的UTF-8字符破坏了我们的CSV文件
  8. vim block vim_我如何学会爱Vim
  9. JavaWeb 命名规则
  10. 《火球——UML大战需求分析》(第1章 大话UML)——1.5 小结和练习