CalyxOS

Install on Xiaomi Mi A2

From a Linux computer

Install / Xiaomi Mi A2 / Linux

Terminology

Prepare your Android device

There are a few things you must do to prepare your device to accept a new operating system:

Enable Developer Options

SettingsAbout Phone → tap Build number 7 times

Enable USB debugging

SettingsSystemAdvancedDeveloper OptionsUSB Debugging

Enable OEM Unlocking

SettingsSystemAdvancedDeveloper OptionsOEM unlocking

This step might fail if there is no internet connection. In that case, connect to a WiFi network and remove SIM card, then try again.

Prepare your host computer

Linux packages

The device-flasher program needs certain udev rules installed. The device-flasher will set these rules up for you, but it may ask for your sudo password to do so. Alternately, you can install one of the following packages to correctly set the udev rules in advance.

Debian, Ubuntu, & derivatives:

sudo apt update
sudo apt install android-sdk-platform-tools-common

Fedora & derivatives:

sudo dnf install android-tools

Arch Linux:

sudo pacman -Sy
sudo pacman -S android-udev

Download device-flasher

Download device-flasher.linux

Save this executable to a new directory, where you will also later save the CalyxOS image.

Verify Digest

This is an optional step, useful for ensuring you have the correct device-flasher executable. Open a terminal on your host computer, change to the directory where you saved device-flasher, and then run:

sha256sum device-flasher.linux

And ensure the result says f4e68992198868148ca2d4bd0fd40d0176da4058a188a3fdf80732d04a6c3543. This is the unique digest of the device-flasher. If it doesn’t match, then you have a corrupted or incorrect file.

Download factory image

Download CalyxOS Image

Save this image in the same directory as device-flasher. This image will only work for Xiaomi Mi A2 (jasmine_sprout). Any attempt to install this image on a different device model may brick (destroy) the Android device.

Do not extract or rename the zip, simply copy it as-is.

Once downloaded, the next step is to verify the image. This step is optional, but verification helps ensure that you downloaded the image correctly, and that you got the correct image.

Verify Digest

To verify the image, open a terminal window on the host computer where you saved the image and run the command:

sha256sum jasmine_sprout-factory-202102100.zip

And ensure the result says 0728d0ff45d1555f914eb7bb86b5d19606f8efc45e89990ee6d8fc6b66690dc7. This is the unique digest of the image file. If it doesn’t match, then you have a corrupted or incorrect file.

Verify Signature

For the highest level of confidence, you can optionally download the signature file and then verify image signature.

Install CalyxOS

Run device-flasher

Now you are ready to install. Ensure that both the CalyxOS image and device-flasher are in the same directory.

Step 1. Connect the USB cable between the computer and the Android device.

Step 2. Run device-flasher

Open a terminal, change to the directory with the firmware image, and run:

chmod +x device-flasher.linux
./device-flasher.linux

Unlock the bootloader

At some point in the installation process, it will ask you to unlock the bootloader.

NOTE: if the bootloader is already unlocked, you will not see the unlock bootloader menu and installation will proceed automatically without you needing to touch anything.

The bootloader unlock menu looks like this:

Press a volume key to select UNLOCK THE BOOTLOADER option. Then press the power key to activate that option.

After this, the android device will reboot, but in normal mode in the prior OS. Then follow these steps:

  1. Power down the Android device.
  2. Disconnect the USB cable.
  3. Boot into Fastboot mode.
  4. Reconnect the USB cable.
  5. The installation will resume automatically.

Success?

Once device-flasher is finished, you should now have a fully functional CalyxOS device. If not, please see our Community page for where you can post your questions.

Troubleshooting

Error running device-flasher

If you get a mysterious error when running device-flasher, or if device-flasher hangs, it may be a USB problem. Try connecting to a different USB port on your computer (yes, not all USB ports are created equal) or a different USB cable.

Back to Stock

If you would like to return to the default operating system, please see Back to Stock Android.

Security Notes

  • Over-the-air Updates: CalyxOS updates are delivered over-the-air (OTA) automatically, without any manual intervention needed. However, if you'd like to manually update your CalyxOS install, see OTA.
  • Security Updates: The Pixels 5a (5G), 4a (5G), 5, 4a, 4 XL, 4, 3a XL, 3a, 3 XL, 3 contain the full security patch, as they are still being updated by Google.
  • End-of-life: The Pixels 2 and 2 XL are no longer being updated by Google, so the CalyxOS releases for these devices only contain the fixes to the open source components, such as the OS code and the Linux kernel. Proprietary components such as the bootloader, modem firmware, and other firmware no longer get updates.
  • End-of-life: The Xiaomi Mi A2 is no longer being updated by Xiaomi, so the CalyxOS releases for it only contain the fixes to the open source components, such as the OS code and the Linux kernel. Proprietary components such as the bootloader, modem firmware, and other firmware no longer get updates. Additionally, due to a Xiaomi bug wherein updating causes the device to get wiped, we have to ship the September 2020 firmware.