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

3.7 KiB
Raw Permalink Blame History

1. 系统升级流程

当 U 盘中存在 update.zip 时,执行以下流程:

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 并执行系统升级基础校验;

    • 基础校验通过后开始升级。

系统升级包结构

旧版标准 升级包:

U盘/update.zip
    ├── payload.bin
    ├── payload_properties.txt
    └── META-INF/com/android/metadata

新版签名升级包:

U盘/update.zip
    ├── update.zip
    └── ValidationFile.ini

2. MCU 升级流程

2.1 update_mcu.zip 升级

当 U 盘中存在 update_mcu.zip 时,执行以下流程:

update_mcu.zip
    ↓
解压
    ↓
校验
    ↓
升级

说明

  • update_mcu.zip 为 MCU 压缩升级包;

  • 解压后执行校验;

  • 校验通过后开始 MCU 升级。


2.2 cortex-gdm4.bin 升级

当 U 盘中存在 cortex-gdm4.bin 时,执行以下流程:

cortex-gdm4.bin
    ↓
直接升级

说明

  • cortex-gdm4.bin 为 MCU 二进制升级文件;

  • 不进行解压及校验;

  • 直接执行 MCU 升级。

2.3 MCU 文件优先级

当同一个 U 盘中同时存在 update_mcu.zip 和 cortex-gdm4.bin 时:

优先使用 update_mcu.zip

说明

  • update_mcu.zip 带签名/完整性校验,安全性更高;

  • cortex-gdm4.bin 仅用于兼容旧版 MCU 升级方式;

  • 若两者同时存在,默认按新版 update_mcu.zip 流程处理。


3. MCU 文件识别规则

文件名称 处理方式
update_mcu.zip 解压 → 校验 → 升级
cortex-gdm4.bin 直接升级
其它文件 不处理

4. 整体流程汇总

系统升级:

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 升级兼容路径保留。