使用busybox制作ramdisk记录点

原创 2013年12月05日 09:20:14

在使用busybox制作ramdisk时参考学习了很多网络大神的文章,这里没法一一列出,本文只是将个人认为比较重要的几个点做个记录。

1.构建文件系统目录

ARCH=powerpc
CROSS_COMPILE=/opt/wr_ppc_chain/bin/powerpc-linux-gnu-
CONFIG_PREFIX=/work/fs_mini

step 1:busybox的编译

  
 make menuconfig ARCH=powerpc  CROSS_COMPILE=/opt/wr_ppc_chain/bin/powerpc-linux-gnu-  
    /*
    把busybox编译成静态链接的可执行文件,运行时独立其他函数库,否则运行时就依赖其他库文件。单独有内核时无法运行。
        busybox settings -> Build Options ->Build BusyBox as a static binary (no shared libs)
    */
    make ARCH=powerpc  CROSS_COMPILE=/opt/wr_ppc_chain/bin/powerpc-linux-gnu-
    make install ARCH=powerpc  CROSS_COMPILE=/opt/wr_ppc_chain/bin/powerpc-linux-gnu- CONFIG_PREFIX=/work/fs_mini


step 2:构建etc
    直接拷贝busybox根目录下/examples/bootfloppy/etc,根据需求修改inittab
step 3:构建dev
  
 mknod console c 5 1
 mknod null c 1 3


    如有需要
   
ln -sf /dev/null /dev/ttyS0


step 4:构建其他目录


 mkdir proc mnt tmp sys root
   
2.使用genext2fs制作镜像

   
genext2fs -b 8192 -d fs_mini ramdisk

    /*
    Usage: genext2fs [options] image
    Create an ext2 filesystem image from directories/files

      -x, --starting-image <image>
      -d, --root <directory>
      -D, --devtable <file>
      -b, --size-in-blocks <blocks>
      -i, --bytes-per-inode <bytes per inode>
      -N, --number-of-inodes <number of inodes>
      -m, --reserved-percentage <percentage of blocks to reserve>
      -g, --block-map <path>     Generate a block map file for this path.
      -e, --fill-value <value>   Fill unallocated blocks with value.
      -z, --allow-holes          Allow files with holes.
      -f, --faketime             Set filesystem timestamps to 0 (for testing).
      -q, --squash               Same as "-U -P".
      -U, --squash-uids          Squash owners making all files be owned by root.
      -P, --squash-perms         Squash permissions on all files.
      -h, --help
      -V, --version
      -v, --verbose
    */


3.使用u-boot中的mkimage工具打包
   
mkimage -n "RAMFS" -A powerpc -O linux -T ramdisk -C none -a 4000000 -e 4000040 -d ramdisk ramdisk.img
    /*
    Usage: ./mkimage -l image
          -l ==> list image header information
       ./mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
          -A ==> set architecture to 'arch'
          -O ==> set operating system to 'os'
          -T ==> set image type to 'type'
          -C ==> set compression type 'comp'
          -a ==> set load address to 'addr' (hex)
          -e ==> set entry point to 'ep' (hex)
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
          -x ==> set XIP (execute in place)
       ./mkimage [-D dtc_options] -f fit-image.its fit-image
    */


    
4.一个使用ramdisk的根文件系统的bootargs示例如下:
  要保证bootargs从u-boot传递到kernel中有效,在制作kernel时将该项留空。
 
bootargs root=/dev/ram rootfstype=ext2 init=/linuxrc console=ttyS0,115200 ramdisk_size=20480 mem=128M


Linux下用Busy Box制作Ramdisk全过程(转帖+部分完善)

http://soft.zdnet.com.cn/software_zone/2008/0625/947526.shtml 1.基础知识 一个操作系统可以简单的抽象为,引导程序 内核 文件系统。 vm...

busybox制作ramdisk动态库版本

1 Linux kernel配置 1.1  dts 修改dts以支持ramdisk bootargs和ramdisk分区: 在memory项后通过chosen方式添加bootargs,添加内容如...

利用busybox制作android下的ramdisk启动盘

有时候急了还就记不起来了,记录下。 step 1 :源码下载 到这里 http://www.busybox.net/  下载最新的busybox源码 直接下载源码包 或者git://git....

移植linux内核到s3c6410(使用busybox构建initrd ramdisk)

   busybox就是linux的一个应用程序,就是讲一套非常使用的命令工具集成到一个busybox命令下,它不一定是最全的,但是是非常使用的,被大家称为嵌入式linux的“瑞士军刀”,其编译和配置...

移植Linux内核到s3c6410(使用busybox构建initrd ramdisk)

busybox就是linux的一个应用程序,就是讲一套非常使用的命令工具集成到一个busybox命令下,它不一定是最全的,但是是非常使用的,被大家称为嵌入式linux的“瑞士军刀”,其编译和配置方法跟...
  • bonsens
  • bonsens
  • 2013年12月02日 23:09
  • 342

busybox制作根文件系统配置记录及注意点

很不爽的busybox折腾。因为自己偷懒所以付出了更多的时间来处理这种问题。 首先说下我遇到什么问题,才想到来处理这个小错误的。 我要做一个微型系统用于特殊的维护操作。要求是板子串口能够接受输入输出,...

编辑定制自己的嵌入式busybox和ramdisk

定制自己的arm ramdisk编辑命令busybox

使用genext2fs制作ramdisk

linux 默认并没有自带这个工具,需要下载,项目地址:http://sourceforge.net/projects/genext2fs/files/genext2fs/  最新版为genext...

使用Busybox制作根文件系统

  • 2010年03月19日 20:02
  • 145KB
  • 下载

使用Busybox制作Cramfs根文件系统.

  • 2013年12月16日 19:43
  • 285KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用busybox制作ramdisk记录点
举报原因:
原因补充:

(最多只允许输入30个字)