创建一个简单的基于ext2fs的ramdisk
复制内容到剪贴板
代码:
mke2fs -vm0 /dev/ram 4096
mount -t ext2 /dev/ram /mnt
cd /mnt
cp /bin, /sbin, /etc, /dev ... files in mnt
cd ../
umount /mnt
dd if="/dev/ram" bs="1k" count="4096" of="ext2ramdisk"
mke2fs是用于在任何设备上创建ext2
文件系统的实用
程序它创建超级块、索引节点以及索引节点表等等。
在上面的用法中,/dev/ram 是上面构建有4096 个块的ext2 文件系统的设备。然后,将这个设备(/dev/ram)挂装在名为/mnt的临时目录上并且复制所有必需的文件。一旦复制完这些文件,就卸装这个文件系统并且设备(/dev/ram)的内容被转储到一个文件(ext2ramdisk)中,它就是所需的ramdisk(ext2 文件系统)
上面的顺序创建了一个4 MB的ramdisk,并用必需的文件实用程序来填充它。
一些要包含在ramdisk 中的重要目录是:
* /bin — 保存大多数象 init、busybox、shell、文件管理实用程序等二进制文件
* /dev — 包含用在设备中的所有设备节点
* /etc — 包含系统的所有配置文件
* /lib — 包含所有必需的库,如 libc、libdl 等
如果此方法行不通,请试用下面的方法:
制作ramdisk的方法
(1)建立loop设备的临时挂接点和一个大小为6兆(大小可以调节)的临时文件,并将其清零:
复制内容到剪贴板
代码:
#mkdir /mnt/loop 2>/dev/null
#dd if="/dev/zero" of="/tmp/loop"_tmp bs="1k" count="6144" >/dev/null
(2)将loop设备与临时文件联系起来
复制内容到剪贴板
代码:
#losetup /dev/loop0 /tmp/loop_tmp
(3)Linux內核识别两种可以直接拷贝到ramdisk的文件系统,它们是minix 和ext2,ext2性能更好:
复制内容到剪贴板
代码:
#mke2fs -m 0 /dev/loop0 2>/dev/null
mke2fs将会自动判断设备容量的大小并相应地配置自身,-m 0参数防止它给root保留空
这样会腾出更多地有用空间。
(4)接着把虚拟盘挂在节点/mnt上:
复制内容到剪贴板
代码:
#mount /dev/loop0 /mnt/loop -t ext2
(5)将制作好的root文件系统拷贝到所挂的节点上,卸下挂接点,刪除建立的挂接点
复制内容到剪贴板
代码:
#cp -a /ramdisk/* /mnt/loop
#umount /mnt/loop
现在制作的/tmp/loop_tmp就是一个6M的ramdisk文件
文章评论(0条评论)
登录后参与讨论