ramdisk根文件系统制作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
shell脚本:createrd建立新的ramdisk,并挂载拷贝好旧的文件.
#!/bin/sh
rm rdimg/*
mount -o loop rdold/ramdisk rdold/tmp
dd if=/dev/zero of=rdimg/ramdisk bs=1k count=15360
mke2fs -F -v -m0 rdimg/ramdisk
如果对计算速度要求很高,可以通过增加内存来实现,使用ramdisk技术。一个A Ramdisk就是把内存假设为一个硬盘驱动器,并且在它的上面存储文件。假设有几个文件要频繁的使用,如果将它们加到内存当中,程序运行速度会大幅度提高,因为内存的读写速度远高于硬盘。划出部分内存提高整体性能,不亚于更换新的CPU。像Web服务器这样的计算机,需要大量读取和交换特定的文件。因此,在Web服务器上建立Ramdisk会大大提高网络读取速度。
$umount rdold/tmp
8,卸载新的ramdisk
$umount rdmnt
9,把新的ramdisk制成压缩包
$gzip -9 rdimg/ramdisk.img ramdisk.gz
在此ramdisk.gz即为新建立的ramdisk镜像
为了方便建立笔者建立的两个shell脚本,其能快速建立需要的ramdisk镜像.
$ sudo cp _install/* /mnt/initrd -a
$ sudo umount /mnt/initrd
$ gzip --best -c initrd.img > ramdisk.img
$ sudo chmod 777 ramdisk.img
$ cp ramdisk.img /tftpboot
cp rdimg/ramdisk.gz /opt/LinuxShare
[注]脚本编辑好后,记着用chmod +x filename使之能够执行.
如何修改ramdisk文件系统
ramdisk 是一种基于内存的虚拟磁盘技术,采用ext2文件系统。ramdisk.gz是ramdisk文件再压缩后的格式。
查看ramdisk.gz根文件系统,或者对原有的文件系统进行修改,只需解压,再把获得的镜像文件挂载即可。
#cd /mnt/loop
这里可以看到, 就是ramdisk.gz成功加载后的目录
3)修改文件系统的内容
比如设置固定的IP地址,MAC地址。
4)umount /mnt/loop
卸载 /mnt/loop0.
5)重新压缩成.gz压缩文件
#gzip –v9 ramdisk//生成新的ramdisk.gz压缩文件
从制作Ramdisk根文件系统的方法上来说,是很简单的。
1.配置Linux内核支持Ramdisk类型的文件系统。
2.制作好根文件系统,使用之前实验案例制作好的根文件系统。
3.将制作好的根文件系统制作成Ramdisk类型文件系统。
4.下载到TPAD上使用测试。
实现
1.对内核进行配置,使得内核能够支持Ramdisk类型的文件系统,如图-9,图-10,图-11。
制作ramdisk类型文件系统
ramdisk也就是内存盘的意思。
所谓的RAM驱动器,实际上是把系统内存划出一部分当作硬盘使用。对于操作系统来讲内存的存取速度远远大于机械磁盘,所以RAM驱动器肯定要比机械的硬盘快得多。你可以把整个应用程序都安装在ramdisk的驱动器中,然后用内存的速度运行它。使用RAM驱动器技术对于延长笔记本电脑电池使用时间也是十分有利的,因为这样做可以减少访问“耗电大户”——硬盘的次数。
tarena# saveenv
1,进入工作目录,建立需要的目录
$mkdir rdmnt//新ramdisk挂载的目录
$mkdir rdimg//产生的镜像文件的目录
$mkdir rdold// ramdisk旧文件目录
$mkdir rdold/tmp//挂载旧ramdisk的目录
2,挂载旧的ramdisk
Ram:内存,Disk:磁盘,在Linux中可以将一部分内存当作分区来使用,称之为Ramdisk。对于一些经常被访问、并且不会被更改的文件,可以将它们通过Ramdisk放在内存中,能够明显地提高系统性能。Ramdisk工作于虚拟文件系统(VFS)层,不能格式化,但可以创建多个Ramdisk。虽然现在硬盘价钱越来越便宜,但对于一些我们想让其访问速度很高的情况下,Ramdisk还是很好用的。
$ cd /home/tarena/workdir/tools/busybox-1.19.4/_install/dev
$ sudo mknod console c 5 1
$ sudo mknod null c 1 3
$ cd /home/tarena/workdir/tools/busybox-1.19.4
$mount -o loop rdold/ramdisk rdold/tmp
3,建立新的ramdisk,并初始化
$dd if=/dev/zero of=rdimg/ramdisk.img bs=1k count=15360
//建立了一个15M的ramdisk镜像文件,并用/dev/zero设备初始化
图-12
图-13
图-14
图-15
图-16
3.复位启动TPAD,进入到Uboot下修改TPAD的启动参数。
tarena# setenv bootcmd tftp 50008000 zImage \; tftp 50800000 ramdisk.img \; bootm 50008000
tarena# setenv bootargs root=/dev/ram rw init=/linuxrc initrd=0x50800000,8M console=ttySAC0,115200
mwk.baidu.comunt -o loop rdimg/ramdisk rdmnt
cp -av rdold/tmp/* rdmnt
umount rdold/tmp
shell脚本:completerd卸载ramdisk并压缩(最后拷贝到目标目录)
#!/bin/sh
umount rdmnt
gzip -c -9 ramdisk > rdimg/ramdisk.gz
$ dd if=/dev/zero of=initrd.img bs=1k count=8192
$ sudo mkfs.ext2 -F initrd.img
$ sudo mkdir /mnt/initrd
$ sudo mount -t ext2 -o loop initrd.img /mnt/initrd
4,为镜像文件建立文件系统
$mke2fs -F -v -m0 rdimg/ramdisk.img
5,挂载新的ramdisk
$mount -o loop rdimg/ramdisk.img rdmnt
6,拷贝需要的文件进入新的ramdisk
$cp -av rdold/tmp/* rdmnt
7,卸载旧的ramdisk
步骤如下:
1)解压:
转到ramdisk.gz所在文件夹
#gunzip ramdisk.gz
注意,解压后会得到ramdisk镜像文件,该镜像文件会把原有的ramdisk.gz覆盖,因此如果想保留ramdisk.gz复制到其他文件夹后再解压。
2)挂载
#mkdir /mnt/loop
#mount –o loop ramdisk /mnt/loop //挂载镜像到loop目录
$ cd /home/tarena/workdir/tools/linux-2.6.35.7
$ make menuconfig
$ make zImage
$ cp arch/arm/boot/zImage /tftpboot
图-9
图-10
图-11
2.制作Ramdisk文件系统的过程,如图-12,图-13,图-14,图-15,图-16所示。
相关文档
最新文档