Super Empty:修订间差异

来自Uotan Wiki · 刷机百科
(super_empty: 提示erofs等压缩文件分区系统)
无编辑摘要
 
(未显示2个用户的5个中间版本)
第1行: 第1行:
= Super empty =
== 简介 ==
== 简介 ==
它是任何动态分区设备在系统构建时可选的产物。它一个定义了动态分区信息的空镜像。它的主要作用是为设备提供一个初始的分区表。
它是任何动态分区设备在系统构建时可选的产物。它一个定义了动态分区信息的空镜像。它的主要作用是为设备提供一个初始的分区表。
第13行: 第11行:


== 使用方法 ==
== 使用方法 ==
=== 原生动态分区 ===
=== 原生动态分区设备 ===
fastboot wipe-super super_empty.img的绝对路径


=== 改造动态分区 ===
==== 方法一:使用命令刷入 ====
==== 类原生 ====
fastboot wipe-super super_empty.img的路径
以我个人维护的小米6X(wayne)为例


1.设备重启至fastboot
==== 方法二:使用柚坛工具箱刷入 ====
在柚坛工具箱的 格式化&提取 页面中的SuperEmpty部分选择对应的SuperEmpty文件,随后点击 刷入文件 即可。
[[文件:备份与提取.png|居中|缩略图|617x617像素]]


2.连接电脑
=== 改造动态分区设备 ===
==== 类原生 ====
1.刷入维护者提供的recovery.img,在rec和boot合并的机器上也可以是boot.img


3.准备最新版本的adb工具包和维护者提供的super_empty.img和ROM包
2.进入fastbootd模式


4.打开命令行进入工具包目录,输入fastboot wipe-super super_empty.img的绝对路径
可使用如下命令:
fastboot reboot fastboot
3.准备最新版本的adb-fastboot工具包和维护者提供的super_empty.img


5.刷写完毕后继续刷入维护者提供的Recovery,fastboot flash recovery recovery.img的绝对路径
4.打开命令行进入工具包目录,使用上一节原生动态分区的方法执行命令。如果设备是ab分区,则您应该切换到另外一个槽位再执行一次。


6.重启设备至recovery
5.重新进入recovery,格式化data分区。


7.选择格式化data(format data)
6.连接电脑,使用[[ADB SideLoad|adb sideload]]刷入。
 
8.连接电脑,使用adb sideload刷入ROM,adb sideload ROM包绝对路径


==== GSI ====
==== GSI ====
改造动态分区之后,使用Aosp recovery或TWRP的fastbootd,刷入system分区,即可不需扩容也能使用上超过system物理空间大小的镜像。
改造动态分区之后,使用 AOSP Recovery 或 TWRP 的Fastbootd,刷入system分区,即可不需扩容也能使用上超过system物理空间大小的镜像。


== 对开发者的一些帮助 ==
== 对开发者的一些帮助 ==
[https://github.com/uwu-gl/device_oneplus_sdm845-common/commit/2e2b515df62421024695c08240074df678dbb4c9 改造动态分区的示例commit]
[https://github.com/uwu-gl/device_oneplus_sdm845-common/commit/2e2b515df62421024695c08240074df678dbb4c9 改造动态分区的示例commit]
如果分区大小还是不够,您可以考虑切换到erofs或squashfs等等压缩文件系统。必须在内核中有文件系统相关支持且fstab中正确指定挂载参数。
如果分区大小还是不够,您可以考虑切换到erofs或squashfs等等压缩文件系统。必须在内核中有文件系统相关支持且fstab中正确指定挂载参数。


对于在Mac上正常刷写super_empty在win或linux下不能正常刷写的情况,请检查device tree内定义的数值是否100%匹配。
对于在Mac上正常刷写super_empty在win或linux下不能正常刷写的情况,请检查device tree内定义的数值是否100%匹配。

2024年8月17日 (六) 21:27的最新版本

简介

它是任何动态分区设备在系统构建时可选的产物。它一个定义了动态分区信息的空镜像。它的主要作用是为设备提供一个初始的分区表。

对原生动态分区来说

它自身包含了对逻辑分区的映射信息及逻辑分区大小。可以用于清除或更新super分区,比如后期重新分区逻辑分区大小。

对改造动态分区来说

它定义了维护者定义的设备自身分区和分区大小,将它们合并成一个大的“super”供刷入第三方ROM使用,甚至可以让老旧设备运行DSU。并且针对这类设备它的意义远不止类原生,对PT(Project Treble)也有帮助,有经验的维护者可以通过改造动态分区的方式让用户无需扩容即可体验深度定制UI。

使用方法

原生动态分区设备

方法一:使用命令刷入

fastboot wipe-super super_empty.img的路径

方法二:使用柚坛工具箱刷入

在柚坛工具箱的 格式化&提取 页面中的SuperEmpty部分选择对应的SuperEmpty文件,随后点击 刷入文件 即可。

改造动态分区设备

类原生

1.刷入维护者提供的recovery.img,在rec和boot合并的机器上也可以是boot.img

2.进入fastbootd模式

可使用如下命令:

fastboot reboot fastboot

3.准备最新版本的adb-fastboot工具包和维护者提供的super_empty.img

4.打开命令行进入工具包目录,使用上一节原生动态分区的方法执行命令。如果设备是ab分区,则您应该切换到另外一个槽位再执行一次。

5.重新进入recovery,格式化data分区。

6.连接电脑,使用adb sideload刷入。

GSI

改造动态分区之后,使用 AOSP Recovery 或 TWRP 的Fastbootd,刷入system分区,即可不需扩容也能使用上超过system物理空间大小的镜像。

对开发者的一些帮助

改造动态分区的示例commit

如果分区大小还是不够,您可以考虑切换到erofs或squashfs等等压缩文件系统。必须在内核中有文件系统相关支持且fstab中正确指定挂载参数。

对于在Mac上正常刷写super_empty在win或linux下不能正常刷写的情况,请检查device tree内定义的数值是否100%匹配。