ATTENTION

As of 04.04.2023 the phone is STILL on android 12 and the camera issues (bad focus, useless for videos) are still not fixed. DO NOT BUY A MOTOROLA PHONE!

Convert Motorola x30 Pro (CN) to Edge 30 Ultra (EU)

Be warned!

As with all modifications his will void your warranty and you might brick your device if you don't know what you are doing.

Safetynet does NOT pass if you dont use magisk afterwards. Widevine is L1 but Apps like Netflix do not work.
Your device identifier will stay XT2241-1 and can not be changed - this is not a full conversion.

DO NOT RE-LOCK YOUR BOOTLOADER! THIS WILL DEFINITELY BRICK THE DEVICE.

1. Unlock your Bootloader

Go to the official Motorola website and follow their well documented guide.
Make sure to backup all your files before unlocking as your device will be wiped.

Download the Motorola Rescue and Smart Assistant. This will allow you to download the latest CN Firmware. Use the "rescue" function, download the firmware and flash it to your device.

We do this to root the device with magisk to backup all of our partitions before flashing the Global. You can find the downloaded Firmware at "C:\ProgramData\RSA\Download\RomFiles".

Copy the boot.img to your device, install magisk on the phone and use the patcher function on the boot.img. Then copy the newly generated patched .img to your PC and flash it / or boot it with "fastboot flash new-boot.img" or "fastboot boot new-boot.img".

Once you reboot back into the system open a CMD-prompt on your PC, open an adb-shell as root and backup your partitions to your internal memory.

adb shell
su

dd if=/dev/block/sdd11 of=/sdcard/abl_a.img
dd if=/dev/block/sdf11 of=/sdcard/abl_b.img
dd if=/dev/block/sdd3 of=/sdcard/aop_a.img
dd if=/dev/block/sdf3 of=/sdcard/aop_b.img
dd if=/dev/block/sdd4 of=/sdcard/aop_config_a.img
dd if=/dev/block/sdf4 of=/sdcard/aop_config_b.img
dd if=/dev/block/sdb4 of=/sdcard/apdp.img
dd if=/dev/block/sdc4 of=/sdcard/apdpb.img
dd if=/dev/block/sdd20 of=/sdcard/bluetooth_a.img
dd if=/dev/block/sdf20 of=/sdcard/bluetooth_b.img
dd if=/dev/block/sdd23 of=/sdcard/boot_a.img
dd if=/dev/block/sdf23 of=/sdcard/boot_b.img
dd if=/dev/block/sde11 of=/sdcard/carrier.img
dd if=/dev/block/sde8 of=/sdcard/cid.img
dd if=/dev/block/sde22 of=/sdcard/connsec.img
dd if=/dev/block/sdd12 of=/sdcard/cpucp_a.img
dd if=/dev/block/sdf12 of=/sdcard/cpucp_b.img
dd if=/dev/block/sda2 of=/sdcard/ddr.img
dd if=/dev/block/sdd8 of=/sdcard/devcfg_a.img
dd if=/dev/block/sdf8 of=/sdcard/devcfg_b.img
dd if=/dev/block/sde17 of=/sdcard/devinfo.img
dd if=/dev/block/sdd21 of=/sdcard/dsp_a.img
dd if=/dev/block/sdf21 of=/sdcard/dsp_b.img
dd if=/dev/block/sdd26 of=/sdcard/dtbo_a.img
dd if=/dev/block/sdf26 of=/sdcard/dtbo_b.img
dd if=/dev/block/sde5 of=/sdcard/frp.img
dd if=/dev/block/sde14 of=/sdcard/fsc.img
dd if=/dev/block/sdd18 of=/sdcard/fsg_a.img
dd if=/dev/block/sdf18 of=/sdcard/fsg_b.img
dd if=/dev/block/sda1 of=/sdcard/hw.img
dd if=/dev/block/sdd6 of=/sdcard/hyp_a.img
dd if=/dev/block/sdf6 of=/sdcard/hyp_b.img
dd if=/dev/block/sdd9 of=/sdcard/keymaster_a.img
dd if=/dev/block/sdf9 of=/sdcard/keymaster_b.img
dd if=/dev/block/sde10 of=/sdcard/kpan.img
dd if=/dev/block/sde19 of=/sdcard/limits.img
dd if=/dev/block/sde20 of=/sdcard/limits-cdsp.img
dd if=/dev/block/sde15 of=/sdcard/logfs.img
dd if=/dev/block/sdd22 of=/sdcard/logo_a.img
dd if=/dev/block/sdf22 of=/sdcard/logo_b.img
dd if=/dev/block/sde9 of=/sdcard/metadata.img
dd if=/dev/block/sde4 of=/sdcard/misc.img
dd if=/dev/block/sdd19 of=/sdcard/modem_a.img
dd if=/dev/block/sdf19 of=/sdcard/modem_b.img
dd if=/dev/block/sde12 of=/sdcard/modemst1.img
dd if=/dev/block/sde13 of=/sdcard/modemst2.img
dd if=/dev/block/sde18 of=/sdcard/pad3.img
dd if=/dev/block/sde29 of=/sdcard/pad4.img
dd if=/dev/block/sde2 of=/sdcard/persist.img
dd if=/dev/block/sde3 of=/sdcard/prodpersist.img
dd if=/dev/block/sdd10 of=/sdcard/prov_a.img
dd if=/dev/block/sdf10 of=/sdcard/prov_b.img
dd if=/dev/block/sde16 of=/sdcard/qmcs.img
dd if=/dev/block/sdd13 of=/sdcard/qupfw_a.img
dd if=/dev/block/sdf13 of=/sdcard/qupfw_b.img
dd if=/dev/block/sde32 of=/sdcard/ramdump.img
dd if=/dev/block/sdd24 of=/sdcard/recovery_a.img
dd if=/dev/block/sdf24 of=/sdcard/recovery_b.img
dd if=/dev/block/sde24 of=/sdcard/rtice.img
dd if=/dev/block/sda of=/sdcard/sda.img
dd if=/dev/block/sdb of=/sdcard/sdb.img
dd if=/dev/block/sdc of=/sdcard/sdc.img
dd if=/dev/block/sdd of=/sdcard/sdd.img
dd if=/dev/block/sdf of=/sdcard/sdf.img
dd if=/dev/block/sde25 of=/sdcard/secdata.img
dd if=/dev/block/sde26 of=/sdcard/secdataBackup.img
dd if=/dev/block/sdb3 of=/sdcard/shrm_a.img
dd if=/dev/block/sdc3 of=/sdcard/shrm_b.img
dd if=/dev/block/sdd15 of=/sdcard/spss_a.img
dd if=/dev/block/sdf15 of=/sdcard/spss_b.img
dd if=/dev/block/sde27 of=/sdcard/spunvm.img
dd if=/dev/block/sde1 of=/sdcard/ssd.img
dd if=/dev/block/sdd7 of=/sdcard/storsec_a.img
dd if=/dev/block/sdf7 of=/sdcard/storsec_b.img
dd if=/dev/block/sde30 of=/sdcard/super.img
dd if=/dev/block/sdd5 of=/sdcard/tz_a.img
dd if=/dev/block/sdf5 of=/sdcard/tz_b.img
dd if=/dev/block/sde23 of=/sdcard/tzsc.img
dd if=/dev/block/sdd1 of=/sdcard/uefi_a.img
dd if=/dev/block/sdf1 of=/sdcard/uefi_b.img
dd if=/dev/block/sdd14 of=/sdcard/uefisecapp_a.img
dd if=/dev/block/sdf14 of=/sdcard/uefisecapp_b.img
dd if=/dev/block/sde21 of=/sdcard/uefivarstore.img
dd if=/dev/block/sde6 of=/sdcard/utags.img
dd if=/dev/block/sde7 of=/sdcard/utagsBackup.img
dd if=/dev/block/sdd16 of=/sdcard/vbmeta_a.img
dd if=/dev/block/sdf16 of=/sdcard/vbmeta_b.img
dd if=/dev/block/sdd17 of=/sdcard/vbmeta_system_a.img
dd if=/dev/block/sdf17 of=/sdcard/vbmeta_system_b.img
dd if=/dev/block/sdd25 of=/sdcard/vendor_boot_a.img
dd if=/dev/block/sdf25 of=/sdcard/vendor_boot_b.img
dd if=/dev/block/sdb1 of=/sdcard/xbl_a.img
dd if=/dev/block/sdc1 of=/sdcard/xbl_b.img
dd if=/dev/block/sdb2 of=/sdcard/xbl_config_a.img
dd if=/dev/block/sdc2 of=/sdcard/xbl_config_b.img
dd if=/dev/block/sdd2 of=/sdcard/xbl_ramdump_a.img
dd if=/dev/block/sdf2 of=/sdcard/xbl_ramdump_b.img
dd if=/dev/block/sde28 of=/sdcard/xbl_sc_logs.img

You can find all img files in your internal memory afterwards. Copy them to your PC and keep them somewhere safe. These contain IMEI, modem etc. so dont share them.

3. Flash the global firmware

Download a copy of the global firmware. Extract the firmware and open the included flashfile.xml. Copy and paste the contents into the formular on this website to get all necessary fastboot commands.

Boot your phone into fastboot and open a cmd window in the folder of the global firmware. Copy the commands from the website UP TO and including "fastboot oem config unset cmdl" and paste them into your cmd prompt.

4. Change your software channel

Use the command "fastboot oem config carrier reteu" to set your update channel to reteu (Which is EU). This will enable OTA updates.

5. First Boot

Use "fastboot reboot" to boot into the system. The welcome screen now looks different and you can select more languages. Go through the initial setup, if you skip the google sign in you might not get a black screen.

IF you get a black screen at any point (with a non working back button) reboot your phone into fastboot (power button + VOL down).
Use the following commands to delete all data and reboot the device. You will now be able to go through the setup.

1
2
3
4
5
6
7
8
fastboot erase apdp
fastboot erase apdpb
fastboot erase debug_token
fastboot erase carrier
fastboot erase userdata
fastboot erase metadata
fastboot erase ddr
fastboot reboot
Edit
Pub: 16 Oct 2022 23:18 UTC
Edit: 04 Apr 2023 13:50 UTC
Views: 660