构建嵌入式Linux的Ramdisk

2019-07-12 20:08发布

 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 使之能够执行.