Install LineageOS on
Xiaomi Mi 10S
thyme
Do not continue after something fails!
Basic requirements
- Read through the instructions at least once before actually following them, so as to avoid any problems due to any missed steps!
- Make sure your computer has
adb
andfastboot
. Setup instructions can be found here. - Enable USB debugging on your device.
- Make sure that your model number is one of the following (exact match required!):
- M2102J2SC
- Boot your device with the stock OS at least once and check every functionality.
Warning: Make sure that you can send and receive SMS and place and receive calls (also via WiFi and LTE, if available), otherwise it won’t work on LineageOS either! Additionally, some devices require that VoLTE/VoWiFi be utilized once on stock to provision IMS.
- Remove all Google accounts from your device to avoid “Factory reset protection”
- LineageOS is provided as-is with no warranty. While we attempt to verify everything works you are installing this at your own risk!
Device model | Firmware version |
---|---|
Mi 10S | OS1.0.2.0.TGACNXM |
Checking the correct firmware
Installation on your device requires a specific firmware version to be installed before you continue.
- Being on another custom ROM, including unofficial builds of the same version of LineageOS, does not ensure that this requirement has been fulfilled
- Please re-read this section as many times as necessary to fully understand the requirements
Failing to install the correct firmware version prior to installation may result in failure to install LineageOS, unexpected crashes post-installation, or permanent damage to your device!
Getting permission to unlock bootloader (Chinese users)
Xiaomi has introduced new policies on unlocking bootloader for Chinese region devices purchased with, or updated to a China HyperOS Stock ROM released on or after November 8, 2023. The new policy requires attaining permission for bootloader unlocks through the use of Chinese Xiaomi Community, which is preinstalled as an app on Chinese region devices.
As of Q1-2025, the application must meet the following requirements:
- The account used is registered as a Chinese region account.
- The user had passed human / ID verification.
- The user had achieved Level 5 in the community.
- The user had taken and passed a special Android knowledge-based test.
- The user had not participated in a test in the past 168 hours (7 days).
Additional instructions will be provided when you take the test. You are reminded that test dates and times are provided in the announcement of each test season. Users must confirm their entrance 5 minutes before the start of the test, and must spend at minimum 10 minutes for the whole test, otherwise the test will be invalid.
Please note that once you have been granted unlock access, you must unlock your device following instructions of the next step within the validity period (336 hours, or 14 days). Each application is only valid for a single device, and cannot be moved or transferred to any other device. If you are declined for any reason, you can re-attempt the process until you are accepted.
LineageOS is not affiliated with Xiaomi, nor will you find support with filling applications/tests in our community. Please proceed from this step only once all Xiaomi’s required steps have been followed, and your device’s bootloader is unlocked.
Unlocking the bootloader
- Create a Mi account on Xiaomi’s website. Beware that one account can only unlock four unique devices every year (one HyperOS device, three MIUI devices), and even then only once every 30 days.
- Add a phone number to your Mi account.
- Insert a SIM into your phone.
- Enable developer options in
Settings
>About Phone
by repeatedly tappingMIUI Version
. - Link the device to your Mi account in
Settings
>Additional settings
>Developer options
>Mi Unlock status
. - Download the Mi Unlock app (or v7.6.727.43).
- Ensure that your device has the appropriate drivers installed by running
driver_install.exe
(for 32-bit) ordriver_install_64.exe
(for 64-bit), which are included with Mi Unlock, otherwise, the Mi Unlock app may not detect your device. - Run the Mi Unlock app and follow the instructions provided by the app. The app may tell you that you have to wait up to 30 days. If it does so, please wait for the quoted amount of time before continuing to the next step! It is ideal to start this step at midnight (GMT+8), as Xiaomi only allows a limited number of devices to be unlocked each day.
- After the device and Mi account are successfully verified, the bootloader should be unlocked.
- Since the device resets completely, you will need to re-enable USB debugging to continue.
Flashing additional partitions
- Download the following files from here.
- boot.img
- dtbo.img
- Power off the device, and boot it into bootloader mode:
- With the device powered off, hold Volume Down + Power. Keep holding both buttons until the word “FASTBOOT” appears on the screen, then release.
- Flash the downloaded image files to your device by typing:
fastboot flash boot boot.img fastboot flash dtbo dtbo.img
Installing Lineage Recovery using fastboot
- Download Lineage Recovery. Simply download the latest recovery file, named
vendor_boot.img
.Important: Other recoveries may not work for installation or updates. We strongly recommend to use the one linked above! - Flash recovery onto your device:
fastboot flash vendor_boot vendor_boot.img
- Now reboot into recovery to verify the installation.
- Type the command:
fastboot reboot-recovery
Note: If your recovery does not show the LineageOS logo , you accidentally booted into the wrong recovery. Please start at the top of this section! - Type the command:
Installing LineageOS from recovery
- Download the LineageOS zip file that you would like to install or build the package yourself.
- If you are not in recovery, reboot into recovery:
- With the device powered off, hold Volume Up + Power. Keep holding both buttons until the “MI” logo appears on the screen, then release.
- Now tap Factory Reset, then Format data / factory reset and continue with the formatting process. This will remove encryption and delete all files stored in the internal storage, as well as format your cache partition (if you have one).
- Return to the main menu.
- Sideload the LineageOS
.zip
package but do not reboot before you read/followed the rest of the instructions!- On the device, select “Apply Update”, then “Apply from ADB” to begin sideload.
- On the host machine, sideload the package using:
adb -d sideload filename.zip
.Tip: After the package is installed, recovery will inform you that reboot to recovery is required to install add-ons. In case you want to do that, please select “Yes,” otherwise “No”.Tip: Normally, adb will reportTotal xfer: 1.00x
, but in some cases, even if the process succeeds the output will stop at 47% and reportadb: failed to read command: Success
. In some cases it will reportadb: failed to read command: No error
oradb: failed to read command: Undefined error: 0
which is also fine.
Installing Add-Ons
arm64
architecture), you can download it from here.
This add-on needs to be installed before booting into LineageOS for the first time!- Click
Apply Update
, thenApply from ADB
, thenadb -d sideload filename.zip
for all desired packages in sequence.
When presented with a screen that saysSignature verification failed
, clickYes
. It is expected as add-ons aren’t signed with LineageOS’s official key!
All set!
Once you have installed everything successfully, you can now reboot your device into the OS for the first time!
- Click the back arrow in the top left of the screen, then “Reboot system now”.
Get assistance
After you’ve double checked that you followed the steps precisely, didn’t skip any and still have questions or got stuck, feel free to ask on our subreddit or in #LineageOS on Libera.Chat.