日期:2014-05-16 浏览次数:20724 次
usage: mkfs.cramfs [-h] [-v] [-b blksz] [-e edition] [-i file] [-n name] dirname outfile
-h ?? ?? print this help 打印帮助
-v ?? ?? be verbose ?? 打印版本
-E ?? ?? make all warnings errors (non-zero exit status)
-b blksz use this blocksize, must equal page size 设置block(块)大小,必须等于页大小
-e edition set edition number (part of fsid)
-i
file insert a file image into the filesystem (requires >= 2.4.0)
插入一个镜像文件到cramfs文件系统中,该文件镜像(也就是file,可以是kernel,也可以是其它文件镜像,该文件在cramfs文件系统中从
77字节处开始写入,即使把cramfs文件系统挂载后也无法找到,我认为相当于用dd将file从第77字节处写入了cramfs文件系统中)
-n name set name of cramfs filesystem ??? 设置cramfs文件系统的名称
-p ?? ?? pad by 512 bytes for boot code ?? ??? 为cramfs文件系统预留512字节的空间存放启动代码
-s ?? ?? sort directory entries (old option, ignored)
-z ?? ?? make explicit holes (requires >= 2.3.39)
dirname root of the filesystem to be compressed 制作的根文件目录(将该目录下的所有内容做成cramfs文件系统)
outfile output file ??? 输出的cramfs文件系统镜像文件
例子1:只把根文件目录做成cramfs文件系统镜像文件
#mkfs.cramfs?? dirname outfile
例子2:把kernel文件以及根文件目录做成cramfs文件系统镜像文件
#mkfs.cramfs?? -i?? kernel?? dirname?? outfile
?
cramfs 是 Linus Torvalds 本人开发的一个适用于嵌入式系统的小文件系统。由于它是只读的,所以,虽然它采取了 zlib 做压缩,但是它还是可以做到高效的随机读取。既然 cramfs 不会影响系统读取文件的速度,又是一个高度压缩的文件系统,对于我们,它就是一个相当不错的选择了。
我们首先把 /usr 目录下的全部内容制成一个 cramfs 的 image 文件。这可以用 mkcramfs 命令完成。得到了这个 usr.img 文件之后,我们还要考虑怎样才能在系统运行的时候,把这个 image 文件 mount 上来,成为一个可用的文件系统。由于这个 image 文件不是一个通常意义上的 block 设备,我们必须采用 loopback 设备来完成这一任务。具体说来,就是在前面提到的 /etc/init.d/rcS 脚本的前面部分,加上一行 mount 命令:
mount -o loop -t cramfs /usr.img /usr |
这样,就可以经由 loopback 设备,把 usr.img 这个 cramfs 的 image 文件 mount 到
/usr 目录上去了。哦,对了,由于要用到 loopback
设备,读者朋友们在编译内核的时候,别忘了加入内核对这个设备的支持。对于系统今后的运行来说,这个 mount 的效果是透明的。cramfs
的压缩效率一般都能达到将近 50%,而我们的系统上绝大部分的内容是位于 /usr 目录下面
?
?
挂载 ISO镜像文件
mount -o loop CDlinux-x.x.x.iso /mnt/cdrom
?
linux 文件镜像 http://people.ofset.org/~ckhung/b/sa/filesystem.php
?
?
----------------------------------------------
关于Cdlinux 0.4.9 可以直接使用 rebol-core 这个版本 真TMD的太爽歪歪了
http://www.rebol.net/builds/042/rebol2602042.tar.gz 见附件 真的太爽了 有这玩意
?