小 (super_empty: 略微修改改造动态分区) |
(super_empty: 重写使用方法) |
||
第14行: | 第14行: | ||
== 使用方法 == | == 使用方法 == | ||
=== 原生动态分区 === | === 原生动态分区 === | ||
fastboot wipe-super super_empty. | fastboot wipe-super super_empty.img的路径 | ||
=== 改造动态分区 === | === 改造动态分区 === | ||
==== 类原生 ==== | ==== 类原生 ==== | ||
1.刷入维护者提供的recovery.img,在rec和boot合并的机器上也可以是boot.img | |||
2.使用命令进入fastbootd: | |||
fastboot reboot fastboot | |||
3.准备最新版本的adb-fastboot工具包和维护者提供的super_empty.img | |||
4.打开命令行进入工具包目录,使用上一节原生动态分区的方法执行命令。如果设备是ab分区,则您应该切换到另外一个槽位再执行一次。 | |||
7.重新进入recovery,格式化data分区。 | |||
8.连接电脑,使用[[ADB SideLoad|adb sideload]]刷入。 | |||
8. | |||
==== GSI ==== | ==== GSI ==== |
2024年8月15日 (四) 22:31的版本
Super empty
简介
它是任何动态分区设备在系统构建时可选的产物。它一个定义了动态分区信息的空镜像。它的主要作用是为设备提供一个初始的分区表。
对原生动态分区来说
它自身包含了对逻辑分区的映射信息及逻辑分区大小。可以用于清除或更新super分区,比如后期重新分区逻辑分区大小。
对改造动态分区来说
它定义了维护者定义的设备自身分区和分区大小,将它们合并成一个大的“super”供刷入第三方ROM使用,甚至可以让老旧设备运行DSU。并且针对这类设备它的意义远不止类原生,对PT(Project Treble)也有帮助,有经验的维护者可以通过改造动态分区的方式让用户无需扩容即可体验深度定制UI。
使用方法
原生动态分区
fastboot wipe-super super_empty.img的路径
改造动态分区
类原生
1.刷入维护者提供的recovery.img,在rec和boot合并的机器上也可以是boot.img
2.使用命令进入fastbootd:
fastboot reboot fastboot
3.准备最新版本的adb-fastboot工具包和维护者提供的super_empty.img
4.打开命令行进入工具包目录,使用上一节原生动态分区的方法执行命令。如果设备是ab分区,则您应该切换到另外一个槽位再执行一次。
7.重新进入recovery,格式化data分区。
8.连接电脑,使用adb sideload刷入。
GSI
改造动态分区之后,使用Aosp recovery或TWRP的fastbootd,刷入system分区,即可不需扩容也能使用上超过system物理空间大小的镜像。
对开发者的一些帮助
如果分区大小还是不够,您可以考虑切换到erofs或squashfs等等压缩文件系统。必须在内核中有文件系统相关支持且fstab中正确指定挂载参数。
对于在Mac上正常刷写super_empty在win或linux下不能正常刷写的情况,请检查device tree内定义的数值是否100%匹配。