嵌入式Ramdisk

来源:互联网 发布:斗鱼发弹幕软件 编辑:程序博客网 时间:2024/05/15 16:11

首先在内核配置中选择对Ramdisk的支持,一般会在Block devices的选项中。

    其次在启动参数中设置root=/dev/ram0。

    然后修改arm/arm/arch-pxa/myboard.c(不同的板子不同)

    通过函数

    setup_ramdisk (1, 0, 0, 8192);

    setup_initrd (__phys_to_virt(0xa1000000), 8*1024*1024);

    设置Ramdisk大小和起始地址。

    制作Ramdisk

    1.创建连续大小的空间

    dd if=/dev/zero of=ramdisk.img bs=1k count=4096

    2.格式化

    mkfs.ext2 ramdisk.img

    3.创建临时目录

    mkdir tmp

    4.挂载

    mount -o loop ramdisk.img tmp

    5.创建目录并复制文件

    cd tmp

    mkdir bin dev etc lib mnt proc sbin sys user

    cp ...

    6.卸载

    umount tmp

    7.压缩

    gzip ramdisk.img

    tftp下载内核到地址kernel_addr

    tftp下载ramdisk.img到setup_initrd函数指定地址(0xa1000000)

    go kernel_addr



0 0