升级流程
2017-02-17 20:23:36 0 举报
升级流程通常包括以下几个步骤。首先,用户需要检查他们的设备是否支持升级,这可以通过访问设备的制造商网站或联系客户支持来完成。接下来,用户需要下载并安装升级软件。这可能需要连接到互联网,因此确保设备已连接到可靠的网络是必要的。在安装过程中,用户可能需要按照屏幕上的指示进行操作。安装完成后,设备可能需要重新启动以完成升级过程。最后,用户可以检查设备的版本号以确保升级成功。如果在升级过程中遇到任何问题,用户应联系设备制造商的客户支持以获取帮助。
作者其他创作
大纲/内容
开机到init阶段,启动服务:service flash_recovery开始升级recovery分区
NO
进入recovery模式,显示正在更新,请勿操作手机进度条界面,此时开始升级
读寄存器或misc分区判断是否要启动到recovery模式
RECOVERY阶段,全程显示正在更新,请勿操作手机
文件管理器点击升级包升级
进入上层
正常流程是读寄存器,异常情况读misc分区判断是否进入recovery
加载recovery镜像,进入recovery模式,此阶段显示的是静态vivo
1、bootCommand(); 写入升级指令到cache/recovery/command 文件2、beginShutdownSequence(); 判断升级,清除数据、关机还是重启3、uncrypt(); 谷歌data加密,recovery读取不到升级包,此函数为将升级包block记录到cache分区的文件中(我们手机无此流程);4、lowLevelReboot(); 重启recovery,
上层
cache/recovery/command文件格式:--update_package=/storage/sdcard1/PD1616_A_1.5.0_update- full.zip/mode=update_local--locale=zh_CN
一、获取command:1、读取misc分区,判断是否有相关命令;2、读取cache/recovery/command文件,获取升级,清除数据信息;3、重新把获取到的信息写入misc分区(防止升级过程断电,强制重启后,重启无法知道上次机器操作了什么)
service flash_recovery /system/bin/install-recovery.sh在正常的升级脚本中,并没有直接对recovery.img的升级;因为升级过程中recovery正在使用,不能直接替换;故对recovery镜像的升级是放在升级完开机过程中执行install-recovery.sh,将手机中boot分区和system/recovery-from-boot.p文件重新计算出recovery分区数据,并写入recovery分区;上述服务每次开机就会跑,故当在fastboot刷入recovery.img镜像时,开机就会被重新还原。
进入待机桌面,升级完成
提示解压升级包,结束
YES
重新亮屏,显示开机静态vivo logo;进入LK
进入到关机流程
工模是否打开、判断升级包机型和手机是否匹配、*#225#调试端口是否打开、
升级包脚本路径:META-INF/com/google/android/update-binary
正常重启,没有进入recovery升级流程
二、判断升级模式:1、将上述读出的命令匹配字符串;/mode=update_local ---文件管理器点击升级/mode=update_with_app ---工模升级/mode=update_silent ---辅助升级...... (在线升级不带有/mode参数)
升级过程中强制重启或断电
此处若是硬件出现问题,寄存器读取失败会发生。此处只是针对升级,正常开机流程还有其他判断,在这里就不详细说明
收藏
收藏
0 条评论
回复 删除
下一页