This is an old revision of the document!
Table of Contents
Full Custom ROM install with TWRP
Overview
The OnePlus 6T uses the newer AB partition scheme. As such there is no recovery partition. Instead, the recovery is part of the boot image. We will install the latest stock OnePlus OxygenOS on both slots before installing custom ROM (LineageOS). You will temporarily boot TWRP to perform and later perform a more permanent TWRP installation.
Basic requirements
- Ensure that the device is on the latest Android 10 firmware.
- Ensure that the device has at least 60% battery remaining.
- Make sure your computer has adb and fastboot. Setup instructions can be found here.
- Make sure that bootloader is unlocked
- In case there is encrypted data on the phone that should remain available after the installation: 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.
Preparations
- Enable Developer options: Settings > System > About. Tap repeatedly on “build number”
- Go back to System, then go to developer options.
- Enable USB debugging
- Enable bootloader OEM unlocking, if present. Make sure that from now on, OEM unlocking option is enabled before you reboot. Sometimes, it might get disabled itself.
- Enable advanced reboot options.
- Connect the device to your PC via USB.
- Download all the files and put them on your PC:
- TWRP installer zip
- TWRP img
- stock-oos-10.zip
- Lineage full image (los-10.zip)
- Magisk installer zip
Installation latest OxygenOS on first Slot
- Boot into fastboot bootloader mode. Open a terminal window, and type:
adb reboot bootloader
You can also achieve this via a key combination: Enter-fastboot-recovery.
- Temporarily boot into TWRP:
fastboot boot twrp-img-name.img
(don’t forget sudo if required). 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)
- Transfer the TWRP installer to the phone, by executing:
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
- Transfer the original OxygenOS ROM image to the phone, by executing:
adb push stock-oos-10.zip /storage/
- Again transfer the TWRP installer to the phone, by executing:
adb push twrp-installer.zip /storage/
- Go to TWRP home, then install, click on “up a level”, go to “storage”, select “stock-oos-10.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.
Installation latest OxygenOS on second Slot
- 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)
- Again transfer the original OxygenOS ROM image to the phone, by executing:
adb push stock-oos-10.zip /storage/
- Again transfer the TWRP installer to the phone, by executing:
adb push twrp-installer.zip /storage/
- Go to TWRP home, then install, click on “up a level”, go to “storage”, select “stock-oos-10.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
- At this point, we have flashed a stock OxygenOS ROM based on Android 10, as well as TWRP, on both slots.
- Go to TWRP home, select reboot. You should be on slot B (for this tutorial’s sake).
Install LineageOS on first slot (with TWRP)
- Reboot to recovery, and check again: you should now be on slot A.
- Go to Wipe and swipe to do a factory reset one more time
- Execute
adb push los-10.zip /storage/
- In TWRP, select install, click on “up a level”, go to storage, select “los-10.zip” and swipe to install.
- Go to reboot, select “recovery”.
- You should have rebooted into LineageOS own recovery (TWRP is overwritten). If you rebooted into TWRP, go to reboot again, and select “recovery”.
Install LineageOS on second slot (with LineageOS 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, execute adb kill-server to kill adb deamon on your computer, and then execute sudo adb devices. Deamon will start with sudo 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 badvancede 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 los-10.zip
- At the end, you should be able to press “reboot system”, and this should get you to your fresh LineageOS 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)
- PS: DO NOT BOOT IN OS JUST YET & CONTINUE TO THE ROOTING POST
