Skip to content

10.刷入GSI(A13)以及优化养老

Coconut edited this page Sep 4, 2023 · 1 revision

刷入GSI(Android 13)以及优化体验


阅读本章节的前情提要:

  1. 获取解锁Bootloader的解锁码
  2. 解锁和刷机
  3. GSI

请注意,作者建议你先阅读完前情提要和本文章再考虑是否动手实践。


第一部分:System分区大小

前文说过,EMUI 9虽然是System As Root分区格式,但是也是A-Only的分区。
至于为什么会存在如此诡异而又矛盾的状态。这就要问华为是如何魔改的了。
华为P10的EMUI 9的System分区大约是3725MB左右。但事实上,可用空间比这个小的多。
面对Android 12以后的GSI是完全不够看的。
虽然有好心的作者制作silm(小分区版本)的GSI,但是为了还能刷别的刷机包,例如Google套件。
还是有必要扩展system分区大小的。
那么如何扩展呢?使用parted工具。


第二部分:扩容System

警告:此操作如果行为不当会导致变砖!!!!此指南对此不负任何责任!!!

所需要的工具:

  1. Parted ARM版本
  2. TWRP
  3. 电脑
    操作步骤(EMMC专用,也就是三等人版本):
    傻瓜式步骤:
  4. 下载好Parted,手机重启到TWRP。
  5. 使用ADB传输你的Parted文件:adb push "parted" "/sbin/"

注意你的路径,命令格式是 adb push "你的parted文件位置" "/sbin/"

  1. 使用TWRP的文件管理,进入 /sbin/ 目录下,找到parted,对其授予755权限。
  2. 接下来输入如下命令(#后面是注释,不要复制!!):
adb shell                  # 进入手机shell界面
parted /dev/block/mmcblk0  # 使用parted分区区块mmcblk0
p                          # 查看区块mmcblk0下的所有分区

然后你会看到一排排信息,这几个是主要的:

59      2374MB  6099MB  3725MB  ext4         system_a             msftdata
60      6099MB  6233MB  134MB                reserved5            msftdata
61      6233MB  125GB   119GB                userdata             msftdata

如果你观察的很仔细,可以看到system_a分区大小3725MB,是由2374MB开始到6099MB决定的。
也就是说,是6099MB减去2374MB得到的。
那么接下来好办了。我可以从userdata划出一部分给system_a。
注意!userdata的125GB是因为我手机是128GB版本,你需要依照实际你的手机的userdata分区结束大小填写!!!

rm 59                                  # 删除分区59(system_a)
rm 60                                  # 删除分区60(reserved5)
rm 61                                  # 删除分区61(userdata)
mkpart system_a ext4 2374MB 10566MB    # 创建分区system_a,大小是8192MB,从2374MB开始到10566MB结束。
mkpart reserved5 10566MB 10700MB       # 创建分区reserved5,大小不变,从10566MB开始到10700MB结束。
mkpart userdata 10700MB 125GB          # 创建分区userdata,大小缩减,因为划出一部分给了system_a,从10700MB开始到125GB结束。

期间会提示分区正在活动之类的,请填写Ignore
不然改动会失效。
5. 关闭shell界面,在TWRP里选怎重启手机进TWRP(recovery)。 6. 清除system分区,格式化DATA分区。 7. 重启进fastboot,刷入你想要的GSI即可。


第三部分:GSI优化

使用 huawei-creator 去优化GSI。
在Linux环境下,把GSI拷贝进huawei-creator的根目录。
按照huawei-creator的使用教程选择合适的脚本。
例如你的是EMUI9系统,想要刷的GSI是安卓13,那就使用 run-huawei-emui9-ab-a13.sh
具体的使用说明:READM_CN
这样能修复不少bug,以及优化一定的体验。