[Motorola Edge 40 Pro  / Moto X40 (China)] mxz55:
New installation instructions post (due to old topic being locked)

Here's installation (and also dirty flashing) steps for the builds. We're applying for LineageOS official status this month, in that case it will be replaced by the device wiki page. But it may be preserved for anyone that for any reason needs clarification on the wiki install.

// For the absolute beginners: all steps where "adb" or "fastboot" commands are to be entered, use the adb tools (extracted to the same folder as where you put all LineageOS custom ROM .img and .zip files). ADB tools can be downloaded from the official Google mirror: https://dl.google.com/android/repository/platform-tools-latest-windows.zip.

// It should be clear that every hyperlinked filename after a command that's in the steps, is to be clicked to download the file accordingly; then you need to move it into the same folder as where you put ADB and all other relevant files, like the LineageOS custom ROM .img and .zip files

* (b) This guide has addional beginner/non technical user explanation per step. If you are not a beginner, just read over all steps tagged with cursive '(b)' in the steps below.

. (b) Make sure "USB debugging" is toggled on in Developer Options. Firstly, to unlock Developer Options and make it appear, you'll have to tap the Android version > "Build number" (usually in an About Device section of settings) 5 times in quick succession.

. (b) Unlock bootloader (Motorola unlock procedure/request unlock key)

. Reboot to Bootloader-Fastboot (not dedicated fastbootD mode). **(b) To do this, turn off device, then hold down Volume Down while turning it back on with power key, or alternatively by sending "adb reboot bootloader" command while device is powered on and connected to your PC with cable

. Enter these commands (*(b) again: make sure all .img and .zip files that are for LineageOS are moved to the same folder as where you extracted ADB's "platform-tools-latest-windows.zip"):

Code:

fastboot flash --slot=all dtbo dtbo.img
fastboot flash --slot=all recovery recovery.img
fastboot flash --slot=all boot boot.img
fastboot flash --slot=all init_boot init_boot.img
fastboot flash --slot=all vendor_boot vendor_boot.img

>> Reboot to recovery (this opens LineageOS recovery)

. Click "Apply update" (from adb). Enter this command:

adb sideload copy-partitions-20220613-signed.zip

. Reboot Recovery

*If you are doing dirty flash to update ROM version, only leave "Factory Reset" out and follow all other steps*

. Click Factory reset (if you're NOT dirty flashing)

. Click "Apply update" (from adb). Enter this command:

adb sideload lineage-20.0-DATE-UNOFFICIAL-rtwo.zip (*(b): of course this command is to be renamed accordingly to the exact name of the LineageOS main .zip that you downloaded, as it will have different parts for each version, like date of release, in the filename)

. Reboot Recovery (yes, again)

(b) For the next steps, i advise you to use volume up/down keys to navigate towards "Apply update" (first look at the key before pressing it), as otherwise you may fatf-finger it or tap "Reboot system" by accident and brick your Android installation for ever running Google and GMS-dependent Apps until clean reinstall

. Click "Apply update" (from adb)

. Send: adb sideload MindTheGapps-14.0.0-arm64-20240226.zip

Regarding the part of "running Google and GMS-dependent Apps" in the warning above: As widely known, the last step (adb sideload MindTheGapps) is very important, as you must install GApps before first boot of LineageOS, or else it won't be able to properly initialize them and there will be non-stop crashes & inability to ever run Google and GMS-dependent Apps until clean reinstall

For those that want root functionality: Rooting is supported through Magisk, relevant image for this device isn't "boot" as often the case, but init_boot.img (the one to patch through Magisk Manager, and flash back with fastboot flash --slot=all init_boot init_boot.img) but for good measure & maximum root access, i would patch and flash both boot.img and init_boot.img