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

    1. 在myandroid/out/target/product/imx51_bbg目录下可以找到要解压的ramdisk.img文件。

      通过file命令可以查看ramdisk.img文件的类型:

      root@mail:/opt/myandroid_R9.2.1/out/target/product/imx51_bbg# file ramdisk.img 
       ramdisk.img: gzip compressed data, from Unix

    由此,可知其文件类型为gzip类型的。解压的步骤如下:

    1》.先将ramdisk.img文件重命名为ramdisk.img.gzip文件

    2》.使用gunzip ramdisk.img.gz对其进行解压得到ramdisk.img文件。

        有人可能要问,怎么文件名又改回去了?其实不然,使用file ramdisk.img查看一下就知道了:
  解压前:ramdisk.img: gzip compressed data, from Unix
  解压后:ramdisk.img: ASCII cpio archive (SVR4 with no CRC)

    3》.使用cpio提取ramdisk.img文件中的内容

       新建一个temp目录:
  mkdir temp
  cd temp
  cpio -i -F ../ramdisk.img
     解压以后可以在temp目录下看到ramdisk.img中的内容。

    2. 修改相应要修改的文件后,打包成ramdisk.img文件的步骤如下:

      cd /temp
      find . |cpio -ov -H newc |gzip > ../ramdisk.img
      cd ..
      ls
     可以看到生成的ramdisk.img文件。

    3. 若想将ramdisk.img文件生成uramdisk.img文件
     在终端执行下面命令:
     /opt/myandroid_R9.2.1/bootable/bootloader/uboot-imx/tools/mkimage -A arm -O linux -T ramdisk -C none -a 0x90C00000 -n "Android Root Filesystem" -d ./ramdisk.img ./uramdisk.img

    4.其实由ramdisk.img~uramdisk.img文件的转换过程,就是在ramdisk.img文件中的前加入一些字节。所以由uramdisk.img文件还原到ramdisk.img的步骤如下:

sudo dd if=./uramdisk.img of=./ramdisk.img bs=1024 skip=1    


       

    

你可能感兴趣的:(android,linux,unix,File,终端,archive)