立即注册
查看: 3750|回复: 43

[展讯开发资料] 展讯平台Android 10.0 GSI客户调试指南

已绑定手机
发表于 2021-7-28 16:16:03 | 显示全部楼层 |阅读模式 来自 广东省深圳市
1、概览
1.1 GSI 介绍与 Android10.0 动态分区简介
GSI (Generic System Image)用于运行 VTS 和 CTS-on-GSI 测试。为确保运行最新版 Android 的设备能够正确实现供应商接口,需要将 Android 设备的系统镜像替换为 GSI,然后使用供应商测试套件(VTS)和兼容性测试套件(CTS)测试设备。
动态分区(Dynamic Partitions)是 Android10.0 新增功能,是用户空间的分区系统(userspace partitioning system to Android)。动态分区一般包括:system/vendor/product/odm 等。FASTBOOTd 模式是伴随动态分区功能而来的,由于动态分区是用户空间的分区,bootloader 不能访问用户空间的动态分区。因此,Android10.0 将原 bootloader 一分为二,将用户空间的功能移动到 recovery 镜像称作 fastbootd 模式。

1.2 GSI 维护方式介绍
UNISOC Android10.0 GSI 维护支持两种方式:
-Fastboot 工具烧录
-下载工具(Researchdownload)下载 GSI Pac

1.2.1 Fastboot 工具烧录
Android10.0 引入了 super 只读分区的 feature,平台默认将 system/vendor/product 一起打包到 super 分区,导致 Android10.0 需要在用户空间烧录逻辑分区,进而引入了一种新的 fastbootd 模式,另外原有的bootloader 模式还是用于烧录物理分区。

1.2.2 下载工具
UNISOC 平台维护 GSI 使用打 pac 的方式,全编译时会将 GSI 仓库的 system 跟 vendor/product 打包生成 super_gsi32/super_gsi64 的 super 镜像,制作版本时可以根据当前工程的架构选择合适的 super_gsi,生成对应的 GSI pac。然后使用下载工具烧录 pac 即可验证。

1.3 Android10.0 GSI 新变化
1.3.1 GSI 编译目标新变化
Android10.0 GSI 编译变体由之前的 userdebug 类型变成了 user+google 签名的类型,这个变化目的是为了更接近最终释放的 user 版本,以及保护 GSI 安全。

1.3.2 Android10.0 GSI avb 校验方式新变化
Andorid10.0 GSI avb 校验使用的 google pubkey,平台预置了 google 发布的 pubkey,故跟 Android9.0 相比,不再需要替换 vbmeta(Android10.0 之前的方式)完成 disabled avb 功能。
1.jpg

1.3.3 GSI 打包生成 super 镜像
UNISOC 平台维护 GSI 版本,使用 pac 包方式下载版本。全编译时会将 GSI 仓库的 system 跟vendor/product 打包生成 super_gsi32/super_gsi64 的 super 镜像,制作版本时可以根据当前工程的架构选择合适的 super_gsi,生成对应的 GSI pac。

1.3.4 GSI Rollback
Android10.0 上要求 GSI 升级时,GSI 的 SPL 不能比 vbmeta_system 的 SPL 旧。
代码地址:system/core/init/first_stage_mount.cpp
2.jpg
也就是说升级安全补丁前,一定要先升级 GSI,否则 lock 状态下 GSI 版本无法开机。

1.4 Android10.0 XTS 测试流程
Android10.0 XTS 测试流程如下:
1. Run CTS on original system
2. Flash boot.img with Root Ramdisk
3. Run STS
4. Restore original boot.img
5. Flash GSI and disable verified boot
6. Run CTS-on-GSI
7. Flash boot.img with Root Ramdisk
8. Run VTS
如上所述,跟 GSI 相关的 CTS-ON-GSI 测试需要搭载正常的 boot.img+system.img(GSI),VTS 测试则需要搭载 boot-debug.img+system.img(GSI),同时 VTS 测试需要 unlock bootloader,这样 VTS 测试才可以获取到 root 权限。

更多内容请下载附件查看
游客,如果您要查看本帖隐藏内容请回复
已绑定手机
发表于 2021-7-28 21:56:41 | 显示全部楼层 来自 湖南省长沙市
谢谢分享!
已绑定手机
发表于 2021-7-29 16:19:26 | 显示全部楼层 来自 陕西省西安市
safdshgfjhgkhjkk
已绑定手机
发表于 2021-12-9 02:56:30 | 显示全部楼层 来自 湖北省武汉市
学习学习努力
已绑定手机
发表于 2021-12-9 08:05:17 | 显示全部楼层 来自 天津市南开区
太好啦,啥都有
已绑定手机
已实名认证
发表于 2021-12-9 21:13:46 | 显示全部楼层 来自 广东省中山市
看看如何
已绑定手机
发表于 2021-12-25 21:10:47 | 显示全部楼层 来自 广东省清远市
来看看好资料
已绑定手机
发表于 2021-12-26 20:48:33 | 显示全部楼层 来自 美国
谢谢分享! 谢谢分享! 谢谢分享! 谢谢分享! 谢谢分享! 谢谢分享! 谢谢分享! 谢谢分享! 谢谢分享!
已绑定手机
发表于 2021-12-29 20:28:33 | 显示全部楼层 来自 上海市
谢谢分享
已绑定手机
发表于 2021-12-29 20:29:33 | 显示全部楼层 来自 上海市
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

合作/建议

TEL: 19168984579

工作时间:
周一到周五 9:00-11:30 13:30-19:30
  • 扫一扫关注公众号
  • 扫一扫打开小程序
Copyright © 2013-2024 一牛网 版权所有 All Rights Reserved. 帮助中心|隐私声明|联系我们|手机版|粤ICP备13053961号|营业执照|EDI证
在本版发帖搜索
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表