linux2.6 内核支持两种格式的 initrd(虚拟文件系统),一种是 linux2.4 内核那种传统格式的文件系统镜像 image-initrd,其核心文件就是 /linuxrc.
另外一种格式的 initrd 是 cpio 格式的,这种格式的 initrd 使用 cpio 工具生成,其核心文件不再是 /linuxrc,而是 /init,本文将这种 initrd 称为 cpio-initrd。尽管 linux2.6 内核对 cpio-initrd和 image-initrd 这两种格式的 initrd 均支持,但对其处理流程有着显著的区别。
cpio命令有三种操作模式:copy-out、copy-in、copy-pass,生成 ramdisk.img 用的是它的copy-out模式,即把文件打包的操作模式。cpio的copy-out操作模式使用 -o 命令行选项指定。
把~/root目录下的文件打包成image.cpio.gz,执行下面的命令:
cd ~/root
find . | cpio -o -Hnewc |gzip -9 > ../image.cpio.gz
命令执行完毕后,在~/root 目录下就会生成文件名为imgae.cpio.gz的init ramfs。
解释 上边的 命令:
上边的 find . 就是 把 ~/root/ 下的 所有 文件 列一个表,
上面cpio命令的 -H 选项指定打包文件的具体格式,要生成init ramfs,只能用newc 格式 ,
-----------------------------
ramdisk.img(虚拟文件系统)在android中的使用
ramdisk中包含一些对于启