CalyxOS

Install on moto g84 5G

From a Linux computer

Install / moto g84 5G

Terminology

Prepare your Android device

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

Remove SIM card

On brand new devices, especially those obtained from a carrier, it’s better to remove the SIM card from the device before starting it for the first time, to help with the “OEM Unlocking” step below.

Enable Developer Options

SettingsAbout Phone → tap Build number 7 times

Enable OEM Unlocking

SettingsSystemDeveloper OptionsOEM unlocking

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

Obtaining an unlock code

Motorola requires you to request for a code to unlock the bootloader of these phones. For brand new devices, sometimes it may take up to 3 days before the phone will let you actually enable OEM unlocking. It can be instant or sooner than 3 days as well in many cases.

Do note that unlocking your Motorola voids it’s warranty.

The CalyxOS device-flasher currently does not handle this process, and thus you’ll have to manually unlock the device after obtaining the code.

In the future, we’ll try to automate as much of it as possible.

https://motorola-global-portal.custhelp.com/app/standalone/bootloader/unlock-your-device-a

Prepare your host computer

Linux packages

The device-flasher program needs certain udev rules installed. You should install one of the following packages to correctly set the udev rules.

Debian, Ubuntu, & derivatives:

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

Fedora & derivatives:

sudo dnf install android-tools

Currently, there are issues with udev rules on Fedora, you may need to run device-flasher.linux using sudo later on the install process.

Arch Linux:

sudo pacman -S android-udev

openSUSE:

sudo zypper install android-udev-rules

NixOS:

Add the following to /etc/nixos/configuration.nix and sudo nixos-rebuild switch:

services.udev.packages = [
  pkgs.android-udev-rules
];

Create a shell.nix for temporary FHS-compatible shell:

{ pkgs ? import <nixpkgs> {} }:

(pkgs.buildFHSUserEnv {
      name = "calyxos-device-flashing";
}).env

Enter it with nix-shell.

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 9c460276906eb6aa5e4c1c65f7fefae9606d37cabe96a923a5642ed1d2b3910e. 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 moto g84 5G (bangkk). 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 bangkk-factory-260720200.zip

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

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.

Run device-flasher per the below instructions and then follow the steps shown on the computer screen.

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.

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.

How do I tell if the bootloader is locked?

In Fastboot “Device State: locked” means the bootloader is locked.

On the initial boot screen, you may also see this if the bootloader is unlocked:

The bootloader is unlocked and software integrity cannot be guaranteed. Any data stored on the device may be available to attackers. Do not store sensitive data on the device.

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(OTA) Updates: Starting from CalyxOS 7.2.2.0, CalyxOS updates resume automatically over the air. No manual install of updates needed. However, if you would like to manually update your CalyxOS device, see our OTA installation instructions.
  • Security Updates for Pixel devices: The Pixel 9a, 9 Pro Fold, 9 Pro XL, 9 Pro, 9, 8a, 8 Pro, 8, Fold, Tablet, 7a, 7 Pro, 7, 6a, 6 Pro, and 6 stock OSes follow a monthly release schedule in direct alignment with the AOSP security bulletin. However, Google has stopped publishing the source code for AOSP QPR1 and QPR3 releases. As a result, CalyxOS is not able to timely include updates of the proprietary components, such as the bootloader, modem, and vendor firmware, for versions based on those specific QPR branches. The CalyxOS releases for the above models only contain the latest fixes to the open-source components, such as the operating system and the Linux kernel. Proprietary components get updates as soon as the corresponding AOSP source code becomes available.
  • Security Updates for non-Pixel devices: The Fairphone 5, 4, Motorola moto g 5G 2024, moto g84 5G, moto g34 / g45 5G, and SHIFTphone 8 stock OSes follow a different security update release schedule, which is usually behind AOSP updates by a month or two. The CalyxOS releases for these devices only contain the latest fixes to the open-source components. Proprietary components get updates as soon as the stock OS update becomes available.
  • End-of-life: The Motorola moto g52, moto g42, moto g32, Pixel 5a (5G), 4a (5G), and 5 are no longer being updated by the manufacturer, the CalyxOS updates for these devices only contain the fixes to the open-source components. Proprietary components no longer get updated.