Files
Obsidian/项目文档/重汽/RK3568 升级流程说明.md
2026-11-05 14:35:04 +08:00

190 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 1. 系统升级流程
当 U 盘中存在 `update.zip` 时,执行以下流程:
```text
update.zip
↓
读取压缩包内容(不解压)
↓
判断根目录是否存在 ValidationFile.ini
├── 存在
│ ↓
│ 按新版签名包处理
│ ↓
│ 解压
│ ↓
│ 校验内层 update.zip 与 ValidationFile.ini
│ ↓
│ 校验通过后升级内层 update.zip
│
└── 不存在
↓
按旧版标准 升级包处理
↓
直接解析并升级原始 update.zip
```
### 说明
- `update.zip` 为系统升级包;
- 使用 Java `ZipFile` 接口读取压缩包内容,不进行解压;
- 判断压缩包内部是否包含 `ValidationFile.ini`;
- 若存在 `ValidationFile.ini`:
- 认为该文件是新版签名升级包;
- 解压升级包;
- 对解压后的内层 `update.zip` 和 `ValidationFile.ini` 执行签名/完整性校验;
- 校验通过后开始升级内层 `update.zip`;
- 校验失败时升级失败,不得回退到旧版直接升级流程;
- 若不存在 `ValidationFile.ini`:
- 认为该文件是旧版标准 升级包;
- 不解压、不执行新增签名校验;
- 直接解析原始 `update.zip` 并执行系统升级基础校验;
- 基础校验通过后开始升级。
### 系统升级包结构
旧版标准 升级包:
```text
U盘/update.zip
├── payload.bin
├── payload_properties.txt
└── META-INF/com/android/metadata
```
新版签名升级包:
```text
U盘/update.zip
├── update.zip
└── ValidationFile.ini
```
---
## 2. MCU 升级流程
### 2.1 update_mcu.zip 升级
当 U 盘中存在 `update_mcu.zip` 时,执行以下流程:
```text
update_mcu.zip
↓
解压
↓
校验
↓
升级
```
### 说明
- `update_mcu.zip` 为 MCU 压缩升级包;
- 解压后执行校验;
- 校验通过后开始 MCU 升级。
---
### 2.2 cortex-gdm4.bin 升级
当 U 盘中存在 `cortex-gdm4.bin` 时,执行以下流程:
```text
cortex-gdm4.bin
↓
直接升级
```
### 说明
- `cortex-gdm4.bin` 为 MCU 二进制升级文件;
- 不进行解压及校验;
- 直接执行 MCU 升级。
### 2.3 MCU 文件优先级
当同一个 U 盘中同时存在 `update_mcu.zip` 和 `cortex-gdm4.bin` 时:
```text
优先使用 update_mcu.zip
```
### 说明
- `update_mcu.zip` 带签名/完整性校验,安全性更高;
- `cortex-gdm4.bin` 仅用于兼容旧版 MCU 升级方式;
- 若两者同时存在,默认按新版 `update_mcu.zip` 流程处理。
---
## 3. MCU 文件识别规则
|文件名称|处理方式|
|---|---|
|update_mcu.zip|解压 → 校验 → 升级|
|cortex-gdm4.bin|直接升级|
|其它文件|不处理|
---
## 4. 整体流程汇总
```text
系统升级:
update.zip
↓
读取 ZIP 内容(不解压)
↓
根目录是否存在 ValidationFile.ini?
├── 是 → 新版签名包 → 解压 → 校验内层 update.zip → 升级内层 update.zip
└── 否 → 旧版标准 升级 包 → 直接解析并升级原始 update.zip
MCU升级:
① update_mcu.zip
↓
解压
↓
校验
↓
升级
② cortex-gdm4.bin
↓
直接升级
说明:
- 系统升级中,只要检测到 `ValidationFile.ini`,就必须完成签名校验;
- 签名校验失败时,不允许回退为旧版直接升级;
- MCU 升级中,`update_mcu.zip` 优先级高于 `cortex-gdm4.bin`;
- `cortex-gdm4.bin` 仅作为旧版 MCU 升级兼容路径保留。
```