Goal
Flashing /e/ OS on an A/B partitioned OnePlus 6T with Android 10.
This tutorial should work with any A/B partitioned device, but you will need to adapt it.
Be careful if your OnePlus 6T is a T-Mobile locked variant! You should adapt image download, because global and T-Mobile variants are not compatible.
Disclaimer
During this tutorial, we will try to flash /e/ OS on a OnePlus 6T, which is an A/B partitioned device. But what exactly is an A/B partitioned device? Many people explained that way better than I could. Please refer to the link at the end of this how-to to learn more. But basically, it’s a device with two separated partitioned systems, allowing seamless updates, reducing risks to brick your device with breaking changes.
Trying to mess with A/B partioning is somewhat dangerous. I won’t take any responsibility if the process fails. Do this at your own risk.
I’m not sure that my tutorial will work for everyone. I’m not sure it’s the safest and fastest way to have /e/ OS installed on your OnePlus 6T. But it worked for me, so I’m sharing my experience with you, hoping it can help more people to swap from a stock OxygenOS to /e/ OS.
Thanks
Please let me begin by giving huge thanks to @Lance, @martoni and @marchottinger for their threads. This one is more or less my experience about following their steps.
Also, thanks to XDA Developers threads, LineageOS guide and OnePlus forums threads for their help. Useful links are at the end of this post.
Pre-requisites
- a computer with adb and fastboot installed (you can get them from official Google developer site)
- a /e/ OS ROM ZIP (refered to as “e-os-9.zip” during this how-to)
- a stock OxygenOS Pie ROM (refered to as “stock-oos-9.zip” during this how-to)
- a TWRP image - It must be corresponding to your actual Android version (refered to as “twrp-Q.img” during this how-to)
- the TWRP installer - corresponding to your TWRP image version (refered to as “twrp-installer.zip” during this how-to)
- a lot of time (this is a 42 steps guide… This will be a long and tedious process)
Guide
- Backup your data on an external device. This process will erase everything. One last time. Backup. Your. Data. Unless you don’t have anything to keep. Then, let’s go.
- First: if you use anything else than a PIN code to unlock your phone, change it now. Last TWRP image for Android 10 asks for a data decryption password. It will be easier if it’s a PIN code. Go to Settings > System > Security and change your screen locking choice by a PIN code.
- Enable USB debugging. Go to Settings > System > About. Tap repeatedly on “build number” until your device grants you developer access. Go back to System, then go to developer options. Enable USB debugging, as well as bootloader OEM unlocking and advanced reboot options.
-
Reboot to fastboot mode (with buttons or advanced reboot options, or by executing
adb reboot bootloader
with your device connected to your computer) - Once your device has booted in fastboot mode, connect it to your computer with a USB cable if it wasn’t
- On your computer, open a command line, and execute
fastboot devices
. Your device should be listed. Otherwise, try again withsudo
. If it works, don’t forget to add sudo to every followingfastboot
command. - Execute
fastboot oem unlock
. Ensure that your device is actually unlocked by executingfastboot oem device-info
. It will tell you something like “device unlocked: true”. Please note it will ask you to erase all of your data, and that you must accept to continue. - Reboot your phone
- Go to every classic first boot steps to initialize it until you reach the home page (don’t forget to setup a PIN code as your screen lock system)
- Go to Settings > System > About. Tap repeatedly on “build number” until your device grants you developer access. Go back to System, then go to developer options. Enable USB debugging and advanced reboot options.
- (Hopefully) say goodbye to your stock OS ROM, as this should be the last time you see it. Reboot to bootloader, and prepare for some fun.
- Once in bootloader, execute
fastboot boot twrp-Q.img
(don’t forgersudo
if required). It will temporarily load the TWRP on your phone. - Wait for TWRP to start. Decrypt your data thanks to your PIN code. Swipe to allow system modifications.
- On your computer, execute
adb devices
(it should list your device) -
Execute
adb push twrp-installer.zip /storage/
- In TWRP, go to Wipe, don’t check any of the advanced wipe options, and swipe to do a factory reset
- Go to TWRP home, then install. Click on “Up a level” to go to your device drive root. Select “twrp-installer.zip” and swipe to execute.
- Go to TWRP home, then “Reboot”. Select reboot to recovery.
- You should now be in the durably installed TWRP. It won’t ask for your PIN code this time, and this will result to weird named folders in the “install” section if you go in it.
- Go to Wipe and execute a factory reset
- On your computer, execute
adb push stock-oos-9.zip /storage/
- Then, execute
adb push twrp-installer.zip /storage/
- Go to TWRP home, then install, click on “up a level”, go to “storage”, select “stock-oos-9.zip” and swipe to install
- Go back to TWRP home, then install, click on “up a level”, select “twrp-installer.zip” and swipe to install
- Go back to TWRP home, then go to reboot, and here comes the tricky part: note (and please don’t forget) the selected slot. Let’s say it’s A for this tutorial. If it’s B for you, just invert it at each step you see it from now.
- Reboot to recovery.
- Go to reboot. In this tutorial, we should be on slot B. If you were on slot B earlier, you should be on slot A now. If you aren’t on the wanted slot, click on it and reboot to recovery again and check that it actually changed.
- Go to TWRP home, then wipe, and swipe to do a factory reset like earlier
- Go to install (everything should have weird names)
- On your computer, execute again
adb push stock-oos-9.zip /storage/
andadb push twrp-installer.zip /storage/
- In TWRP, click on “up a level”, then “storage” and select “stock-oos-9.zip”. Swipe to install. When finished, select “twrp-installer.zip” and swipe to install.
- At this point, we have flashed a stock OxygenOS ROM based on Android 9, as well as TWRP, on both slots. Go to TWRP home, select reboot. You should be on slot B (for this tutorial’s sake). Reboot to recovery, and check again: you should be on slot A.
- Go to Wipe and swipe to do a factory reset one more time
-
Execute
adb push e-os-9.zip /storage/
- In TWRP, select install, click on “up a level”, go to storage, select “e-os-9.zip” and swipe to install.
- Go to reboot, select “recovery”. You should have rebooted into LineageOS recovery (which is the ROM of top of what is built /e/ OS). If you rebooted into TWRP, go to reboot again, and select “recovery”.
- In LineageOS recovery, select factory reset, then format data / factory reset and do the formatting process. This will remove encryption entirely and delete all your data one more time, as well as format your cache partition.
- Go to advanced, select sideload
- On your computer, execute
adb sideload twrp-installer.zip
. If you have a permission issue, executeadb kill-server
to kill adb deamon on your computer, and then executesudo adb devices
. Deamon will start withsudo
permission, and should list your device, showing that it is waiting for sideload. So re-execute the command. - Select reboot to recovery
- You should now be in TWRP again and you shouldn’t have any data in “install”. Go into “advanced”, select adb sideload and swipe to begin sideloading
- On your computer, execute (with
sudo
if required)adb sideload e-os-9.zip
. At the end, you should be able to press “reboot system”, and this should get you to your fresh /e/ OS install! (note that we didn’t install TWRP after that, so we won’t have it on the device. You should be able to flash it also, if you want)
Big oof.
Troubleshooting
- I followed the official /e/ doc about how to install /e/ OS on my OnePlus 6T under Android 10 twice. It bricked my phone twice.
- I had a hard time installing /e/ OS on my OnePlus 6T. If you go into a bootloader loop, that’s a bad sign, sadly. I wrote this how-to to get out of it.
- I also got into a recovery loop once. Re-doing the “flash stock OxygenOS ROM + TWRP installer” steps on both slots, then following the next steps helped me.
Helpful links
- [GUIDE] The Noob’s Guide to A/B Partitions and Other OP6 Idiosyncrasies
- /e/ ROM latest dev build downloads
- [OnePlus 6T (Global)][ROM][OTA][Oxygen OS] Repo of Oxygen OS Builds
- [RECOVERY][3.3.1-32][fajita]Official/Unofficial TWRP recovery for OnePlus 6T (Stable)
- Install LineageOS on fajita
Do not hesitate to answer this thread if you want some help. I’m not sure I’ll be able to help you, but I’ll surely try!
Thanks,
Fluf