使用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


busybox制作ramdisk全过程

 busybox制作ramdisk全过程 function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selecti...
  • dllbl
  • dllbl
  • 2008-06-26 09:21:00
  • 1363

使用busybox制作ramdisk记录点

在使用busybox制作ramdisk时参考学习了很多网络大神的文章,这里没法一一列出,本文只是将个人认为比较重要的几个点做个记录。 1.构建文件系统目录 ARCH=powerpc CROSS_CO...
  • bonsens
  • bonsens
  • 2013-12-05 09:20:14
  • 374

ramdisk.img的生成过程

ramdisk.img是组成boot.img的重要部分,从Android/build/core/Makefile中可以看到ramdisk.img的生成该过程.     # the ramdisk ...
  • hnzzh1986
  • hnzzh1986
  • 2011-12-09 13:52:28
  • 1292

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

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

制作根文件系统和ramdisk映象文件

1,基本目录结构#cd /babylinux/rootfs#mkdir etc usr var tmp proc home root dev其中etc,proc和dev是一定要建的,bin和sbin不...
  • leopard_ray
  • leopard_ray
  • 2007-04-10 15:18:00
  • 2147

ramdisk.img生成

Build/core/Makefile   453 INTERNAL_RAMDISK_FILES :=$(filter $(TARGET_ROOT_OUT)/%, \  454        $...
  • zll5258
  • zll5258
  • 2016-03-26 10:18:52
  • 500

解压与压缩ramdisk.img文件,生成uramdisk.img文件

原文链接为: http://blog.csdn.net/hancunai0017/article/details/6873948  1. 在myandroid/out/target/product/...
  • longwang155069
  • longwang155069
  • 2016-09-06 10:38:28
  • 393

使用busybox制作的ramdisk根文件系统,适用于linux2.6.14

  • 2012年02月22日 12:36
  • 2.13MB
  • 下载

龙芯上用busybox制作ram filesystem的过程。

记录下在龙芯上制作ram filesystem的过程。其中ramdisk.tiny5可以在安装busybox的过程中得到最初的雏形。具体过程可以参考网络上大量的文章,并实际去操作一次。...
  • pankul
  • pankul
  • 2014-01-22 16:31:25
  • 1594

制作Ramdisk文件系统

主机:ubuntu14.04 工具链:arm-none-linux-gnueabi-4.8.3 one_step: 配置内核: #make menuconfig ARCH=arm 打开配置菜单,修改两...
  • u014213012
  • u014213012
  • 2016-06-04 08:54:39
  • 3192
收藏助手
不良信息举报
您举报文章:使用busybox制作ramdisk记录点
举报原因:
原因补充:

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