XCD SM8650 android u - 板子升级与刷机

本文档摘自 XCD SM8650 android u 说明第五章「板子升级」。完整文档还包含 secboot 签名申请、repo 代码下载、docker 编译环境、BP 编译等内容,与刷机不直接相关,如需查阅请访问原文。

MCU 升级

目前 MCU 烧录版本还没有 dailybuild,可以找张敏贤/范林江要最新的临时版本文件,需要 MCU 烧录器(miniwiggle)。

参考:miniwiggle刷TC39X固件流程

Android 侧升级

A. 使用 corgi 平台上的在线刷机工具

factory 版本不支持在线 edl 刷机

corgi 平台版本链接:https://corgi.pt.miui.com/next/pangu/release/download?stage=all&startTime=&endTime=&buildTargetProduct=suiren

点击”在线刷机”按钮,在弹出页面选择对应的任务。

Ubuntu 刷机问题解决文档EDL刷机指导

B. 本地刷机(本地环境有 adb 和 fastboot 工具)

执行命令行使设备进入 fastboot 界面:

adb reboot bootloader

解压本地线刷包,然后进入解压目录选择刷机脚本:

  • Windows:flash_all.bat
  • Ubuntu:flash_all.sh

C. 没有编译 BP 的 Image 时快速刷机

  • 需要先 EDL 刷入基础包(手机部提供的可以运行完整系统的即可)
  • 然后增量刷入我们自己的 super:
fastboot flash super super.img && \
fastboot flash vbmeta vbmeta.img && \
fastboot flash vbmeta_system vbmeta_system.img && \
fastboot flash boot boot.img && \
fastboot reboot

XCD ROM 平台版本权限申请

  1. xcd 版本的 dailybuild 版本在 ROM 平台下载:https://preview.admin.iccc.mioffice.cn/rom/#/rom/versionInfo
  2. ROM 平台产品版本权限申请链接:https://work.mioffice.cn/apps/uc-apply/permission-list/HgTATOmoJ4K0?appName=【MDCD】ROM平台

SecureBoot 签名失败问题

参考:SecureBoot签名问题汇总及解决方法

临时特殊流程

启动权限配置

adb shell setprop persist.sys.uncheck_privapp_permission true

adb 启动

adb remount
# 需要先 umount -l /system/app (其中路径是你想要替换包的路径,只支持两个层级)之后再 push

❗ 上面命令可能会报错,需要重启 xcd,重新 remount 重新执行上面的命令。 或者 push 到 /product/pangu/system/app 下使用。