[OnePlus 6 ROMs, Kernels, Recoveries, & Other Devel] Terminator.J:
NOTICE: crDroid 7.x (Android 11) is now End-Of-Life'd. Google is not releasing any more ASB updates for Android 11, and the LineageOS & crDroid teams are done with it.

crDroid 7.39 is the final Android 11 release of this ROM.

Please consider updating to crDroid 10.x (Android 14) or newer:

crDroid 10.x XDA thread - OP 6/6T

crDroid is built on top of LineageOS, and is designed to increase performance and reliability over stock Android for your device, while also attempting to bring you many of the best features in existence today.

Features

A quick glossary and primer on flashing & slots for A/B devices (like ours):

Spoiler content hidden.

Notes on custom recoveries with OxygenOS 11 firmware:

Spoiler content hidden.

- TL;DR: I prefer TWRP too but current official releases are kinda broken and it's a chore to get the old version installed correctly, so built-in LineageOS-based recovery and Updater app are the supported way to install & update moving forward.

Prerequisites:

- Make sure your bootloader is unlocked (and don't plan on relocking it ffs).

- Make sure you have a reasonably-current, working installation of android platform tools (adb & fastboot command line binaries & necessary drivers) on your computer, with a known-good USB cable (see links in post #2).

- Make sure you've downloaded the most recent full OxygenOS OTA installer zip (11.1.2.2), crDroid zip, matching crDroid boot.img, and whatever Magisk/GApps/microG installation packages you want to use to your computer (see links in post #2).

- Make sure you've backed up whatever data you want to keep to somewhere that's not on your phone; for a new install, we're going to format the data partition and you're going to lose everything from internal storage.

Let's get started!

Updating firmware:

- Reboot to bootloader (no USB cable connected).

- If you're not already using the stock (LineageOS-based) recovery, you'll need to `fastboot flash boot path/to/boot.img`, substituting in the path & filename for the current crDroid boot.img that you downloaded as part of the prerequisites.

- Reboot to bootloader again (actually loads new bootloader that you just flashed).

- Use Vol +/- buttons to select "Recovery mode" and press Pwr button to boot stock recovery.

- Tap "Advanced", then tap "Enter fastboot" (the already-selected first option).

- Follow the instructions for extracting the partition images from the official OxygenOS Updater full OTA zip you already downloaded using the "payload-dumper-go" utility, and flashing them one at a time, from https://wiki.lineageos.org/devices/enchilada/fw_update, except for the very last command ("fastboot reboot").

- Since those instructions were updated for Android 12, and this is still Android 11-based & depends on using the OxygenOS prebuilt vendor partition contents, you'll also need to run fastboot flash --slot=all vendor vendor.img at the end of the list of commands in the linked LineageOS Wiki article above.

- If you're only updating firmware and were already on crDroid, you can just "fastboot reboot" which will go back to system. If this is part of coming to crDroid from another ROM, continue with the instructions below.

First time installing crDroid to your OP6, coming from stock OxygenOS 11.x or another ROM (stock LOS-based recovery):

- Update to OxygenOS 11.1.2.2 firmware as described above if you haven't already.

- At the end of that procedure, (re)flash the crDroid boot.img to the `boot` partition of both slots, then reboot to recovery.

- Once you're rebooted into stock recovery, ADB sideload the crDroid installation zip. It might prompt you with "Install anyway?" on the phone, so don't just walk away from it.

- After the adb sideload has finished and the purple menu at the top comes back, hit the back arrow, then choose "Wipe data" (which WILL format internal storage -- you backed up as noted above, right?).

- Reboot to recovery (causes it to switch slots so any further installations will be on top of the slot that it just installed crDroid into).

- ADB sideload Magisk and/or any GApps packages you want to use. Please note that any time you install something via ADB sideloading, that the install file is technically renamed "sideload.zip" in transit by the ADB protocol, which might cause problems with installers that try to get too clever for their own good and alter behavior based on renaming the installation zip (like MinMicroG), so you might have to get even MORE clever with changing up installation order (like flash MinMicroG/GApps before Magisk so it won't install as a module. I dunno, talk to the package installer authors to get them to just build multiple packages or talk to the LineageOS devs to allow you to decrypt internal storage, copy stuff to internal storage via MTP, and install stuff from internal storage like a proper custom recovery (or at least maybe `adb push` to an unencrypted temp dir in the data partition).

- Reboot system.

- ???

- Profit!

OTA updating from Updater app with OOS 11.x firmware (recommended):

- This is the preferred way now. You just go to Settings > System > Updater, and... install an update. It processes addon.d OTA survival scripts correctly (tested with Magisk, MinMicroG, MindTheGapps, and NikGapps).

- Please note that there's currently an accidental depencency on Magisk being installed for this to work. I don't know if this will get fixed; that's definitely above my pay grade. This appears to have been fixed; huzzah!

- If you're trying to do a "Local Install" of the downloaded zip, please note you NEED to download on a computer & transfer to internal storage via USB cable; downloading files from an app on the phone associates it with a particular app thanks to Android 11+ Scoped Storage/SAF bull**** and will cause the file to be unreadable to the updater app process.

-- Old TWRP-based instructions below the fold (not recommended, but keeping for historical value... probably not accurate but I'm not going to update them more) --

Spoiler content hidden.

Reporting bugs:

I'm a parent of three young kids whose industry disappeared in the pandemic and is now full-time house husband & parent-in-charge while my wife is teaching full-time, I'm trying to save my small live-event-turned-streaming-studio company in my spare time. I'm doing in-home caregiving for a family member overnight one day a week. This is the back-up spare-spare-time hobby. I'm not a software developer nor do I know any programming languages, I just wanted a ROM with signature spoofing support and more customization than the unofficial microg-compatible LineageOS builds. So if there are bugs or feature requests, I go over to the crDroid dev chat and ask if someone has time to hold my hand & help. Don't make me get yelled for annoying them, mmkay? That said...

- Logs/screenshots/recordings or it didn't happen. Either the built-in Matlog app, or Syslog (free, open source, available on Play store and F-droid) are your friends here.

- I try to keep an organized notebook of roadmap, feature reqeusts, bug reports, etc. I won't always be able to fix it, but I'll at least look and do my best to ask the actual devs.

- I don't sign into XDA much, so if I haven't said anything, check out the Telegram group. Lots of helpful folks there.

- Please keep your questions in this thread instead of PMing me with them directly, so that the entire class can benefit from the discussion and you can find out if it's just you or if this is a widespread issue.

It's your device to use the way you want of course, and I use Magisk & microG and like to tweak things myself. But don't expect much support if you:

- didn't do a clean flash.

- aren't using the built-in kernel.

- are using extensive modifications (besides Magisk) like Xposed/Riru, Dolby Atmos, Viper4A, etc.

- immediately start using "finalize.zip" or flashing migrate restore zips instead of following the actual instructions.

- are running decrypted.

- re-locked your bootloader for some reason... you're on a custom ROM; don't do that.

crDroid Website - Download here!

Donate - Support development!

Telegram Oneplus6/6t group - Share your best cat pictures!

Source Code:

- Device tree: https://github.com/crdroidandroid/android_device_oneplus_enchilada/tree/11.0

- OP6/6T Common device tree: https://github.com/crdroidandroid/android_device_oneplus_sdm845-common/tree/11.0

- hardware/oneplus/ HALs: https://github.com/crdroidandroid/android_hardware_oneplus/tree/11.0-op6

- Kernel: https://github.com/crdroidandroid/android_kernel_oneplus_sdm845/tree/11.0