FlyGoat / miui_ota_to_fastbootd

Generate fastbootd flashable images from OTA package for MIUI devices
GNU General Public License v2.0
34 stars 7 forks source link

试了下红米,但是12.5 需要的super物理分区变大了,一直提示Not enough space to resize partition #3

Open hpp0hpp opened 3 years ago

hpp0hpp commented 3 years ago

有没有可能有办法提升super物理分区的大小?

FlyGoat commented 3 years ago

手机具体型号? 另外这种情况看起来像是系统之前接受过一次OTA导致super里_b group已经被占据了,总空间不足。可以考虑刷一遍官放稳定fatsboot底包再试。

hpp0hpp commented 3 years ago

roup已经被占据了,总空

@FlyGoat, 谢谢你的回复. 红米K40, 官方只是miui12. 确实是OTA一次.但是A/B不是都是两份都存在吗?所以要求super大于这些分区的两倍? MIUI12.5感觉确实大了一些,我把所有的_a分区删除重建,还提示空间不够. _b group 也是在userspace里面操作吗?

hpp0hpp commented 3 years ago

试了下,删除掉_b group的所有分区,然后重新刷,还是最后一个分区提示空间不足.

我又得重新刷机了.

coderstory commented 3 years ago
@echo off
title 残芯工具生成专用线刷脚本-2021.03.27 16:53
echo.
echo 欢迎使用残芯工具生成专用线刷脚本-2021.03.27 16:53
echo 残芯精品资源QQ群:581220265
echo.
echo 请将手机进入到Fastboot模式
fastboot %* getvar is-userspace 2>&1 | findstr /r /c:"^is-userspace: *no" || fastboot reboot bootloader
fastboot %* flash abl_ab %~dp0images/abl.img
fastboot %* flash aop_ab %~dp0images/aop.img
fastboot %* flash bluetooth_ab %~dp0images/bluetooth.img
fastboot %* flash boot_ab %~dp0images/boot.img
fastboot %* flash cmnlib_ab %~dp0images/cmnlib.img
fastboot %* flash cmnlib64_ab %~dp0images/cmnlib64.img
fastboot %* flash devcfg_ab %~dp0images/devcfg.img
fastboot %* flash dsp_ab %~dp0images/dsp.img
fastboot %* flash dtbo_ab %~dp0images/dtbo.img
fastboot %* flash featenabler_ab %~dp0images/featenabler.img
fastboot %* flash hyp_ab %~dp0images/hyp.img
fastboot %* flash imagefv_ab %~dp0images/imagefv.img
fastboot %* flash keymaster_ab %~dp0images/keymaster.img
fastboot %* flash modem_ab %~dp0images/modem.img
fastboot %* flash qupfw_ab %~dp0images/qupfw.img
fastboot %* flash tz_ab %~dp0images/tz.img
fastboot %* flash uefisecapp_ab %~dp0images/uefisecapp.img
fastboot %* flash vbmeta_ab %~dp0images/vbmeta.img
fastboot %* flash vbmeta_system_ab %~dp0images/vbmeta_system.img
fastboot %* flash vendor_boot_ab %~dp0images/vendor_boot.img
fastboot %* flash xbl_ab %~dp0images/xbl.img
fastboot %* flash xbl_config_ab %~dp0images/xbl_config.img
fastboot %* flash super %~dp0super.img
fastboot %* getvar is-userspace 2>&1 | findstr /r /c:"^is-userspace: *yes" || fastboot reboot fastboot
fastboot %* delete-logical-partition odm_a
fastboot %* delete-logical-partition odm_b
fastboot %* delete-logical-partition product_a
fastboot %* delete-logical-partition product_b
fastboot %* delete-logical-partition system_a
fastboot %* delete-logical-partition system_b
fastboot %* delete-logical-partition system_ext_a
fastboot %* delete-logical-partition system_ext_b
fastboot %* delete-logical-partition vendor_a
fastboot %* delete-logical-partition vendor_b
fastboot %* create-logical-partition odm_a 134217728
fastboot %* create-logical-partition odm_b 0
fastboot %* create-logical-partition product_a 336216064
fastboot %* create-logical-partition product_b 0
fastboot %* create-logical-partition system_a 4254224384
fastboot %* create-logical-partition system_b 0
fastboot %* create-logical-partition system_ext_a 384536576
fastboot %* create-logical-partition system_ext_b 0
fastboot %* create-logical-partition vendor_a 2113630208
fastboot %* create-logical-partition vendor_b 0
fastboot %* flash odm_a %~dp0images/odm.img
fastboot %* flash product_a %~dp0images/product.img
fastboot %* flash system_a %~dp0images/system.img
fastboot %* flash system_ext_a %~dp0images/system_ext.img
fastboot %* flash vendor_a %~dp0images/vendor.img
fastboot %* set_active a 
fastboot %* reboot 
echo 刷机完成!
echo.
echo 残芯精品资源QQ群:581220265
echo 发现问题请反馈给群主
:Finish
goto Finish
coderstory commented 3 years ago

这是别人工具解包生成的脚本 好像有resize操作?

hpp0hpp commented 3 years ago

这是别人工具解包生成的脚本 好像有resize操作?

在fastbootd下,super物理分区的大小内可以随意resize,但如果这几个分区的大小已经超过super的一半了,好像就不行了,会提示空间不足。

FlyGoat commented 3 years ago

这是别人工具解包生成的脚本 好像有resize操作?

在fastbootd下,super物理分区的大小内可以随意resize,但如果这几个分区的大小已经超过super的一半了,好像就不行了,会提示空间不足。

super物理分区本身的大小在qcom平台是手机的GPT分区表决定的,一般不会随意变化。super里逻辑分区的size和group的size可以通过fastbootd resize。

Android11引入了新的virtual ab机制来解决super不够用的问题,也就是把非boot slot的数据整到/data里去。但是K40似乎在12.5才启用了他。所以super不够用?

FlyGoat commented 3 years ago

这是别人工具解包生成的脚本 好像有resize操作?

fastbootd 的刷入过程包含自动resize。不过删掉已有的分区重新创建倒是有助于保持逻辑分区的物理连续性...也避免device mapper划不出空间,值得一试。

FlyGoat commented 3 years ago

roup已经被占据了,总空

@FlyGoat, 谢谢你的回复. 红米K40, 官方只是miui12. 确实是OTA一次.但是A/B不是都是两份都存在吗?所以要求super大于这些分区的两倍? MIUI12.5感觉确实大了一些,我把所有的_a分区删除重建,还提示空间不够. _b group 也是在userspace里面操作吗?

线刷一次官方底包主要是把_b slot从super里赶走。

hpp0hpp commented 3 years ago

roup已经被占据了,总空

@FlyGoat, 谢谢你的回复. 红米K40, 官方只是miui12. 确实是OTA一次.但是A/B不是都是两份都存在吗?所以要求super大于这些分区的两倍? MIUI12.5感觉确实大了一些,我把所有的_a分区删除重建,还提示空间不够. _b group 也是在userspace里面操作吗?

线刷一次官方底包主要是把_b slot从super里赶走。

我试过全部a/b 分区全部resize为0,好像也试过全部删除a分区,忘了有没有删除b分区,但最后好像都不足以刷入。 我不知道官方包的12.5会怎么调整super分区。 如果是像你说的把非boot slot的数据整到/data, 那我刷入12.5的时候应该也能刷入,他这个OTA包应该是调整完了?