我的嵌入式

真正的幸福,在于对平淡生活的热爱......

原创 构建嵌入式Linux的Ramdisk收藏

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

发表于 @ 2006年09月15日 15:53:00|评论(loading...)

新一篇: 分析内核初始化时根内存盘的加载过程 | 旧一篇: 在Linux下为嵌入式Linux内核编译busybox

Csdn Blog version 3.1a
Copyright © 阿剑