doc:appunti:hardware:xiaomi_mi_a1
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
doc:appunti:hardware:xiaomi_mi_a1 [2019/11/09 12:44] – [Install the TWRP Recovery] niccolo | doc:appunti:hardware:xiaomi_mi_a1 [2020/03/25 16:08] – [March 2020 security update] niccolo | ||
---|---|---|---|
Line 150: | Line 150: | ||
When an app requires root privileges, the Magisk management app will show a pop-up on the phone, allowing to grant or deny the permission, so be sure that the phone is not in screen-locked mode. | When an app requires root privileges, the Magisk management app will show a pop-up on the phone, allowing to grant or deny the permission, so be sure that the phone is not in screen-locked mode. | ||
===== Recovery Mode ===== | ===== Recovery Mode ===== | ||
+ | |||
+ | Android devices have a feature called **Android Recovery Mode**, which allows users to fix some problems. Technically, | ||
+ | |||
+ | To enter the Recover mode you can follow one of this ways: | ||
* **Power Off** the phone. | * **Power Off** the phone. | ||
* Press **VolumeUp + Power**, wait about 3 seconds for the Mi logo screen. | * Press **VolumeUp + Power**, wait about 3 seconds for the Mi logo screen. | ||
- | | + | |
+ | If you have installed the TWRP Recovery, its main screen will appear. If you have the stock ROM Recovery you have to: | ||
+ | |||
+ | | ||
* Press **Power + VolumeUp** shortly, the Recovery menu will appear. | * Press **Power + VolumeUp** shortly, the Recovery menu will appear. | ||
{{.: | {{.: | ||
{{.: | {{.: | ||
+ | |||
+ | When the phone is booted in normal system, you can reboot in Recovery mode by issuing the following command from an attached PC: | ||
+ | |||
+ | < | ||
+ | adb reboot recovery | ||
+ | </ | ||
+ | |||
===== Fastboot Mode ===== | ===== Fastboot Mode ===== | ||
Line 273: | Line 287: | ||
The phone automatically warns about the availability of an **OTA (On The Air) Upgrade**. You can also check for upgrades availability by tapping // | The phone automatically warns about the availability of an **OTA (On The Air) Upgrade**. You can also check for upgrades availability by tapping // | ||
- | If you allow downloading and installing the upgrade, a check will be performed about the **integrity** of the **boot image** and the **system image**, before the actual install. The check will fail and the upgrade will be aborted if one of this condition | + | If you allow downloading and installing the upgrade, a check will be performed about the **integrity** of the **boot image** and the **system image**, before the actual install. The check will fail and the upgrade will be aborted if one or both of these two conditions |
- You have installed **Magisk SU** or **TWRP Recovery**. These software are installed into the boot partition, either **boot_a** or **boot_b** partition. The installation of Magisk patches only the active boot partition, whereas TWRP will patches (install itself) both boot partitions. | - You have installed **Magisk SU** or **TWRP Recovery**. These software are installed into the boot partition, either **boot_a** or **boot_b** partition. The installation of Magisk patches only the active boot partition, whereas TWRP will patches (install itself) both boot partitions. | ||
Line 280: | Line 294: | ||
The upgrade process will fail with a warning message **Couldn’t update - Installation problem** (in Italian: // | The upgrade process will fail with a warning message **Couldn’t update - Installation problem** (in Italian: // | ||
- | To rescue | + | To escape |
< | < | ||
Line 288: | Line 302: | ||
</ | </ | ||
- | Allow upgrading | + | Allowing automatic OTA upgrade |
+ | Once you extracted the system.img file from the archive, boot in fastboot mode and execute the following from an attached PC (once again your **active partition is B**): | ||
+ | |||
+ | < | ||
+ | fastboot flash system_b system.img | ||
+ | fastboot reboot | ||
+ | </ | ||
==== The OTA Update ==== | ==== The OTA Update ==== | ||
Line 304: | Line 324: | ||
The main content is a **payload.bin**, | The main content is a **payload.bin**, | ||
+ | ===== March 2020 security update ===== | ||
+ | |||
+ | In March 2020 Xiaomi released a new security update, according to this post **[[https:// | ||
+ | |||
+ | I performed the upgrade re-installing **TWRP** and **Magisk** afterward. The starting conditions were: | ||
+ | |||
+ | * A/B System Updates status: **Current Slot: B** (checked via TWRP => Reboot screen). | ||
+ | * Bootloader is **unlocked**. | ||
+ | * Installed O.S.: Android: 9, Build number: **PKQ1.180917.001.V10.0.14.0.PDHMIXM** (check from Impostazioni => Sistema => Informazioni sul telefono). | ||
+ | * From // | ||
+ | * **Magisk** v20.1 and **TWRP** 3.3.0 were installed into **boot partition** (Slot B). | ||
+ | * **System partition** was the stock one: root privileges were never used to tamper the **/system** hierarchy. | ||
+ | |||
+ | The system upgrade will **verify** the **boot** and the **system** partitions before attempting the installation, | ||
+ | |||
+ | I restored the stock **boot_b.img** image (saved before TWRP and Magisk), using the ADB commands from a connected PC: | ||
+ | |||
+ | < | ||
+ | adb reboot bootloader | ||
+ | fastboot flash boot_b boot_b.img | ||
+ | fastboot reboot | ||
+ | </ | ||
+ | |||
+ | **I got a problem** during this step: may be the **boot_b.img** was not the current one, but one of two versions before! Luckily the only negative effect was that **the WiFi was not working**. This is a **logcat** excerpt: | ||
+ | |||
+ | < | ||
+ | android.hardware.wifi@1.0-service: | ||
+ | android.hardware.wifi@1.0-service: | ||
+ | android.hardware.wifi@1.0-service: | ||
+ | android.hardware.wifi@1.0-service: | ||
+ | </ | ||
+ | |||
+ | I proceeded with the standard procedure, trusting that the boot partition would be recognized as original and therefore upgradeable (remember: the update were already downloaded by the phone, so I just launched the reboot and install procedure). After some minutes and three reboots, the system was upgraded; **Android v.9** and build number **PKQ1.180917.001.V10.0.19.0.PDHMIXM**. Fortunately enough the WiFi were recovered. | ||
+ | |||
+ | To complete the upgrade: | ||
+ | |||
+ | - Backup the stock boot partitions | ||
+ | - Reinstall TWRP | ||
+ | - Reinstall Magisk | ||
+ | - Backup the rooted boot partitions | ||
+ | |||
+ | First of all **boot into TWRP** without installing it: | ||
+ | |||
+ | < | ||
+ | adb reboot bootloader | ||
+ | fastboot boot twrp-3.3.0-2-tissot.img | ||
+ | </ | ||
+ | |||
+ | Into //TWRP// => //Reboot// menu I verified that the **Current Slot: A**. It is normal that the upgrade procedure swaps the boot partition during the upgrade. Then i backed up the stock images from a PC connected via ADB: | ||
+ | |||
+ | < | ||
+ | adb pull / | ||
+ | adb pull / | ||
+ | </ | ||
+ | |||
+ | Now I installed the TWRP recovery into the boot partitions: //TWRP// => //Install// => **twrp-installer-3.3.0-2-tissot.zip**. The installation warns about //Running boot image patcher on slot// A and B, and spit some harmless warnings about the **/vendor** mounting point. | ||
+ | |||
+ | After a system reboot, and again a boot into Recovery I performed //TWRP// => //Install// => **Magisk-v20.1.zip**. Once again some harmless warnings about the /vendor mounting point. | ||
+ | |||
+ | Finally I repeated the procedure to **backup** the patched **boot_a** and **boot_b** partitions. | ||
+ | |||
+ | **NOTICE**: the ADB client is active when I boot TWRP using '' | ||
===== Web References ===== | ===== Web References ===== | ||
doc/appunti/hardware/xiaomi_mi_a1.txt · Last modified: 2020/09/23 17:06 by niccolo