电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

Linux 制作 ramdisk

创建一个简单的基于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文件

博主
5131669536@qq.com
yang62116's Blog
yang62116
点击跳转