构建嵌入式Linux的Ramdisk

2019-07-12 20:07发布

构建嵌入式Linux的Ramdisk 来源:http://www.gd-emb.org/detail/id-35051.html 1,进入工作目录,建立需要的目录
$mkdir rdmnt     // 新ramdisk挂载的目录
$mkdir rdimg     // 产生的镜像文件的目录
$mkdir rdold     // ramdisk旧文件目录
$mkdir rdold/tmp   // 挂载旧ramdisk的目录

2,挂载旧的ramdisk
$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设备初始化

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
$umount rdold/tmp

8,卸载新的ramdisk
$umount rdmnt

9,把新的ramdisk制成压缩包
$gzip -9 rdimg/ramdisk.img ramdisk.gz
在此ramdisk.gz即为新建立的ramdisk镜像 

  为了方便建立笔者建立的两个shell脚本,其能快速建立需要的ramdisk镜像.

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
mount -o loop rdimg/ramdisk rdmnt
cp -av rdold/tmp/* rdmnt
umount rdold/tmp

shell脚本:completerd 卸载ramdisk并压缩(最后拷贝到目标目录)
#!/bin/sh
umount rdmnt
gzip -c -9 < rdimg/ramdisk > rdimg/ramdisk.gz
cp rdimg/ramdisk.gz /opt/LinuxShare

[注]脚本编辑好后,记着用 chmod +x filename 使之能够执行.