快速业务通道

Linux下Ramdisk根文件系统制作过程解析

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-06

一、在一个已建好的文件系统上进行修改

设已建立好的文件系统压缩文件为ramdisk.gz

1、解压

#cd ramdisk.gz所在目录

#gunzip ramdisk.gz

在解压后,得到文件系统镜象文件ramdisk, 覆盖了原来的压缩文件

2、镜象文件挂载

镜象文件经过挂载后才能看到文件系统中的各个目录和详细内容

#mkdir /mnt/loop /* /mnt/loop 是文件系统要挂载到的目录

#mount –o loop ramdisk /mnt/loop

在挂载目录/mnt/loop下对文件系统进行操作

#cd /mnt/loop

#do_whatever_you_want_to_do /*根据需要增加、删减或是修改文件系统的内容

4、卸装文件系统

跳到/mnt/loop目录外,否则无法卸装,提示busy

#cd ramdisk所在目录

#umount /mnt/loop

5、压缩文件系统

#gzip –v9 ramdisk /*生成ramdisk.gz压缩文件

二、自己建立根文件系统

1、建立loop设备的临时挂载点

#mkdir /mnt/loop

2、建立一个大小为15M的临时文件

#dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=15360

注意可根据自己的需要建立大小合适的文件系统,更改count大小即可.

此处以dd命令建立一个了一个15360KB文件系统映象,存于/tmp/loop/tmp,并以.dev/zero对它进行初始化.用这种方式对文件系统进行初始化,稍后当我们使用gzip命令压缩整个映象时,将让文件系统中未使用的部分获得最大压缩比.

3、将设备文件与临时文件联系起来

#losetup /dev/loop0 /tmp/loop_tmp

把设备文件/dev/loop0与临时镜象文件/tmp/loop_tmp联系起来,/dev/loop0是个块设备

如果出现“ioctl:LOOP_SET_FD:设备或资源忙”,说明/dev/loop0设备还和一文件联系,可用losetup /dev/loop0查看地,并可用-d 删除.

4、将/dev/loop0格式化为ext2文件系统

#mke2fs –m 0 /dev/loop0

-m 0指出不必在文件系统上为“超级用户”保留任何区块.

Linux内核识别两种可以直接考贝的到ramdisk的文件系统,它们是minix和ext2,minix是linux早期版本所用的文件系统,从minix操作系统而来,ext2性能更好.

5、把虚拟盘挂在节点/mnt/loop上

#mount –t ext2 /dev/loop0 /mnt/loop

6、用cp –af命令将所需要文件拷贝到虚拟盘上

cp –help查看cp 用法.cp –arf … -r表示拷贝目录

/bin, /dev, /etc, /lib, proc, /sbin, /usr都是不可或缺的目录,建议保留/tmp,/var,不过可以为空.而为多用户提供可扩展环境的所有目录(例如/home、/mnt、/opt、/root)都应该省略.

用cp复制文件时,建议把已建立好的文件系统中的内容全部拷贝过来,这样比较简单,不需要再去编译安装busybox等.当然自己也可以那样去做.

7、卸载文件系统,得到的/tmp/loop_tmp就是文件系统映象.

#cd /mnt/loop以外的目录 (否则会提示无法卸载,设备busy)

#umount /mnt/loop

8、压缩文件系统映象

#gzip –v9 /tmp/loop_tmp >/tftpboot/ramdisk.gz

在/tftpboot下生成了ramdisk.gz,这样一个内存文件镜象生成了.

或只是#gzip –v9 /tmp/loop_tmp,则就是在/tmp下生成loop_tmp.gz文件,一样的.

在上述自己建立文件系统中,第3条用 losetup命令把块设备文件/dev/loop0与临时文件/tmp/loop_tmp联系起来了,我的理解是/tmp/loop_tmp是块设备文件,用/dev/loop0与之相关联,然后对/dev/loop0的操作和对其虚拟盘的操作,就间接作用在文件系统映象 /tmp/loop_tmp上.

三、自己建立根文件系统(与二中不同)

1、建立loop设备的临时挂载点

#mkdir /mnt/loop

2、建立文件系统映象

#dd if=/dev/zero of=/tmp/loop_tmp bs=1k count=1536

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号