bmax121 / APatch

The patching of Android kernel and Android system
GNU General Public License v3.0
4.58k stars 343 forks source link

Install to inactive slot after OTA #630

Closed fc-dj closed 1 week ago

fc-dj commented 2 months ago

Please check before submitting an issue/在提交 issue 前请检查

Version requirement/版本要求

Describe the bug/描述 bug

After patching image in the inactive slot, APatch erroneously sets boot slot as the current one instead of the inactive one. After rebooting, OTA fails because it didn't boot to the second slot. Tried both rebooting from APatch and from system update app. Workaround: after patching inactive slot, manually select second slot via terminal worked to complete the update and boot retaining patched kernel. This confirms there is no issue other than slot selection. Using HyperOs.

Reproduce method/复现方法

Perform OTA, don't reboot, install to inactive slot from APatch, click reboot (both in APatch or updater).

Expected behavior/预期行为

Switch to inactive boot slot

Actual behaviour /实际行为

Boots from the active slot instead of the updated one.

Screenshots/截图

No response

Logs/日志

No response

Device Name/设备名称

POCO M6 Pro (emerald)

OS Version/系统版本

HyperOS 1.0.3.0 EEA

APatch Version/APatch 版本

10763

Kernel Version/内核版本

5.10.198

KernelPatch Version/KernelPatch 版本

0.10.7

Additional context/其他信息

.

WankkoRee commented 1 month ago

same problem.

HyperOS 1.0.5.0.UMRCNXM -> 1.0.6.0.UMRCNXM

APatch 0.10.7 (10763)

vietanhtwdk commented 1 month ago

Same problem on mi pad 6

Edit: Manually select bootslot work on my device

adb shell getprop ro.boot.slot_suffix (get active boot slot)
adb reboot bootloader
fastboot --set-active=b (or a)
fastboot reboot
marat2509 commented 1 week ago

[x] I am using latest CI version of APatch/我正在使用最新 CI 版本