android recovery 专题
文章平均质量分 82
tron
这个作者很懒,什么都没留下…
展开
-
recovery 英文介绍
This article discusses how to create update.zip file and how Android Over-The-Air updates use such file to update the operating system on the device.Creating update.zipTipThe fol转载 2012-05-31 19:13:44 · 662 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(八)---解析并执行升级脚本updater-script
一、update_binary的执行过程分析 上一篇幅中的子进程所执行的程序binary实际上就是update.zip包中的update-binary。我们在上文中也说过,Recovery服务在做这一部分工作的时候是先将包中update-binary拷贝到内存文件系统中的/tmp/update_binary,然后再执行的。update_binary程序的源码位于gingerbrea转载 2012-05-25 14:44:55 · 639 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(四)---Android系统Recovery模式的工作原理
使用update.zip包升级时怎样从主系统(main system)重启进入Recovery模式,进入Recovery模式后怎样判断做何种操作,以及怎样获得主系统发送给Recovery服务的命令,这一系列问题的解决是通过整个软件平台的不同部分之间的密切通信配合来完成的。为此,我们必须要了解Recovery模式的工作原理,这样才能知道我们的update.zip包是怎样一步步进入Recovery中升转载 2012-05-25 14:41:04 · 429 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(三)---Android系统的三种启动模式
以下的篇幅开始分析我们在上两个篇幅中生成的update.zip包在具体更新中所经过的过程,并根据源码分析每一部分的工作原理。一、 系统更新update.zip包的两种方式 1. 通过上一个文档,我们知道了怎样制作一个update.zip升级包用于升级系统。Android在升级系统时获得update.zip包的方式有两种。一种是离线升级,即手动拷贝升级包到SD卡(或NAN转载 2012-05-25 14:40:05 · 550 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(七)---Recovery服务的核心install_package函数
一、 Recovery服务的核心install_package(升级update.zip特有) 和Recovery服务中的wipe_data、wipe_cache不同,install_package()是升级update.zip特有的一部分,也是最核心的部分。在这一步才真正开始对我们的update.zip包进行处理。下面就开始分析这一部分。还是先看转载 2012-05-25 14:44:07 · 664 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(六)---Recovery服务流程细节
Recovery服务毫无疑问是Recovery启动模式中最核心的部分。它完成Recovery模式所有的工作。Recovery程序对应的源码文件位于:/gingerbread0919/bootable/recovery/recovery.c。一、 Recovery的三类服务: 先看一下在这个源码文件中开始部分的一大段注释,这将对我们理解Recovery服务的主要功能有转载 2012-05-25 14:43:12 · 664 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(五)---update.zip包怎样从上层进入Recovery服务
文章开头我们就提到update.zip包来源有两种,一个是OTA在线下载(一般下载到/CACHE分区),一个是手动拷贝到SD卡中。不论是哪种方式获得update.zip包,在进入Recovery模式前,都未对这个zip包做处理。只是在重启之前将zip包的路径告诉了Recovery服务(通过将--update_package=CACHE:some_filename.zip或--update_pack转载 2012-05-25 14:42:11 · 610 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(二)---update.zip差分包问题的解决
在上一篇末尾提到的生成差分包时出现的问题,现已解决,由于最近比较忙,相隔的时间也比较长,所以单列一个篇幅提示大家。这个问题居然是源码中的问题,可能你已经制作成功了,不过我的这个问题确实是源码中的一个问题,不知道是不是一个bug,下文会具体分析!一、生成OTA增量包失败的解决方案 在上一篇中末尾使用ota_from_target_files脚本制作update.zip转载 2012-05-25 14:37:05 · 510 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作
这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理。我们先从update.zip包的制作开始,然后是Android系统的启动模式分析,Recovery工作原理,如何从我们上层开始选择system update到重启到Recovery服务,以及在Recovery服务中具体怎样处理update.zip包升级的转载 2012-05-25 14:35:49 · 1146 阅读 · 0 评论 -
Android Recovery模式
Recovery简介Android利用Recovery模式,进行恢复出厂设置,OTA升级,patch升级及firmware升级。升级一般通过运行升级包中的META-INF/com/google/android/update-script脚本来执行自定义升级,脚本中是一组recovery系统能识别的UI控制,文件系统操作命令,例如write_raw_image(写FLASH分区),copy_转载 2012-05-22 11:38:46 · 2026 阅读 · 0 评论 -
Android OTA 升级之一:编译升级包
前言 OTA 升级是 Android 系统提供的标准软件升级方式。 它功能强大,提供了完全升级、增量升级模式,可以通过 SD 卡升级,也可以通过网络升级。 这里,我们先研究最简单的情况,通过 SD 卡进行完全升级。 如何执行升级就不多说了,网上有很多资料。(比如,介绍HTC手机如何升级)。我们感兴趣的是它是如何实现的,作为开发者,如何修改它以符合我们转载 2012-06-04 10:59:53 · 974 阅读 · 0 评论 -
Android OTA 升级之三:生成recovery.img
前言 得到了ota升级包后,我们就可以用它来升级系统了。Android 手机开机后,会先运行 bootloader。 Bootloader 会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery 模式。Recovery 模式会装载 recovery 分区, 该分区包含recovery.img。recovery.img 包含了标准内核(和boot.img中的内核相同)以转载 2012-06-04 11:02:06 · 393 阅读 · 0 评论 -
Android OTA 升级之四:进入根文件系统
前言 从bootloader 进入Recovery 模式后,首先也是运行Linux内核,该内核跟普通模式没有区别(减轻了BSP开发者的任务)。区别从执行文件系统开始。 Recovery 模式的细节就隐藏在其根文件系统中。 下面,我们就看看进入Recovery 根文件系统都干些啥。 init.rc 和正常启动一样,内核进入文件系统会执行/ini转载 2012-06-04 11:03:11 · 665 阅读 · 0 评论 -
Android OTA 升级之五:updater
前言 可以说,前面分析的OTA升级的各部分代码都是在搭一个舞台,而主角现在终于登场,它就是updater. Google的代码架构设计非常好,各部分尽量松耦合。前面介绍升级脚本时,可知有两种类型的脚本,amend & edify. 他们各自对应一个updater. 这里,我们主要关注新的edify的updater. Updater可以作为学习解释器/编译器的同学转载 2012-06-04 11:03:51 · 724 阅读 · 0 评论 -
Android OTA 升级之二:脚本 ota_from_target_files
前言 前面介绍了ota package 的编译过程,其中最核心的部分就是一个 python 脚本:ota_from_target_files. 现在我们分析这个脚本。先看一下帮助不带任何参数,先看一下它的帮助:$ ./ota_from_target_files Given a target-files zipfile, produces an OTA package t转载 2012-06-04 11:01:23 · 1028 阅读 · 0 评论 -
Android系统Recovery工作原理之使用update.zip升级过程分析(九)---updater-script脚本语法简介以及执行流程
目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制。一、update-script脚本语法简介: 我们顺着所生成的脚本来看其中主要涉及的语法。 1.assert(condition):如果condition参数的计算结果为False,则停止脚本执行,否则继续执行脚本。转载 2012-05-25 14:45:49 · 826 阅读 · 0 评论