现在的位置: 首页 > 综合 > 正文

android中各种img文件的作用以及系统启动过程

2018年08月25日 ⁄ 综合 ⁄ 共 1452字 ⁄ 字号 评论关闭

首先通过编译,先将android内核编译成功。正常情况下,在目录out/target.product/generic/(但是有的就没有generic文件,如freescale和iriver;但是lonshinetech下面就有这个文件,依据情况而定,只要能找到生成的三个文件就可以。例如:~/freescale/R9.2/out/target/product/imx51_bbg$ )下会生成三个文件:ramdisk.img,system.img,userdata.img。这三个文件的作用如下:

(1)ramdisk.img
      一个分区影像文件,它会在kernel 启动的时候,以只读的方式被 mount , 这个文件中只是包含了 /init 以及一些配置文件,这个ramdisk 被用来调用init,以及把真正的root file system mount 起来。
      #其实ramdisk.img的内容就是/out/target/product/generic/root目录的压缩而已。
     
  方法1:  android编译生成后的ramdisk.img是一个gzip格式的文件,输入命令 file ramdisk.img, 会得到  =>ramdisk.img: gzip compressed data, from Unix
       
       那么先解压ramdisk.img,因为后缀不是.gz,所以用--S选项, gunzip -S .img ramdisk.img
       这样就得到一个新文件ramdisk.img,用 file ramdisk 查看格式 得到 => ramdisk: ASCII cpio archive (SVR4 with no CRC)

          可以看出解压生成的ramdisk是cpio格式的文件,再次解压,为了防止解压后文件混乱,
          首次建立一个目录如: mkdir rfs  //rfs可以用来放ramdisk解压后的文件,  进入 cd rfs
          解压 cpio -i -F ../ramdisk

  方法2: 将ramdisk.img复制一份到任何其他目录下,将其改名为ramdisk.img.gz,然后使用命令 gunzip ramdisk.img.gz,
         然后新建一个文件夹ramdisk,进入,输入命令 cpio -i -F ../ramdisk.img

       得到结果如下
    drwxr-xr-x  root root   4096 2011-01-12 11:36 ./
    drwxr-xr-x 13 root root   4096 2011-01-12 11:35 ../
    drwxrwx--x  root root   4096 2011-01-12 11:36 data/
    -rw-r--r--  root root    118 2011-01-12 11:36 default.prop
    drwxr-xr-x  root root   4096 2011-01-12 11:36 dev/
    -rwxr-x---  root root 107784 2011-01-12 11:36 init*
    -rwxr-x---  root root  

抱歉!评论已关闭.