PSA: Don’t unlock the bootloader of the T-Mobile OnePlus 7T Pro McLaren Edition if you care about OxygenOS updates
The OnePlus 7T Pro McLaren Edition is the culmination of OnePlus’s smartphone efforts for 2019. An ultra-smooth 90Hz display and a Snapdragon 855 Plus for its guts are just some of the features included in OnePlus’s newest premium device with McLaren’s branding, design, and backing. It also looks stunning inside and out. And OnePlus devices have been extremely popular for development in our forums, something that is also the case for the 7/7T series. Except for the fact that if you got your OnePlus 7T Pro McLaren Edition device through T-Mobile and you’re planning to unlock its bootloader and root it, you may not want to do so unless you don’t mind missing out on OxygenOS updates completely.
If you’ve modified a OnePlus device before, you’d know that it’s only possible to update them using full system OTA zips when you unlock the bootloader, whereas you have the option of using smaller, incremental ZIPs when it’s locked. For a quick primer of why does this happen, it’s basically because incremental OTA ZIPs require all read-only partitions, such as /system, /vendor, /boot and /product, to be completely unmodified—something that can’t be guaranteed anymore when the bootloader is unlocked, since bootloader unlocking allows for rooting (ie. modifying the boot image).
Within the /data partition is an img file called reserve.img. It contains a few OxygenOS apps that aren’t necessary for the device to boot, but it is mounted at /system/reserve at boot. Since unlocking the bootloader wipes the /data partition completely clean, the reserve.img file, which is stored in that partition, goes with it as well. Since this file no longer exists, the phone can’t mount it in the /system partition, so it technically becomes tampered. And if it’s tampered, then the phone can’t take incremental updates. Normally, the OxygenOS updater app can get around this by itself: it detects if your phone is unlocked/rooted and downloads full firmware ZIPs, which can be flashed regardless of whether it’s unlocked/rooted or not since it overrides all read-only partitions anyway.
So what’s the problem here? The T-Mobile OnePlus 7T Pro McLaren Edition, unlike most other OnePlus devices, does not have full firmware ZIPs available from OnePlus’s website. So with an unlocked bootloader barring you from taking incremental updates and no full ZIPs to take, you will be stuck on whatever OxygenOS build your phone is running if you decide to pull ahead and unlock your bootloader. The regular OnePlus 7T Pro does have full ZIPs available for downloading, but you can’t take those on this device since it’s carrier-branded and it’s T-Mobile – not OnePlus – who is responsible for the device’s OxygenOS firmware.
Now, if you don’t care about OxygenOS and only intend to flash GSIs or other AOSP-based custom ROMs, then this issue won’t stop you in any way. However, if you ever need to fully restore your device to stock, you’re currently out of luck. Thus, we really hope T-Mobile and OnePlus are able to provide full ZIPs or another form of recovery for this device soon.
Update: This article was updated to correct information about reserve.img and the fact that this issue doesn’t affect the ability to flash custom ROMs.