Android OTA升级原理 - Recovery流程分析(整理二)

本文深入解析Android设备Recovery模式下的服务流程,涵盖恢复出厂设置、OTA升级及加密文件系统操作。重点分析OTA升级过程,从启动流程到初始化配置,直至recovery服务与adbd调试服务的启动。

Android Recovery服务流程分析

Recovery服务内容

recovery服务内容主要分三类:

  • Factory reset恢复出厂设置
  • OTA install 即update.zip包升级
  • ENCRYPTED FILE SYSTEMENABLE/DISABLE,使能/关闭加密文件系统
    本节主要分析OTA升级流程。

Recovery启动过程

前面已经讲到在正常模式下通过reboot recovery让设备重启。实际上是对BCB区域写入recovery模式标志,用来告诉bootloader接下来加载那一部分image:boot.img还是recovery.img。这时会选择加载recovery.img它和正常img类似,也包含了内核和根文件系统。
bootloader如何加载recovery流程参考链接

然后启动文件系统,在进入文件系统后会执行/init,init的配置文件就是/init.rc。这个配置文件来自bootable/recovery/etc/init.rc。查看这个文件我们可以看到它做的事情:

   ①设置环境变量。
   
   ②建立etc连接。

   ③新建目录,备用。

   ④挂载/tmp为内存文件系统tmpfs

   ⑤启动recovery(/sbin/recovery)服务。

   ⑥启动adbd服务(用于调试)。

这里最重要的就是启动recovery服务了。源码位置在:

AOSP/bootable/recovery/recovery.cpp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值