Android各image分析

在这里插入图片描述

3.1 boot.img

boot.img = boot_img_hdr + zImage(kernel) + boot-ramdisk

      boot.img中ramdisk1里的init.rc位于*\system\core\rootdir\init.rc*
      手机正常启动时,用的就是boot.img。首先内核态的init线程加载kernel image和ramdisk image到RAM中;其次,kernel自解压zImage,kernel启动后,搜寻ramdisk中的init目录下的文件并执行,开启了用户态的init进程。

3.2 recovery.img

recovery.img = boot_img_hdr + zImage(kernel) + recovery-ramdisk

      recovery.img中ramdisk2里的init.rc位于bootable/recovery/etc/init.rc
      手机进入recovery模式时,其实kernel也已经起来了,但是其ramdisk中提供的是一个可选菜单,用于给用户烧录和自救。

3.3 system.img

      它包含了整个系统,android 的framework,application 等等,会被挂接到 "/"上,包含了系统中所有的二进制文件。
      #system.img是out/target/product/xxx/system目录的一个映射,类似与根文件系统的映像,放着android的应用程序、配置文件和字体等。
重新打包system.img 具体办法
a)在android编译后生成的out目录中查找这个工具 mkyaffs2image

   # find out/ -name mkyaffs2image

得到=>out/host/linux-x86/bin/mkyaffs2image
b)android编译后会生成system/ 这个目录,而这个目录就是用来生成system.img的

  #  mkyaffs2image system/ system.img

3.4 userdata.img

      将会被挂接到 /data 下,包含了所有应用相关的配置文件,以及用户相关的数据。

3.5 persist.img

      persist.img是“不可更改”,包含在设备发货后不应更改的数据。例如:芯片的校准数据(wifi,bt,摄像机等),证书和其他安全相关文件。 确实,即使是“不可更改”,您仍然可以通过fastboot替换它。

3.6 cache.img

recovery的缓冲区、google play的缓冲区

3.7 emmc_appsboot.mbn

      LK镜像,由android\bootable\bootloader\lk编译出来。

3.8 ramdisk.img

      一个分区影像文件,它会在kernel 启动的时候,以只读的方式被 mount , 这个文件中只是包含了/init以及一些配置文件,这个ramdisk 被用来调用init,以及把真正的root file system mount起来。
      #其实ramdisk.img的内容就是*/out/target/product/xxx/root*目录的压缩而已。

4.Android分区

      adb可以查看分区详细信息:

$ cd  /dev/block/platform/xxx/by-name  //其中xxx会根据平台有所不同
$ ls –la

(1)/boot
      此分区可以保证手机正常启动,包含了kernel(内核)和ramdisk(虚拟内存盘),如果没有此分区,手机通常不能正常启动。只有必要的时候,才去通过Recovery软件擦除(format)这个分区,一旦擦除,设备只有再重新安装一个新的boot分区,可以通过安装一个包含boot分区的ROM来实现,否则无法启动安卓系统。
(2)/system
      此分区用来存放除kernel和ramdisk以外的系统相关配置,包括了用户界面、手机预装的软件等。擦除这个分区将会删除整个系统,但不会导致不能启动。可以通过进入Recovery程序或者bootloader程序中,安装一个新ROM(安卓系统)。
(3)/recovery
      在正常分区或内核分区被破坏,不能正常启动时,可以进入此分区进行恢复,相当于一个简易的OS或bios,可以认为是一个boot分区的替代品,通过他可以让我们在这一分区进行备份维护和恢复,我们通常说的刷机便指的是此分区。
进入此分区方法:1、adb reboot recovery;2、通过组合键,电源键+音量键;
(4)/data
      此分区包含了用户的数据信息,如:联系人、短信、设置、用户安装的程序的,擦除此分区,相当于手机恢复出厂设置,可以在Recovery模式中选择“data/factory reset ”擦除此分区。
(5)/cache
      此分区是安卓系统缓存区,保存系统最常访问的数据和应用程序。擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容,缓存内容会在后续手机使用过程中重新自动生成。
(6)/misc
      此分区包含了一些系统设置和系统功能启用禁用的相关设置。这些设置包括CID(运营商或区域识别码)、USB设置和一些硬件设置等等。这是一个很重要的分区,如果此分区损坏或者部分数据丢失,手机的一些特定功能可能不能正常工作。
(7)/sdcard
      此分区为内部存储,可以存放相片、视频、文档、ROM安装包等,擦除这个分区是完全安全的。
(8)/sd-ext
      SD卡扩展分区,即我们通常所说的外部存储区。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值