• 简单文件系统构建ramdisk


    1.  BusyBox编译工具,包含bin, sbin, usr,  linuxrc.

    2.  添加相关重要目录:dev,  etc,  mnt, proc,  sys, lib, var, tmp.

         proc, sys为虚拟文件系统,在内存中,创建文件系统时,只要创建空目录即可。

    3.  dev中添加相关设备文件。

        mknod -m 666  ttyS0  c 4 64

        mknod -m 666 null     c  1 3

        mknod -m 666 console c 5 1

        mtd0  c  90 0

        mtd1  c 90 2

        mtd2  c 90 4

        mtdblock0 b 31 0

        mtdblock1 b 31 1

        telnet相关的文件:

        ptmx  c  5 2

        mkdir  dev/pts

    4.  etc目录文件:inittab, init.d/rcS, fstab, profile, group, shadow, passwd.

         制作,请参考rootfs下相关文档。

    5.  把相关内容保存到rootfs下,通过以下脚本生成rootfs.img.gz(ramdisk).

        #!/bin/sh
    umount ./mnt
    test -e ./mnt  || mkdir ./mnt>/dev/null
    dd if=/dev/zero of=rootfs.img bs=1024 count=8192
    losetup /dev/loop1 rootfs.img
    echo y | mke2fs -m0 rootfs.img
    sudo mount -o loop rootfs.img ./mnt
    echo "create the rootfs.img.gz"
    sudo cp rootfs/* ./mnt -a
    sync
    sudo umount ./mnt
    gzip rootfs.img -v9
    6.  通过uboot下载到内存中,并配置bootargs。

        以at91sam9260为例:

    tftp 0x21100000 rootfs.img.gz
    setenv bootargs mem=64M console=ttyS0,115200 initrd=0x21100000,0x800000 root=/dev/ram0 rw init=/linuxrc

    7.  boot即可测试ramdisk文件系统。

  • 相关阅读:
    项目管理软件选择:redmine or JIRA
    为已编译的DLL附带强命名
    NET简单的一个画图程序
    公共的Json操作类
    ASP.NET 程序优化
    提高ASP.NET页面载入速度的方法
    DataTable快速定制之Expression属性表达式
    TCP和UDP Client 代码
    Jquery实现异步上传图片
    C语言Socket编程(计算机网络作业)
  • 原文地址:https://www.cnblogs.com/embedded-linux/p/4822120.html
Copyright © 2020-2023  润新知