[OnePlus 6 ROMs, Kernels, Recoveries, & Other Devel] Terminator.J:
​

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 many of the best features in existence today.

Features

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

Spoiler content hidden.

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 Android 10 OxygenOS OTA installer zip (10.3.12), crDroid zip, matching crDroid boot.img, official TWRP 3.5.2_9-0 installer zip and bootable 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 (if already on crDroid):

- Reboot to bootloader (with no USB cable connected).

- Open a terminal on your computer, and run `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 into the built-in TWRP recovery. The device's internal storage should now be available for read/write on the computer via MTP.

- Copy the official OxygenOS 10.3.12 full OTA zip & latest crDroid zip into the device's internal storage, then choose "Install", select the current crDroid zip, choose "Add more zips", and crDroid installer zip, then swipe to confirm flash. No TWRP zip required, since it's built in to the boot.img that gets installed.

- Reboot recovery, then choose "Install", and select the OOS zip, then select "Add more zips" and choose the crDroid zip, and swipe to confirm flash again.

- Reboot recovery, and re-flash magisk/gapps if needed.

- Wipe dalvik.

- Reboot system.

First time installing crDroid to your OP6, coming from stock OxygenOS or another ROM (will also update firmware while we're at it):

- Reboot to bootloader, then `fastboot boot path/to/twrp.img` to start up into TWRP recovery.

- Mount System partition read-write, use file manager to delete the /system/addons.d/ directory if it exists, unmount System.

- Choose Wipe > Format data, type "yes" and hit enter to nuke everything in the data partition and clear encryption.

- Choose Advanced > ADB sideload (don't worry about selecting cache/dalvik wipe options yet) and then on the computer, do `adb sideload path/to/OxygenOSOTA.zip` to flash the OxygenOS 10.3.12 full OTA installation zip & make sure you're on the latest Android 10 firmware.

- Go get a drink, this'll be a bit.

- When that's done, hit "back" in TWRP and start ADB sideload again, and this time send the crDroid installation zip (includes TWRP built-in, so don't need separate zip for that at this point).

- Reboot to recovery (this will switch the active slot to use the system partition you just installed those zip files into).

- Wipe data (Wipe > "Slide to factory reset" in TWRP).

- That was so much fun, let's do it again! ADB sideload OxygenOS full OTA zip.

- ADB sideload crDroid zip.

- Reboot to recovery (switches slots again, now we have latest OxygenOS firmware plus crDroid populated in both sets of partitions and won't have to do that again).

- Flash Magisk (if desired).

- Flash GApps or microG package (if desired).

- Wipe dalvik.

- If you copied anything to internal storage instead of flashing it via ADB sideload, delete it now before first boot.

- Reboot system.

- Go through setup wizard.

- Reboot system (for reasons I don't comprehend, it never shows "OnePlus Settings" in the Settings app top level menu on a fresh install until after rebooting once).

- It's gonna harass you to finish setup, go ahead and customize everything to your heart's content.

Updating crDroid from TWRP (preferred):

You don't need to remove device protection; it works fine with PIN. Be sure you have a PIN set, or have looked up whatever that arcane chart of pattern > numeric incantations in case of pattern unlock. It's awful.

- Boot into TWRP recovery.

- Choose install, then select OOS firmware OTA (if needed), then choose select additional zips, then select crDroid.zip, slide to confirm flash.

- Reboot recovery.

- Choose install, then select Magisk zip (if using), select additional zips, choose GApps/microG (if using), slide to confirm flash.

- Please keep off of the grass, shine your shoes, wipe your... dalvik.

- Reboot system.

Updating crDroid from Updater app:

Warning: I don't remember if crDroid 6 even *has* the built-in Updater app function or not, or how well it handles addon.d survival scripts. Use with caution.

- Install update in built-in Updater app (Settings > System > Updater), do NOT reboot yet.

- Go to Magisk app home, click "Install" next to Magisk, and choose the "Install to Inactive Slot (After OTA)" method.

- For GApps/microG: If you use GApps/microG that needs to be re-flashed to /system (as opposed to magisk module GApps/microG), reboot *recovery* at this point, mount the system partition in TWRP, and dig around with the File Manager in system/priv-app/ & system/product/priv-app/ to make sure that everything you expect was copied over to the now-currently-active slot, and if need be re-flash your installer zip, or else your world will be pain when you boot normally. Yes, I expect you to know what your preferred package installs & to keep the zip handy.

- NOW you can reboot to system.

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. Syslog (free, open source, available on Play store and F-droid) is your friend.

- 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.

Donate - Support development!

crDroid Website - Download here!

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

Source Code:

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

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

- OnePlus Common device tree: https://github.com/Terminator-J/crdroid_device_oneplus_common/tree/10.0-test

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