[RECOVERY] [TREBLE] [RETIRED] TWRP with Tissot Manager (Treble & Dual boot support) - Xiaomi Mi A1 ROMs, Kernels, Recoveries, & Other De

RETIRED! No longer supported or being developed. @Giovix92 is now the lead dev, please use his TWRP for full compatibility with modern kernels/ROM's - https://forum.xda-developers.com/mi-a1/development/recovery-twrp-3-3-1-0-tissot-manager-t3976117
Old thread below:
-----------------------------------
About
This is a TWRP Installer ZIP and bootable IMG with extra capability such as Treble-izing, Dual boot repartitioning and other power-user tools with integrated Aroma Installer-powered GUI screens that I call Tissot Manager.
HIGHLY recommended reading and guide for everyone new to Treble - [TREBLE][GUIDE] From Stock to Treble - everything you need to know!. It also has some general protips hidden within there, for example the seamless/slot system interactions and nuances, so it's worth reading for anyone who wants to be a master of the Android flashing domain
Features:
TWRP fully Treble-ready with dual-boot ROM patcher;
Maintained with latest TWRP version;
Fully compatible with non-Treble devices - can be used as normal without Treble partitioning;
USB-OTG fixed
Has 'TWRP survival' function for automatically re-installing TWRP recovery when installing ROMs and kernels;
Option to install a payload ROM in the current slot, rather than the inactive one;
Option to ignore Payload<>Recovery certificate failures (fix for newer LOS-based ROMs);
Adds a "Tissot Manager" Aroma GUI to TWRP Advanced Menu (bottom-right button), which is the tool used to repartition the device for Treble and Dual boot, as well as some other nifty stuff:
Has the option to shrink System OR Userdata to create Vendor partitions. All relevant partitions will be resized and formatted in one go.
If you shrink System, you will keep max size Userdata - however it will be incompatible with non-Treble ROM's (they will crash on installing with Error 28 due to System being too small). It will Erase system, requiring you to reinstall a ROM or restore a ROM backup.
If you shrink Userdata, it will ERASE DATA AND INTERNAL STORAGE COMPLETELY - but your device will stay compatible with all existing non-Treble ROM's
Dual boot requires Userdata shrink and works by splitting into userdata_a and userdata_b. The partition split size is customizable during the repartition process.
Adds a "Patches" section with the following current options:
Patch the current Vendor for dual-boot capability (only required if automatic patching wasn't possible). See the 'About Dual-boot' section below for more information.
Enable an insecure ADBD on boot for the current slot (i.e. enable debugging and remove authentication requirement). Useful for ROM hackers/porters.
Patch the current slot to enable/disable forced userdata encryption
All of this info is detailed inside the Tissot Manager GUI.
See screenshots in post 2.
Instructions
Optionally boot the boot-recovery.img to get a temporary TWRP if you don't have it installed, unzipped from TWRP-boot.img-3.2.1-with-Tissot-Manager-x.x.zip:
Code:
fastboot boot boot-recovery.img
Warning - do not EVER flash this img - hotboot it only.
Flash the TWRP Installer. Any slot, any ROM, any existing Recovery - it doesn't matter - it will be installed to both slot kernels.
Reboot Recovery
Optional - Use the "Advanced > Tissot Manager" option for repartition options and other advanced ROM patches (Aroma Installer powered GUI - a fully guided and interactive process).
If you opted to repartition for Treble, you are ready to flash a Treble ROM/Vendor pack. Reminder - check out my full guide for learning and instructions on all things Treble.
About TWRP survival
TWRP survival is a simple hook that detects if a boot.img will be installed and restores TWRP after it's flashed. This only works if you have booted TWRP with Tissot Manager 2.0 from a real recovery boot - NOT from a recovery 'hot boot' (fastboot boot method).
You will see in the install log if a TWRP survival attempt is successful in the flash text output.
Automatic TWRP survival works when:
Flashing a ROM ZIP (or AIO) with TWRP
Flashing a boot.img in TWRP "Install Image" mode
Automatic TWRP survival does NOT work when:
Flashing a boot.img via fastboot
Restoring boot in a TWRP backup
Any other way of flashing a boot.img
In these cases, be sure the use the TWRP Installer immediately after flashing or restoring a backup - otherwise you may get the device into a confused state (especially if you restore a non-TWRP boot then try to install an AIO ROM without installing a new TWRP first).
About Dual-boot
Dual-boot on this device is relatively simple. As you know we have Slots - boot_a and _b, system_a and _b and vendor_a and _b (for Treble). This repartition splits userdata into userdata_a and _b too. You can simply change your Slot in TWRP reboot menu to change which ROM to boot.
This is designed for developers and testers - NOT for daily use. There are some significant issues with dual boot systems:
Any kind of security lock (PIN, fingerprint, etc.) set on one ROM will cause the other ROM to believe it has security too, but constantly fail with unlocking. This is reportedly because security info is stored on persist, which is shared between each slot (and not compatible with differing ROM's).
Because Userdata is split, so is Internal Storage. In TWRP, when changing slots, the MTP will remain mounted to the old slot - it must be manually disabled and renabled (Mounts menu) to update to the new slot.
I will not fix these issues - dual-boot is not designed to be for general/daily use and there may be more minor issues that I don't know about. It's intended for developers only.
In order for a ROM to be dual-boot compatible, the fstab file (information given to Android about partitions to mount) needs a small modification. This TWRP can try to do this patching automatically when you install a ROM, or it can be done manually in Tissot Manager's Patches menu (as well as single-boot patch to e.g. revert a ROM backup from a dual-boot state).
You will see in the install log if a dual-boot patch attempt is successful in the flash text output.
Automatic dual-boot patch occurs only if necessary when:
Flashing an AIO Treble ROM ZIP with TWRP
Flashing a vendor.img in TWRP "Install Image" mode
Automatic dual-boot patch does NOT work when:
Flashing a vendor.img via fastboot
Restoring vendor in a TWRP backup
Any other way of flashing a vendor
In any of these cases, you can manually patch Vendor for Dual Boot in Tissot Manager's Patches menu. You can also remove dualboot support the same way. It will detect the dualboot state of the current Vendor slot and present the available option. If you find that it doesn't actually change after patching, the Vendor is incompatible (please report it to me). RR AIO Vendor is tested OK.
Download
All downloads (and source code) always at:
https://github.com/CosmicDan-Android/android_device_xiaomi_tissot/releases
...or via DevBB Downloads section.
Additional sources not able to be listed in DevBB:
Modified update_engine: https://github.com/CosmicDan-Android/android_system_update_engine_tissotmanager-mod
What's next?
See [TREBLE][GUIDE] From Stock to Treble - everything you need to know! for detailed instructions and learning on how to Treble like a pro.
FAQ
Q) After I flash TWRP, I get kicked into a Recovery loop when trying to boot the ROM!
A) This is probably because you have a kernel that does not disable dm-verity. To fix this, flash Magisk. The void kernel included in RR AIO does not have this problem and can therefore be safely used without Magisk (for e.g. GSI compatibility).
Q) After I flash TWRP, I get kicked into fastboot when trying to boot the ROM!
A) Your kernel is not Treble-compatible.
Q) How do I update TWRP?
A) Just flash the ZIP installer again, then Reboot Recovery. Note that this will erase Magisk on BOTH slots if you have it installed to either, requiring you to reflash it to one/both slots. See my Treble guide FAQ section for more info on Magisk interaction.
Q) My PC can't see the MTP (storage) device from TWRP!
A) For dualboot compatibility, MTP is automatically disabled at various points. Just enable it manually in the Mounts menu to get access.
Q) If I shrink Userdata for Treble, will stock and OTA work?
A) I have heard varying results on this. It does for some, not for others. Please assume that this will NOT work. It will definitely not work if you have shrunk system.
Q) Can I restore a non-Treble TWRP backup after I repartition for Treble? And the other way around?
A) Yes! In fact, this is the easiest way for...
...using stock ROM on Treble repartition (requires Userdata shrink ONLY). May also require a custom kernel with dm-verity disabled (see Questions above regarding fastboot kick and recovery loop).
...using a non-treble ROM if you shrunk System instead of Userdata since you cannot install non-Treble ROM ZIPs with a shrunk System (see next Q)
Q) I get some Error 28 when trying to install a ROM when repartitioned
A) You have shrunk System and are trying to install a non-Treble ROM. This is not possible AT ALL because the ROM ZIP expects a stock-size System. Use Userdata shrink mode instead if you want to be able to use non-Treble ROM's easily.
Q) I see "Failed to mount '/system' (Device or resource busy)" red error in TWRP after flashing a ROM
A) You can safely ignore it. You just need to reboot recovery before you can flash anything else (like Gapps) to this ROM.
Credits and Thanks
- @mohancm for the original TWRP port, I used some flags from his DT
- @ghpranav and @mountaserhalak for the RR device tree that this is built with (and random help)
XDA:DevDB Information
TWRP with Tissot Manager (Treble & Dual boot support), Tool/Utility for the Xiaomi Mi A1
Contributors
CosmicDan
Source Code: https://github.com/CosmicDan-Android/android_device_xiaomi_tissot
Version Information
Status: Stable
Created 2018-05-29
Last Updated 2019-11-24

Reserved

Screenshots (click for slightly larger non-cropped version)
Screenshot of new TWRP button:
_______________
Main menu (stock partition map detected):
_______________
Repartition choice type when coming from stock:
_______________
Repartition wipe warning/disclaimer if chosing to shrink Userdata for Treble:
_______________
Main menu (Shrunk Userdata type Treble partition map detected):
_______________
Repartition wipe warning/disclaimer if chosing to restore Stock from Shrunk Userdata Treble mode:
_______________
Example of Repartition processing screen:

Good job! :good:

Nice work!
Did you tested treble roms with this? Aex now have treble support

Omg, you are the best man. @mohancm also huge thanks to u man, great devs in our XDA.

I have never seen this kind of detailed, kind guide in XDA. You guys are awesome! Thanks for all this work!
One question : If I choose to shrink /userdata instead of /system,
1. Will I be able to flash stock rom by using MiFlash?
2. If I can, will I be able to get OTA and install them w/o issues?
3. Can I restore a TWRP backup that was made before repartitioning?(because of data on /data)
I think lots of people will be wondering about #3. If you think so too, then please add it in OP!
Thanks to all of you devs again!

Chikoow1 said:
Nice work!
Did you tested treble roms with this? Aex now have treble support
Click to expand...
Click to collapse
This is just the repartition part, one step of Treble. You still need a Vendor pack. But yes, this enables Treble ROMs and the ROMs require repartition.
ddaggebi said:
I have never seen this kind of detailed, kind guide in XDA. You guys are awesome! Thanks for all this work!
One question : If I choose to shrink /userdata instead of /system,
1. Will I be able to flash stock rom by using MiFlash?
2. If I can, will I be able to get OTA and install them w/o issues?
3. Can I restore a TWRP backup that was made before repartitioning?(because of data on /data)
I think lots of people will be wondering about #3. If you think so too, then please add it in OP!
Thanks to all of you devs again!
Click to expand...
Click to collapse
1. If you do, it will wipe partition map back to stock. So you will need to repartition with Treble Manager TWRP again. But you can make a backup of stock ROM in TWRP and just restore it after the repartition. It should work.
2. Don't know. Needs testing.
3. Yes! I forgot to add this to the FAQ.

Has this tpwr f2fs support and working?
Since Los support It i would like ti have

@CosmicDan
Thank you so much for your effort. I'm currently on stock and want to retain stock compatibility, so I'm going to wait until this becomes more polished before trying. I understand that Treble is not meant to be compatible with stock, so I realize my question might be out of place. Still, my question is:
Will you also release the .img file for Treble TWRP for those of us who don't want a permanent custom recovery?

Filip013;76586434 [user=1844875 said:
@CosmicDan[/user]
Thank you so much for your effort. I'm currently on stock and want to retain stock compatibility, so I'm going to wait until this becomes more polished before trying. I understand that Treble is not meant to be compatible with stock, so I realize my question might be out of place. Still, my question is:
Will you also release the .img file for Treble TWRP for those of us who don't want a permanent custom recovery?
Click to expand...
Click to collapse
It's indeed not intended to be compatible with stock ROM, but your mileage may vary, and as @CosmicDan said, it might work good enough or it won't. You can only try to see the results yourself.
This whole Treble thing is meant mainly for custom ROMS, since stock will never be Treble compatible (still, anything could happen)

I've just updated the TWRP with Treble Manager to 1.1 which fixed a semi-important bug.
Also, I've released a guide for those who find the Treble conversion/install process confusing - check it out. If you can, keep TWRP and Treble Manager specific questions in this thread, but ask your general questions and help over there - I will update the guide as I get feedback

CosmicDan said:
FAQ
Q) If I shrink Userdata for Treble, will stock and OTA work?
A) Untested. Please report your results. But Treble is really not about Stock, you will likely encounter more problems down the line or it may turn out to be completely incompatible.
Q) Can I restore a non-Treble TWRP backup after I repartition for Treble? And the other way around?
A) Yes! In fact, this is the easiest/only way for...
...using stock ROM on Treble repartition (requires Userdata shrink ONLY). May also require a custom kernel with dm-verity disabled (untested - if you get bootloop when using stock, it means you do) or Magisk (also untested, may still get bootloop).
...using a non-treble ROM if you shrunk System instead of Userdata since you cannot install non-Treble ZIP's on ROM's with a shrunk Userdata (see next Q)
Q) I get some Error 28 when trying to install a ROM when repartitioned
A) You have shrunk System and are trying to install a non-Treble ROM. This is not possible AT ALL because the ROM ZIP expects a stock-size System. Use Userdata shrink mode instead if you want to be able to use non-Treble ROM's easily.
Q) I see "Unable to mount '/vendor' (Invalid argument)" red error in this TWRP
A) You can safely ignore it. It just means you have not repartitioned your device for Treble yet, so it can't mount the /vendor image.
Click to expand...
Click to collapse
Ay!
Have just finished testing about OTA on stock after Treblizing!
Result?!?
OTA works perfectly on stock after shrinking data to Treblize! Hurrah! ???
Process I followed:
1) Treblize by shrinking data
2) This is important: flash stock ROM in fastboot using MiFlash! When flashing for the first time, select "clean all and lock"! No other standard options working! I couldn't even boot stock using other options!
I've tested by fastboot flashing April build and then updating it to May OTA!
*** On a note: clean all will erase everything on your phone including your personal data!
If you use "save user data" then stock can't even boot! This may caused by the encryption!
BTW, after everything I just restored my non-Treble RR backup and everything works perfect! Just Treble Check app can't check that it's Treblized!
But don't worry! Treble partition table still remains! Fastboot flash can't touch that and can't recognize that it actually exists! Which to me is a good thing!
@CosmicDan, give me a thanks buddy! I deserve this!

SomratMJX said:
-snip-
Click to expand...
Click to collapse
Don't quote the whole OP and please use a smaller font size.

Change slot doesn't work... Others are okay as far as i have seen

dback31 said:
Don't quote the whole OP and please use a smaller font size.
Click to expand...
Click to collapse
Just thought it's too important to highlight! Nothing else!

Rakibboss said:
Change slot doesn't work... Others are okay as far as i have seen
Click to expand...
Click to collapse
Reboot to fastboot and change the slots with
fastboot set_active b

Rakibboss said:
Change slot doesn't work... Others are okay as far as i have seen
Click to expand...
Click to collapse
Use the latest TWRP 1.1! Works fine for me!

SomratMJX said:
Just thought it's too important to highlight! Nothing else!
Click to expand...
Click to collapse
Then please atleast remove the OP quote. It's a pain for mobile users to scroll through this

dback31 said:
Then please atleast remove the OP quote. It's a pain for mobile users to scroll through this
Click to expand...
Click to collapse
Ha ha ha! It's related to OP buddy!
Anyways, I am too lazy to quote a certain part of the OP!

Related

[Recovery] Official TWRP for the ZTE Axon 7

Team Win Recovery Project 3.1.1-0
This is for the A2017, A2017U, and A2017G.
WARNING: The ZTE Axon 7 stock boot image has dm-verity, which prevents you from booting if you swipe to enable system modifications!
SOLUTION: Follow the full rooting steps below in order to allow system modifications without the risk of a boot loop!
WHAT IS TWRP?
Oh come on, you know what it is - don't try to fool me!
In case you're serious, though...
Team Win Recovery Project is a custom recovery for Android devices.
It allows you to back up and restore your data, flash custom ROMs to your device, repair broken file systems, and root your device.
Read more about TWRP here: https://twrp.me/about/
DOWNLOAD
You can find the device page here:
http://teamw.in/devices/zteaxon7.html
There is a download link there, as well as instructions on how to flash it.
You can find up to date fastboot & adb binaries here!
UNLOCKING YOUR BOOTLOADER
WARNING: Unlocking your bootloader will erase all userdata on the device! Your device will be completely reset to factory defaults!
A2017U or A2017 users can simply unlock from EDL mode using MiFlash here.
I do not have a method for A2017G, there may be other threads on XDA to guide you through the process.
FULL STEPS FOR OBTAINING ROOT
Follow these instructions until someone nice comes along and makes a video from them (without ads):
Unlock your bootloader! See above!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Download TWRP for the ZTE Axon 7.
Reboot your device into fastboot mode. To do this, select reboot from the power menu and hold the [Volume Up] button while your device reboots or boots from power off.
Once you're in fastboot with your bootloader unlocked, you're ready to flash TWRP. To do this, run the command (replacing twrp.img with the actual image name):
fastboot flash recovery twrp.img
Once the image is flashed, you should use your volume keys to navigate to RECOVERY and the press the power key to select it.
At this point, you will reach the screen asking you if you want to allow system modifications.
By swiping right, you will trigger dm-verity, and if you don't follow the next step you will be unable to boot!
If you are going to root your device and follow the rest of these steps, then it is safe to swipe right and enable modifications.
If you want to be rooted with SuperSU:
Download the latest SuperSU stable by Chainfire.
Without exiting TWRP, transfer the SuperSU zip to your device over MTP* and flash it using [Install] in TWRP.
---or (not both) ---
If you want to be rooted with Magisk:
Download the latest Magisk stable by topjohnwu.
Without exiting TWRP, transfer the Magisk zip to your device over MTP* and flash it using [Install] in TWRP.
---or (not both) ---
If you want to be rooted with something else or just want a bootable system:
Download the latest dm-verity and forced encryption disabler zip.
Without exiting TWRP, transfer the no-verity-opt-encrypt zip to your device over MTP* and flash it using [Install] in TWRP.
This will also allow you to use [Format Data] to completely disable your encryption if desired.
Go to [Reboot] -> [System].
Wait 2-5 minutes for your device to finish setting itself up. (SuperSU will reboot you a few times)
* MTP, known as Media Transfer Protocol, is the same way you transfer files from your PC to your device when booted into system.
UPDATING TWRP
To update TWRP, simply download the new twrp.img on your phone, then boot into your current TWRP and flash it.
To flash a twrp.img, navigate to [Install] -> [Flash Image] -> select your twrp.img -> [x] Recovery -> Flash!
After that, just use [Reboot] -> [Recovery] to reboot into the updated TWRP.
CHANGES
v3.1.1-0 (twrp.me) - See release details here!
v3.1.0-0 (twrp.me) - See release details here!
v3.0.4-1 (build.nethunter.com) - Fix crash on selecting reboot with an empty data partition, add Data backup warnings
v3.0.4-0 (build.nethunter.com) - Capability restoration for Nougat, F2FS backport support, EXT4 decryption support
v3.0.3-1 (twrp.me) - Use crypto libraries from ROM (Nougat support). Fix USB OTG and Fast Charging. Reduce boot times.
v3.0.3-0 (twrp.me) - Renamed to ailsa_ii, Persist merged with EFS, Modem no longer mounted, Backup/Restore/Flash Bluetooth/System Image added. LA.HB.1.3.1.c1-19500-8x96.0 + Linux 3.18.45.
v3.0.2-0 (twrp.me) - Initial release.
FEATURES
MTP support
USB OTG storage support
Legacy USB Mass Storage mode support - use your phone like an SDCard reader or flash drive!
Hardware Qualcomm-based full-disk encryption support
f2fs file system support (read, write, format, backup & restore)
exFAT file system support (read, write, format)
NTFS file system support (read, write, format)
ADB root
Full SELinux support
Built in android 6.0 tree
Allows ZTE full OTA flashing (only for A2017U firmware)
KNOWN ISSUES
F2FS takes a long time to boot, see below.
WHY DOES F2FS MAKE TWRP SO SLOW?
When TWRP boots up or wipes partitions and a few other scenarios, it checks each partition to see how much disk space is used. Ext4 handles disk usage calls quite efficiently and will finish this very fast. F2FS on the other hand is very slow when it comes to checking disk usage. We're unsure why this is. Every file on the F2FS formatted partition adds a little more time, and a device that is 30 GB full could take up to 10 minutes to boot TWRP!
I suggest switching your data partition to ext4 - all the f2fs hype is merely from benchmarks that don't actually represent real world use (ie. you're not writing thousands of files per second)
For someone who doesn't do lots of write access to their data partition, ext4 can actually be advantageous (it has faster access times and reads!)
HOW DO I GET LOGS SO WHEN I COMPLAIN I'M NOT COMPLETELY IGNORED OR SHAMED BY OTHER USERS?
To get logs while in TWRP, you should connect your device to your PC and use adb.
adb pull /tmp/recovery.log
adb exec-out dmesg > dmesg.log
This will create 2 files in the directory your shell is currently in, recovery.log and dmesg.log. You will need to upload these somewhere such as a pastebin or Google Drive. You can also attach it to your XDA post (recommended!)
If you are having an operating system boot issue, you should gather a ramoops log instead. Do this while in TWRP after the failed boot:
adb exec-out "tar c /sys/fs/pstore 2>/dev/null" > pstore.tar
CONTACT & SUPPORT
You can find us on IRC at #twrp on chat.freenode.net.
You can also post in this thread and I will attempt to answer any questions you may have.
SOURCE CODE
TWRP: https://github.com/omnirom/android_bootable_recovery (android-7.1)
Device tree: https://github.com/TeamWin/android_device_zte_ailsa_ii (android-6.0)
Kernel: https://github.com/jcadduono/android_kernel_oneplus_msm8996 (twrp-6.0)
CONTRIBUTIONS
Gerrit for TWRP: http://gerrit.omnirom.org/
Gerrit for officially supported devices: http://gerrit.twrp.me/
XDA:DevDB Information
Team Win Recovery Project for the ZTE Axon 7, Tool/Utility for the ZTE Axon 7
Contributors
jcadduono, Team Win
Source Code: https://github.com/TeamWin/android_device_zte_ailsa_ii
Version Information
Status: Stable
Current Stable Version: 3.0.4-1
Stable Release Date: 2017-02-08
Created 2016-12-09
Last Updated 2017-11-25
Link does not work is there a typo?
lokissmile said:
Link does not work is there a typo?
Click to expand...
Click to collapse
Nope, bigbiff is just taking long time to hit the go button on jenkins to build the device and rebuild twrp.me lol
I think he fell asleep
You can use this for now: https://build.nethunter.com/test-builds/twrp/zte/twrp-3.0.2-0-a2017u.img
Downloaded and installed although not sure how this differs from the one in the unlock thread. Made a backup everything seems OK. Thanks!
lafester said:
Downloaded and installed although not sure how this differs from the one in the unlock thread. Made a backup everything seems OK. Thanks!
Click to expand...
Click to collapse
It shouldn't be any different, or any differences there are should be minimal.
One (and maybe only) notable difference might be that it uses ZTE's USB configuration rather than Google's.
It also supports legacy mass storage. (accessing sdcard like a flash drive, instead of MTP)
I should also add that it's pretty much 1/3 of the size too lol.
UnjustifiedDev's unofficial TWRP is 3.0.2-2. I recall people were having issues with restoring some partitions (mostly EFS), so he backported the bugfix from the 7.0 TWRP code, which seemed to have fixed the issues. Does this official build include that bugfix?
Is there any technical reason why this version shouldn't be installed on A2017G?
xtermmin said:
UnjustifiedDev's unofficial TWRP is 3.0.2-2. I recall people were having issues with restoring some partitions (mostly EFS), so he backported the bugfix from the 7.0 TWRP code, which seemed to have fixed the issues. Does this official build include that bugfix?
Click to expand...
Click to collapse
That bug was fixed in September on the 6.0 branch.
_phk_ said:
Is there any technical reason why this version shouldn't be installed on A2017G?
Click to expand...
Click to collapse
I don't have any technical reason, just from what I've read it won't boot. You can try it, let me know what happens. Actually please do, because if it does boot it would be quite pleasing and I'd end up unifying them.
Is this TWRP using the stock B29 kernel or your custom Kernel?
I was building my own TWRP for the Axon-7 the other day. Mainly to include more partitions for backup purpose while working on CM and back to stock. (Especially persist).
As far as I saw the CM rom messes with persist (creates folders and files in persist).
Should ZTE release Android 7.0 in January I want to be able to go back using the backup created of B29 and simply run the OTA.
If CM messes with persist and one goes back to B29 to upgrade to Android 7. The OTA partitions check before upgrade will probably fail with checksum errors. And the upgrade will fail.
One would have to go all the way back to factory B20 then =>B27 =>B29=>Android 7.
Correct me if I'm wrong.
But shouldn't we include at least those partitions that CM touches in TWRP for proper restore possibilities? And future upgrades of Stock?
celoxocis said:
...If CM messes with persist and one goes back to B29 to upgrade to Android 7. The OTA partitions check before upgrade will probably fail with checksum errors. And the upgrade will fail...
Click to expand...
Click to collapse
So far, none of the OTAs (at least for the US model) have done a check of persist, but who knows if they will for Nougat.
celoxocis said:
Is this TWRP using the stock B29 kernel or your custom Kernel?
I was building my own TWRP for the Axon-7 the other day. Mainly to include more partitions for backup purpose while working on CM and back to stock. (Especially persist).
As far as I saw the CM rom messes with persist (creates folders and files in persist).
Should ZTE release Android 7.0 in January I want to be able to go back using the backup created of B29 and simply run the OTA.
If CM messes with persist and one goes back to B29 to upgrade to Android 7. The OTA partitions check before upgrade will probably fail with checksum errors. And the upgrade will fail.
One would have to go all the way back to factory B20 then =>B27 =>B29=>Android 7.
Correct me if I'm wrong.
But shouldn't we include at least those partitions that CM touches in TWRP for proper restore possibilities? And future upgrades of Stock?
Click to expand...
Click to collapse
It uses a custom very minimal kernel configuration with modifications to make it more compatible with TWRP.
Why does modification of persist matter? Persist can't affect OTAs as it's meant to be modified, it's only a firmware/calibration cache.
If it ever had an issue you could simply type:
make_ext4fs /dev/block/bootdevice/by-name/persist
CM should not modify any partitions that are meant to be static.
The only partitions that will need to be fixed to take OTAs should be: boot, system, recovery, modem (NON-HLOS.bin)
The only reason modem needs to be fixed is because it's used in TWRP and I can't enable both backup and read-only at the same time.
Update: I'll just make two entries, backup/restore for raw modem emmc, and read-only mount for decrypt. (should be safe to do this with mounttodecrypt unmounting it)
xtermmin said:
So far, none of the OTAs (at least for the US model) have done a check of persist, but who knows if they will for Nougat.
Click to expand...
Click to collapse
They will not. There is no logical reason to check a partition that is designed to be modified.
In fact, I'll add Persist (calibration data) to the Wipe page!
jcadduono said:
It uses a custom very minimal kernel configuration with modifications to make it more compatible with TWRP.
Why does modification of persist matter? Persist can't affect OTAs as it's meant to be modified, it's only a firmware/calibration cache.
If it ever had an issue you could simply type:
make_ext4fs /dev/block/bootdevice/by-name/persist
Click to expand...
Click to collapse
Thanks for the clarification. I just remember when I was dirty flashing CM13 months ago when doing one of my devices bring-up. TWRP would complain with error 7 (I think?).
When I run a diff of the partitions it touched (I checked all init.rc's) I found the difference in persist. Reverting back the persist with DD (I always do a DD backup of my untouched devices, on all partitions before messing with them and store them on my NAS). The dirty flash went fine. Ever since that I include persist in my TWRP's.
I don't mind not having it in TWRP. I can bake my own anytime
celoxocis said:
Thanks for the clarification. I just remember when I was dirty flashing CM13 months ago when doing one of my devices bring-up. TWRP would complain with error 7 (I think?).
When I run a diff of the partitions it touched (I checked all init.rc's) I found the difference in persist. Reverting back the persist with DD (I always do a DD backup of my untouched devices, on all partitions before messing with them and store them on my NAS). The dirty flash went fine. Ever since that I include persist in my TWRP's.
I don't mind not having it in TWRP. I can bake my own anytime
Click to expand...
Click to collapse
I just replaced the -0 version, new one has modem read only and persist shows up in wipe page as "Persist (calibration data)" so people know what they're wiping.
There's a lot of partitions that seem scary and screw up your device when they're corrupt but you can just either format them (in the case of persist) or dd zeros to them (in the case of misc, modemst1, modemst2, efsg, and efsc) and the OS/firmware will regenerate everything on boot like you just took it out of the box.
any reason to flash this version of TWRP over the one UnjustifiedDev's made?? I can just flash the twrp.img file right?
celoxocis said:
Is this TWRP using the stock B29 kernel or your custom Kernel?
I was building my own TWRP for the Axon-7 the other day. Mainly to include more partitions for backup purpose while working on CM and back to stock. (Especially persist).
As far as I saw the CM rom messes with persist (creates folders and files in persist).
Should ZTE release Android 7.0 in January I want to be able to go back using the backup created of B29 and simply run the OTA.
If CM messes with persist and one goes back to B29 to upgrade to Android 7. The OTA partitions check before upgrade will probably fail with checksum errors. And the upgrade will fail.
One would have to go all the way back to factory B20 then =>B27 =>B29=>Android 7.
Correct me if I'm wrong.
But shouldn't we include at least those partitions that CM touches in TWRP for proper restore possibilities? And future upgrades of Stock?
Click to expand...
Click to collapse
I was under the impression that you couldn't install OTAb updates with an unlocked bootloader anyway. Is this not true?
abdi7451 said:
I was under the impression that you couldn't install OTAb updates with an unlocked bootloader anyway. Is this not true?
Click to expand...
Click to collapse
Bootloader status hasn't been checked by the OTAs so far (on the US model anyway). I've been able to go from a bootloader unlocked B20 -> official B27 OTA -> TWRP+CM13 -> Restore my B27 backup in TWRP + reflash stock recovery -> official B29 OTA -> reflash TWRP+CM13. As long as you are completely stock besides the bootloader, you can apply OTAs fine. (you can check the updater script in the OTA files for specifics on what it checks and what it patches)
xtermmin said:
Bootloader status hasn't been checked by the OTAs so far (on the US model anyway). I've been able to go from a bootloader unlocked B20 -> official B27 OTA -> TWRP+CM13 -> Restore my B27 backup in TWRP + reflash stock recovery -> official B29 OTA -> reflash TWRP+CM13. As long as you are completely stock besides the bootloader, you can apply OTAs fine. (you can check the updater script in the OTA files for specifics on what it checks and what it patches)
Click to expand...
Click to collapse
I am rooted and unlocked bootloader. How do apply the stock recovery in order to receive OTA updates?
Just wanna clarify this... B20 bootloader allows the fastboot OEM unlock command, and once you're unlocked, you can flash any bootloader you want. Flashing B29 bootloader does not lock you, once unlocked, always unlocked. Unless you relock it yourself. You can even go older than B20 bootloader. Feel free to play around with BL versions. I like B20 because no stupid 5 second warning thing.
If I already have the unofficial version for TWRP should I install this one over it or is it really the same thing?
@jcadduono, I think most people would find it helpful if you could list what's different between the now official version and @Unjustified Dev's version, as I know they've been developed semi in parallel.

[RECOVERY][TREBLE] TWRP Recovery for Zenfone 3

This is a TWRP fully Treble-ready with "Treble enabler" option in order to repartition safely the device.
Features:
TWRP fully Treble-ready;
Maintained with latest TWRP version;
Fully compatible with non-Treble devices - can be used as normal without Treble partitioning;
USB-OTG fixed
Has 'TWRP survival' function for automatically re-installing TWRP recovery when installing ROMs and kernels;
Adds a "Treble enabler" option that allows you to repartition your device in order to support Treble.
Has the option to shrink userdata to create Vendor partitions. All relevant partitions will be resized and formatted in one go.
If you shrink Userdata, it will ERASE DATA AND INTERNAL STORAGE COMPLETELY - but your device will stay compatible with all existing non-Treble ROM's
Instructions
Flash the recovery.
Reboot Recovery
Optional - Use the "Advanced > Treble enabler" option for repartition option.
If you opted to repartition for Treble, you are ready to flash a Treble ROM/Vendor pack.
About TWRP survival
TWRP survival is a simple hook that detects if a boot.img will be installed and restores TWRP after it's flashed. This only works if you have booted TWRP with Tissot Manager 2.0 from a real recovery boot - NOT from a recovery 'hot boot' (fastboot boot method).
You will see in the install log if a TWRP survival attempt is successful in the flash text output.
Automatic TWRP survival works when:
Flashing a ROM ZIP (or AIO) with TWRP
Flashing a boot.img in TWRP "Install Image" mode
Automatic TWRP survival does NOT work when:
Flashing a boot.img via fastboot
Restoring boot in a TWRP backup
Any other way of flashing a boot.img
In these cases, be sure the use the TWRP Installer immediately after flashing or restoring a backup - otherwise you may get the device into a confused state (especially if you restore a non-TWRP boot then try to install an AIO ROM without installing a new TWRP first).
Download
https://zenfone3-dev.gitlab.io/recovery/twrp-treble/
FAQ
Q) After I flash TWRP, I get kicked into fastboot when trying to boot the ROM!
A) Your kernel is not Treble-compatible.
Q) How do I update TWRP?
A) Just flash the ZIP installer again, then Reboot Recovery. Note that this will erase Magisk on BOTH slots if you have it installed to either, requiring you to reflash it to one/both slots. See my Treble guide FAQ section for more info on Magisk interaction.
Q) My PC can't see the MTP (storage) device from TWRP!
A) For dualboot compatibility, MTP is automatically disabled at various points. Just enable it manually in the Mounts menu to get access.
Q) If I shrink Userdata for Treble, will stock and OTA work?
A) I have heard varying results on this. It does for some, not for others. Please assume that this will NOT work.
Q) Can I restore a non-Treble TWRP backup after I repartition for Treble? And the other way around?
A) Yes!
Q) I see "Failed to mount '/system' (Device or resource busy)" red error in TWRP after flashing a ROM
A) You can safely ignore it. You just need to reboot recovery before you can flash anything else (like Gapps) to this ROM.
Thanks to:
@CosmicDan for his files for Tissot Manager & this thread template
@makorn645, @planet9, @Oki for Party
XDA:DevDB Information
TWRP Recovery for Zenfone 3, Tool/Utility for the Asus ZenFone 3
Contributors
Giovix92, makorn645,
Source Code: https://github.com/Giovix92/android_device_asus_zenfone3/tree/twrp-8.1
Version Information
Status: Stable
Current Stable Version: 20190312
Stable Release Date: 2019-03-12
Created 2019-03-12
Last Updated 2019-03-12
@Giovix92 Does this mean I can use any ROM that is Treble? Or have some restrictions.
dVinsmoke said:
@Giovix92 Does this mean I can use any ROM that is Treble? Or have some restrictions.
Click to expand...
Click to collapse
Just the treble los16 zenfone3 on our forum for now
iamROOTX said:
Just the treble los16 zenfone3 on our forum for now
Click to expand...
Click to collapse
But then I see no difference from a "normal" ROM ported specifically to a device. Should not Treble support be able to use them on several different devices?
For example, should not I be able to go to the AEX Treble download area and use it on ZF3? If it would not be the same as having to wait for a dev port AEX to ZF3.
I'm really confused lol
dVinsmoke said:
But then I see no difference from a "normal" ROM ported specifically to a device. Should not Treble support be able to use them on several different devices?
For example, should not I be able to go to the AEX Treble download area and use it on ZF3? If it would not be the same as having to wait for a dev port AEX to ZF3.
I'm really confused lol
Click to expand...
Click to collapse
What do you expect? It's still in an early stage of porting. Some device specific bits still run from /system. GSI's may work but I doubt anything will work properly.
And I don't plan of supporting GSIs anyway.
makorn645 said:
What do you expect? It's still in an early stage of porting. Some device specific bits still run from /system. GSI's may work but I doubt anything will work properly.
And I don't plan of supporting GSIs anyway.
Click to expand...
Click to collapse
Being sincere I did not expect anything, since I did not understand anything lol This Treble left me was confused lol
So what's the difference of the Lineage Treble for a Lineage normal running in ZF3?
dVinsmoke said:
Being sincere I did not expect anything, since I did not understand anything lol This Treble left me was confused lol
So what's the difference of the Lineage Treble for a Lineage normal running in ZF3?
Click to expand...
Click to collapse
Currently nothing much ( updated proprietary bits + vendor image taken in place )
Maybe in the near future when everything is in place. I'll seperate Vendor image from builds ( noticable smaller updates )
makorn645 said:
Currently nothing much ( updated proprietary bits + vendor image taken in place )
Maybe in the near future when everything is in place. I'll seperate Vendor image from builds ( noticable smaller updates )
Click to expand...
Click to collapse
Also, when vendor img will be split from the ota package, with (if necessary) some adjustments we can flash GSI ROMs easily.
Great work guys!! Waiting for vendor partition, for some tests!
Williknot said:
Great work guys!! Waiting for vendor partition, for some tests!
Click to expand...
Click to collapse
Well, repartition works fine. After repartition a new /vendor partition of 1024mb will be made.
Although, you'll loose your data (apps+personal). So make sure to do a full backup of your device.
Feedback:
* HAVE A BACKUP. This tool messes with your partition table and is still unstable. Your data partition can be resized to the wrong size.
Will come back after a few months to provide more feedback. Appreciate the work guys.
Works fine for me, data is correctly resized even with multiple changes from normal to treble and back...
Can't seem to wipe /cache partition.
Anyone knows why?
[QS said:
;79165451]Works fine for me, data is correctly resized even with multiple changes from normal to treble and back...
Can't seem to wipe /cache partition.
Anyone knows why?
Click to expand...
Click to collapse
A bugfix release will be coming along with the next LineageOS build.
fcbn98 said:
Feedback:
* HAVE A BACKUP. This tool messes with your partition table and is still unstable. Your data partition can be resized to the wrong size.
Will come back after a few months to provide more feedback. Appreciate the work guys.
Click to expand...
Click to collapse
Well, that's normal.
Since you're going to make a new /vendor partition of about 1024mb, /data should be deleted & recreated in order to give some space to the new partition.
Also, what do you mean with "can be resized to the wrong size"?
The tool is pretty stable tho. Can you give more info such as model (ex. ZE552KL 4/64), script version (ex. 4.3b) & other?
Thanks.
I've successfully installed this tool, although attempting to install the new LOS 16 Android 9 ROM we have on this forum results in an error: 7, "Failed to mount '/vendor' (Invalid argument)"
From what I've perused so far in my research, that error mostly crops up on non-treble builds of TWRP, yet I definitely used the latest version from your website. I also redownloaded the latest version of LOS just to recheck, and yep, nothing's changed.
Any clue about what's going on here? I don't know much about Treble ROMs, or custom ROMing to be all honest.
EDIT: I have found the enable Treble option. Even when enabled and installed, after reboot, the /vendor partition cannot be read. It seems that after doing this too, I can't load files over USB, or mount my SD Card. I'm getting pretty confused as to what's happening. I can't boot into system, and fastboot won't connect to my PC.
Kaisogen said:
I've successfully installed this tool, although attempting to install the new LOS 16 Android 9 ROM we have on this forum results in an error: 7, "Failed to mount '/vendor' (Invalid argument)"
From what I've perused so far in my research, that error mostly crops up on non-treble builds of TWRP, yet I definitely used the latest version from your website. I also redownloaded the latest version of LOS just to recheck, and yep, nothing's changed.
Any clue about what's going on here? I don't know much about Treble ROMs, or custom ROMing to be all honest.
EDIT: I have found the enable Treble option. Even when enabled and installed, after reboot, the /vendor partition cannot be read. It seems that after doing this too, I can't load files over USB, or mount my SD Card. I'm getting pretty confused as to what's happening. I can't boot into system, and fastboot won't connect to my PC.
Click to expand...
Click to collapse
Did you follow these steps properly?
https://zenfone3-dev.gitlab.io/tutorials/repartition
can i flash android q gsi images using treble recovery.
Switching back to stock rom
If I have made the treble partition using this recovery is there any way to go back to stock rom?
Avinash007 said:
If I have made the treble partition using this recovery is there any way to go back to stock rom?
Click to expand...
Click to collapse
Wipe vendor, data, cache, dalvik partition and flash any ROM normally.
Can i flash android Q gsi image using this recovery on ze520kl

[RECOVERY] [TREBLE] TWRP 3.3.1-0 with Tissot Manager

Thread template from CosmicDan's thread.
About
This is a TWRP Installer ZIP and bootable IMG with extra capability such as Treble-izing and other power-user tools with integrated TWRP-powered submenus that CosmicDan originally called Tissot Manager.
Few months ago, CosmicDan officially decided to leave Tissot development, and his twrp was stuck on 3.2.3. So I decided to update that to 3.3 and convert all the aroma stuff into TWRP-powered menus etc, in order to preserve better future compatibility.
HIGHLY recommended reading and guide for everyone new to Treble - [TREBLE][GUIDE] From Stock to Treble - everything you need to know! by CosmicDan. It also has some general protips hidden within there, for example the seamless/slot system interactions and nuances, so it's worth reading for anyone who wants to be a master of the Android flashing domain
Features:
TWRP fully Treble-ready based on 3.3.1-0;
Fully compatible with non-Treble devices - can be used as normal without Treble partitioning;
Full USB-OTG support;
Full MTP support;
Optional TWRP Survival function, that works both in hotboot and real recovery;
Optional Active slot install method, selectable right before the zip flash;
Option to ignore Payload<>Recovery certificate failures (fix for newer LOS-based ROMs);
Added a Tissot Manager list item under Advanced Menu, totally built-into TWRP itself that allows you to do:
Has the option to shrink Userdata to create Vendor partitions. All relevant partitions will be resized and formatted in one go.
Treble-izing will ERASE DATA AND INTERNAL STORAGE COMPLETELY - but your device will stay compatible with all existing non-Treble ROM's
Adds a "Patches" section with the following current options:
Patch kernel from Enforcing to Permissive and vice versa
More features coming!
All of this info is detailed inside the Tissot Manager GUI.
See screenshots in post 2.
Since this is an early version (still stable), some original features from 3.2.3 are still not available. I'll do my best to constantly add new functions when possible!
Instructions
Optionally boot the boot-recovery.img to get a temporary TWRP if you don't have it installed, unzipped from TWRP-3.3-withTM-BOOT.zip
Code:
fastboot boot boot-recovery.img
Warning - do not EVER flash this img - hotboot it only.
Flash the TWRP Installer. Any slot, any ROM, any existing Recovery - it doesn't matter - it will be installed to both slot kernels.
Reboot Recovery
Optional - Use the "Advanced > Tissot Manager" option for repartition options and other advanced ROM patches, this time built-in TWRP itself for better compatibility with future versions.
About TWRP survival
Starting from 1.0, TWRP Survival will be able both in hotboot mode 'n real recovery mode. Just tick the checkbox 'n flash!
Download
All downloads (and source code) always at:
https://github.com/Giovix92/twrp_device_xiaomi_tissot/releases
Additional sources not able to be listed in DevBB:
Modified update_engine: https://github.com/Giovix92/android_system_update_engine
What's next?
See [TREBLE][GUIDE] From Stock to Treble - everything you need to know! by CosmicDan for detailed instructions and learning on how to Treble like a pro.
FAQ
Q) After I flash TWRP, I get kicked into a Recovery loop when trying to boot the ROM!
A) This is probably because you have a kernel that does not disable dm-verity. To fix this, flash Magisk.
Q) After I flash TWRP, I get kicked into fastboot when trying to boot the ROM!
A) Your kernel is not Treble-compatible.
Q) How do I update TWRP?
A) Just flash the ZIP installer again, then Reboot Recovery. Note that this will erase Magisk on BOTH slots if you have it installed to either, requiring you to reflash it to one/both slots. See my Treble guide FAQ section for more info on Magisk interaction.
Q) If I shrink Userdata for Treble, will stock and OTA work?
A) I have heard varying results on this. It does for some, not for others. Please assume that this will NOT work.
Q) Can I restore a non-Treble TWRP backup after I repartition for Treble? And the other way around?
A) Yes! In fact, this is the easiest way for using stock ROM on Treble repartition. May also require a custom kernel with dm-verity disabled (see Questions above regarding fastboot kick and recovery loop).
Q) I see "Failed to mount '/system' (Device or resource busy)" red error in TWRP after flashing a ROM
A) You can safely ignore it. You just need to reboot recovery before you can flash anything else (like Gapps) to this ROM. This may occur while flashing in the active slot.
Q) What "Inject TWRP after install" option does?
A) It's TWRP Survival. If you check that checkbox, then after the installation of your zip file the TWRP will automatically reinstall TWRP into your slot.
Bugs Report
If any bug/problem may occur, feel free to report it here! Explain the problem and attach the recovery log. You can get it by going to Advanced - Copy Log and sliding. Kernel log isn't necessary.
If, for some strange reasons, you are unable to get into that menu', connect your phone to PC, open up CMD (aka command prompt) and type:
Code:
adb pull /tmp/recovery.log
Credits and Thanks
- @CosmicDan for tips, helps and his amazing work on TWRP 3.2.3, which I've taken many things from
- @nicknitewolf for his DT
- @chondoe for always being present in testing and reporting bugs/good news
- @flex1911 for DT stuff
- @mauronofrio for inject twrp function
XDA:DevDB Information
TWRP 3.3.1-0 with Tissot Manager, ROM for the Xiaomi Mi A1
Contributors
Giovix92
Source Code: [url]https://github.com/Giovix92/device_xiaomi_tissot[/URL]
ROM OS Version: 9.x Pie
ROM Kernel: Linux 4.x
Version Information
Status: Stable
Current Stable Version: 1.0
Stable Release Date: 2019-10-01
Created 2019-10-01
Last Updated 2019-10-01
Reserved
Changelog:
**10-11-2019**
- Fixed error 28 and 13, this led to some issues while doing a clean installation.
- Restored active slot install functionality, now it's fully working.
**18-10-2019**
Version: 2.0 (MAJOR UPDATE)
- Fixed all kind of problems while flashing:
- Error 51, 15, 31, 17, 35 (postinstall)
- Unability to make a clean flash
- Removed changelog section from Tissot Manager
- Added ADB God Mode
- Added missing binary, required in order to let selinux changer work properly
- Now the 2 new checkboxes won't stay checked anymore after any zip install
- Added system remount to r/w after zip flash in order to flash multiple zips in the same recovery session (like ROM + magisk + gapps and then reboot)
- Fixed linker problem that was causing some options in Tissot Manager to fail
- Smoother experience
Older changelogs:
**01-10-2019**
Version: 1.0
- Initial release with Tissot Manager, now powered by TWRP
- Optional TWRP Survival
- Ability to install into same slot
- Ability to repartititon to Treble and vice versa
- More features coming!
Reserved
Great work.
Sent from my Mi A1 using Tapatalk
Thanks ??
Nice. Bro you carried legacy ?
nice work waiting for shrp version of this ??
Noice :good:
Sent from my Mi A1 using XDA Labs
This is an update of TWRP Comic Dan?
manchirua said:
This is an update of TWRP Comic Dan?
Click to expand...
Click to collapse
Read op
Any way to flash it using cosmic dan's twrp? I don't have any pc now
Anikur Rahman said:
Any way to flash it using cosmic dan's twrp? I don't have any pc now
Click to expand...
Click to collapse
Q) How do I update TWRP?
A) Just flash the ZIP installer again, then Reboot Recovery. Note that this will erase Magisk on BOTH slots if you have it installed to either, requiring you to reflash it to one/both slots. See my Treble guide FAQ section for more info on Magisk interaction.
Great job dude ?
Awesome work!
Thank you so much for this.
@Giovix92
Great Job.
Is there a way to show the current slot status like in CosmicDan's ?
sdeft said:
@Giovix92
Great Job.
Is there a way to show the current slot status like in CosmicDan's ?
Click to expand...
Click to collapse
You can check current slot from reboot menĂº.
Where is the survival checkbox??
What is this "inject twrp" does ?
oskrprez said:
Where is the survival checkbox??
Click to expand...
Click to collapse
Anikur Rahman said:
What is this "inject twrp" does ?
Click to expand...
Click to collapse
That's the TWRP survival option
Unipo said:
That's the TWRP survival option
Click to expand...
Click to collapse
So, Isn't it automatically reinstalled like Comic Dan's version?

[GUIDE] ROM flashing the easy way

We all know flashing ROMs got a lot more complicated with the advent of A/B partitions.
This is not my work, the aim here is only to highlight a process which simplifies the task.
Original post on the OnePlus 6 forum can be found here:
https://forum.xda-developers.com/oneplus-6/how-to/script-copy-oxygenos-base-partitions-to-t4097979
It makes use of a script which copies the flashed firmware to both slots without having to reboot recovery and do it a second time. Also by not having to reboot recovery you avoid the issue where internal storage becomes unreadable.
Credit for this goes to:
LineageOS @erfanoabdi @filipepferraz @Prakyy @drpradsms
Download by prakky (hit the thanks button on his post below):
https://androidfilehost.com/?fid=8889791610682890605
The following posts detail it's usage which you follow at your own risk.
Clean Flashing a new ROM
Disable lockscreen security
Boot TWRP 3.4+
1) Flash latest OOS
2) Flash ROM
3) Flash TWRP installer
4) Flash Finalize.zip
5) Format data; type 'yes' (backup as this wipes phone)
6) Boot System
Reboot recovery to flash additional zips.
Updating OOS base whilst on a custom ROM
Boot TWRP 3.4+
1) Flash latest OOS
2) Flash ROM
3) Flash TWRP installer
4) Flash Finalize.zip
5) Boot System
Reboot recovery to flash additional zips.
Updating a custom ROM (nothing fancy here)
Boot TWRP 3.4+
1) Flash ROM
2) Flash TWRP installer
3) Boot System
Reboot recovery to flash additional zips.
Reverting to OOS
WARNING I've yet to test this!
Boot TWRP 3.4+
1) Flash latest OOS
2) Flash Finalize.zip
3) Format data; type 'yes' (backup as this wipes phone)
4) Boot System
Note: this will revert you to stock recovery as well.
Tip:
Chain install the zips by selecting 'Add more Zips' after selecting the first zip.
Only 'Swipe to confirm Flash' once all zips have been queued.
I recommend numbering the zips in the order they need flashed.
Note: this issue is now resolved as of 09/08/20 as per https://forum.xda-developers.com/oneplus-6t/how-to/guide-rom-flashing-easy-t4143701/post83241857
As a side note and given that I show an OmniROM zip in the previous screenshots here's a fix required for flashing OmniROM.
I use Mixplorer to do the following.
1) Open the OmniROM weekly zip
2) Navigate to folder shown
3) Open metadata
4) Edit oneplus6t to OnePlus6T
5) Save metadata
OmniROM will now flash successfully in TWRP.
Nice post! Don't mean to be rude but is kinda redundant as my thread already existed: https://forum.xda-developers.com/oneplus-6/how-to/script-copy-oxygenos-base-partitions-to-t4097979
Prakyy said:
Nice post! Don't mean to be rude but is kinda redundant as my thread already existed: https://forum.xda-developers.com/oneplus-6/how-to/script-copy-oxygenos-base-partitions-to-t4097979
Click to expand...
Click to collapse
Didn't know your post existed. Only learnt about the method on Pixen OS thread which uses it and gives you credit as did I. A lot of people only look in their own phone forum. If you don't mind I'll leave this thread open. However if you aren't happy I'll ask a mod to close it.
Deleted. Think maybe I'm getting altimeters. ?
Prakyy said:
Nice post! Don't mean to be rude but is kinda redundant as my thread already existed: https://forum.xda-developers.com/oneplus-6/how-to/script-copy-oxygenos-base-partitions-to-t4097979
Click to expand...
Click to collapse
Edited first post to make it clearer this is your work.
mitchst2 said:
Didn't know your post existed. Only learnt about the method on Pixen OS thread which uses it and gives you credit as did I. A lot of people only look in their own phone forum. If you don't mind I'll leave this thread open. However if you aren't happy I'll ask a mod to close it.
Click to expand...
Click to collapse
You can keep it open ofc I don't mind.
However, yes, many people only see in their device's forums but since this script will work w/ any A/B device, is there a forum I could post in so that all device owners can see it??
Prakyy said:
You can keep it open ofc I don't mind.
However, yes, many people only see in their device's forums but since this script will work w/ any A/B device, is there a forum I could post in so that all device owners can see it??
Click to expand...
Click to collapse
Good question.
Is 'Android Development and Hacking / General' the right place? There are some all device guides with a lot of views in there.
https://forum.xda-developers.com/android/general
mitchst2 said:
As a side note and given that I show an OmniROM zip in the previous screenshots here's a fix required for flashing OmniROM.
I use Mixplorer to do the following.
1) Open the OmniROM weekly zip
2) Navigate to folder shown
3) Open metadata
4) Edit oneplus6t to OnePlus6T
5) Save metadata
OmniROM will now flash successfully in TWRP.
Click to expand...
Click to collapse
As of 09/08/20 build and this commit all is well with OMNI and TWRP again. No need to edit the ROM zip anymore.
Is there a proper way to switch from one custom rom to another without formatting the data? Encryption and A/B made the custom rom game so crazy and time taking now. Or maybe I lost track of things. I could always take a backup of storage on laptop but the backups are very huge, mostly 80gb+ and takes forever while backing up whatsapp databases with images thumbnails and all.
brajesh.sharma87 said:
Is there a proper way to switch from one custom rom to another without formatting the data? Encryption and A/B made the custom rom game so crazy and time taking now. Or maybe I lost track of things. I could always take a backup of storage on laptop but the backups are very huge, mostly 80gb+ and takes forever while backing up whatsapp databases with images thumbnails and all.
Click to expand...
Click to collapse
No when switching ROM formatting data will be necessary. Not used it myself but others recommend Migrate to restore apps and data.
I was looking for a way to backup current rom using twrp, test a rom and then be back on the original rom with a twrp restore. If anyone finds a way to do this without format data, pls let me know.
brajesh.sharma87 said:
I was looking for a way to backup current rom using twrp, test a rom and then be back on the original rom with a twrp restore. If anyone finds a way to do this without format data, pls let me know.
Click to expand...
Click to collapse
I just restored PiXeN from AOSPA on 6t device and had no issues and I did NOT format my data or do anything but let TWRP do it's restore then rebooted system.. Just backup your system, data and boot partitions and restore them then reboot system. I didn't encrypt my backup using a pw in recovery. I also use magisk canary latest and the themed TWRP recovery 3.4.0-v1 from EvoX rom that acuicultor compiles and morphine1 themes. I've not restored yet using any other TWRP so not sure what works and what doesn't as far as that goes but the themed recovery works for me.
**Formatting data is unavoidable when installing an AOSP custom rom coming from stock OOS rom.
Edit
flash713 said:
I just restored PiXeN from AOSPA on 6t device and had no issues and I did NOT format my data or do anything but let TWRP do it's restore then rebooted system.. Just backup your system, data and boot partitions and restore them then reboot system. I didn't encrypt my backup using a pw in recovery. I also use magisk canary latest and the themed TWRP recovery 3.4.0-v1 from EvoX rom that acuicultor compiles and morphine1 themes. I've not restored yet using any other TWRP so not sure what works and what doesn't as far as that goes but the themed recovery works for me.
**Formatting data is unavoidable when installing an AOSP custom rom coming from stock OOS rom.
Edit
Click to expand...
Click to collapse
I had to mandatory format data when I wanted to move from evolution x to aospa.
brajesh.sharma87 said:
I had to mandatory format data when I wanted to move from evolution x to aospa.
Click to expand...
Click to collapse
And I've also had to format data before as well but not lately. Could it be because I format both slots coming from OOS or because I use Canary Magisk or the recovery I use.. No idea but next time you are on EvoX backup system, data and boot and try and restore it using that recovery that comes with EvoX and see what happens. These last few weeks I've stayed on AOSiP and PixeN and I flashed Omni once I think but restoring from AOSPA to Pixen was flawless for me and also restoring Pixen to Pixen was also fine, which I do because I always mess around with sound mods.... I'm on AOSiP now and soon as I get more charge on my phone I'm going to try and restore to something I have a backup already made on one of my USB drives and I'll edit this post and report what the outcome is...

[ROM][OFFICIAL][fajita][11.0]crDroid Android[v7.30]

NOTICE: crDroid 7.x (Android 11) is now in maintenance-only release mode, and will probably be End-Of-Life'd soon.
I'll be merging monthly Android Security Bulletins from upstream as they're available, and pushing releases, but they're blind builds at this point and I don't have time to troubleshoot them any longer.
Please consider updating to crDroid 9.x (Android 13):
crDroid 9.x XDA thread - OP 6/6T
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
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: Show/Hide
- "Clean flash": Removing device protection & clearing user settings before installing a bootable system install zip (usually by either wiping or formatting data, see below).
- "Dirty flash": Flashing a ROM zip (usually upgrading to new version, sometimes just re-flashing the existing one) without wiping data or anything first.
- "Wipe data": Synonymous with "factory reset", accomplished from TWRP recovery by selecting "Wipe", then performing the "Slide to factory reset". Clears user data without erasing any partitions, removing encryption, or deleting contents of internal storage.
- "Format data": Formats the data partition itself, resets all file-based encryption keys, loses all contents of internal storage, and in fact deletes all "user 0" directories (this has some implications for internal storage before & after first boot).
- "User 0" directories are a series of directories that store userdata for the primary user, "Owner", and get created in various places throughout the filesystem on first system boot if they don't exist already. Anything you copy to "internal storage" while booted in recovery after "formatting data" will actually be copied to /data/media/ instead of /data/media/0/, and will become invisible to regular file browsing after first boot once the system has created /data/media/0, since the system will prefer to use that path for internal storage from then on (so you'll need a root file browser to delete things from /data/media, or just ADB sideload things instead of copying after formatting but before booting).
- "OTA package": Originally an abbreviation for "over the air", referring to how a software update could be delivered (as opposed to having to take your phone to a carrier's store for a firmware update via serial/USB connection). The common usage in Android circles is any installation zip file that actually includes a bootable system.
- Some partitions are duplicated (system, vendor, boot, and probably a couple others, but not data) and have a "slot A" & "slot B" copy.
- "Slot A" and "slot B" are absolute designations, but most installer zip scripts use the relative designations: "active" and "inactive". Whichever slot you're booted from currently is "active", and the other one is "inactive".
- Installing a zip file that's flagged as being an OTA package will 1) install the contents to the "inactive" slot, and then 2) flag the bootloader to switch which slot is considered "active" (and booted from) and "inactive" upon next reboot.
- The OxygenOS full OTA zip files and all custom ROM installer zip files are considered "OTA packages" and will trigger a slot switch on next boot after installation.
- You can install multiple OTA zip packages one after the other without rebooting in both the stock recovery and TWRP; they will all get installed into the correct partitions in the "inactive" slot, one on top of the other, and then it will swap active & inactive upon reboot.
- We don't use what are called "delta" updates, which can patch existing partitions by block or by file; we use full filesystem images. So for us, OTA zip packages are really just a bunch of partition filesystem image files all wrapped up into a "payload.bin" with some extra instructions & metadata/checksums, so when you flash a ROM, it overwrites entire partitions at a time instead of individual files or filesystem blocks within that partition. So if you've changed something in a partition like system that gets written as part of flashing an OTA zip, all your changes are gone. The only thing in the system partition afterward will be what was in the system.img that was included in the ROM zip payload.
- The partitions that crDroid, LineageOS, and most custom ROMs for OnePlus 6 & 6T install to when flashing are boot (contains recovery & kernel), dtbo, system, and vbmeta. Some ROMs (like Syberia) build the vendor partition from source instead of just trying to work with the existing OEM vendor partition, so they flash that one too when installing. So you definitely need to flash stock vendor before switching from Syberia or another source-built vendor ROM to one like Lineage or crDroid that uses prebuilt.
- "Prebuilt vendor" vs. "source-built" vendor partitions: when first trying to get a custom ROM working on a new device now that we have separate system & vendor partitions & Google's "Project Treble" is a thing, you'll often just leave the contents of the vendor partition alone, because that's where all the proprietary or device-specific stuff lives (manufacturer specific hardware drivers & interfaces, any DRM libraries, custom frameworks & selinux policies for talking to them), and you make a compatibility map of what framework versions you're compiling against in system and what vendor version they're compatible with or supersede or you overlay updated things that should replace stuff in the vendor partition and keep it in system_ext instead. But you're also limited in that if there are some things in vendor, you CAN'T work around it from the ROM side (like, OnePlus Camera working correctly). So often, once the basics are functioning, the goal is to move to building the contents of the vendor partition from source, because you then have the freedom to fix problems with sepolicy, library/framework mismatches, etc. and make things work with the custom ROM instead of only working with the OEM's flavor of Android, and you can still copy individual pre-compiled files from the stock vendor filesystem image if needed (like if there's no open-source equivalent for some driver). Unfortunately, OnePlus SDM845 (enchilada & fajita, the OP6 & OP6T) never got a proper source-built vendor bringup by the LineageOS team (upon which crDroid is based). And while Syberia has had source built vendor in Android 11 (possibly 10?), it was only done for enchilada and NOT fajita, it's not trivial to unroll & commonize what they've done to apply to other ROMs, and some of the proprietary files they keep are imported from other similar devices/similar chipsets rather than source-built (presumably because the OnePlus ones are modified in a weird way that the open-source components can't hook into, but still not ideal). So for fixing a lot of the issues we still face with lack of things working quite right, or hardware features not available in custom ROMs (especially compared to newer OnePlus devices like the 7, 8, or 9 series), we're kinda stuck, because you can't just implement it against the stock prebuilt vendor.
- "Updating firmware" simply means we're flashing updated contents from the manufacturer into all the OTHER partitions besides the ones that the ROM OTA zip touches. There are another dozen or more of those, besides system & boot, that the full OxygenOS OTA zip would normally write to when you install it. The contents of the system partition in custom ROMs for our device are generally built against a particular version of OxygenOS (mostly the contents of the OEM vendor partition), and we've recently had an entire major Android version update come through from OxygenOS. Some people are still on older firmware that is now dramatically different than what the current custom ROM was intended to deal with (that is, all the stuff from OxygenOS is still based on Android 10, while the ROM is expecting compatibility with Android 11), and while I tend to agree that OxygenOS 10 was better than the current state of OOS 11, that doesn't matter when you're talking about installing the custom ROM over it. So please, keep an eye out in the release notes for what the recommended/required firmware versions are, and remember to update (procedure below).
Notes on custom recoveries with OxygenOS 11 firmware:
Spoiler: Show/Hide
- My understanding (from people smarter than me) is that the android-11 tree of TWRP is kind of a mess at the moment. I had made some 3.6.0_11-0 unofficial builds for both enchilada & fajita, but now they don't even seem to boot and I don't know why. TWRP android-11 tree refuses to mount the system partition where it belongs, and so addon.d OTA survival scripts don't work correctly any longer (which means you're hosed if you use NikGapps and update while booted from a TWRP version ending in "11-0", or if you have Gapps installed as a module and forget to reboot recovery & re-flash Magisk after flashing an update from TWRP).
- Trying to `fastboot boot` an Android 9-based TWRP image (like official 3.5.2_9-0 twrp.img) after installing OxygenOS 11 doesn't work, and will drop you into Qualcomm Crash Dump mode. Don't try to flash it as your boot partion, either.
- Meanwhile, stock LineageOS-based recovery, for all its shortcomings, has working fastbootd (aka "Userspace fastboot", which is what happens when you go to "Advanced", then choose "Enter fastboot" and the background colors go from purple to orange) that lets you flash both slots at once and unlocks critical partitions, while the OnePlus OEM bootloader (where it says "Fastboot Mode" in a square, then goes to the big green "START" text over white & dark red terminal font type text) can't be used to flash every partition to update firmware. Personally, I still think of it as wannabe-class and not a "real" custom recovery until the Lineage team 1) implements userdata decryption so you can manage files in /data and install updates from internal storage, and 2) allows for a factory reset the way we've always all understood it ("wipe data") WITHOUT nuking the contents of internal storage for no good reason ("formatting data"). But since crDroid is LineageOS-based, it's what we've got, and fastbootd is the best way to update firmware.
- With all that being said, since it's likely TWRP will only get MORE broken with Android 12 looming large, we're officially only going to support the built-in LineageOS-based recovery & OTA updater moving forward, until things change dramatically. If you want to try different custom recoveries (new builds of TWRP, OrangeFox, PBRP, whatever), feel free; and let us know how it works! But you're on you're own doing that.
- And on the system update side, applying system OTA updates seems to work correctly using the built-in Updater tool (Settings > System > Updater) both with new OTA releases and when choosing a file from "Local Installation". It executes OTA survival scripts correctly from /system/addon.d/ as well. I've personally tested and it correctly preserved Magisk v23 canary and MindTheGapps & NikGapps (on tester fajita) and MinMicroG "system" install package on my daily driver enchilada.
- ...however it has an accidental dependency on Magisk, due to things beyond my control upstream in the ROM. Whoops. Won't work if you don't have Magisk installed.
- FLASHING the old official TWRP 3.5.2_9-0 INSTALLER zip (or newer) on top of OOS 11.x DOES seem to work for now, but you need to be in a recovery environment that allows you to flash that installer in the first place (either by booting into an already-installed TWRP recovery before updating firmware, or by having an Android 11 compatible recovery boot.img to be able to `fastboot boot`). I don't know if it'll keep working in Android 12 or with crDroid 8.
- Look, if you really want to stick with TWRP, I don't blame you. I made bootable Android 11 compatible TWRP images for enchilada & fajita back at 3.5.2, and they still work well enough to `fastboot boot` them and then flash the old official 3.5.2_9-0 installer zips. Look at the attachments at the end of post #2. Also, you may want to try one of Siddhesh's custom recoveries; they probably work even better.
- 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 (with 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 (white & purple on black color scheme, LineageOS logo in the middle).
- Tap "Advanced", then tap "Enter fastboot" (the already-selected first option), and color scheme should change from purple to orange.
- 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/fajita/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 OP6T, 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 (and lo, it was most purple), 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: Show/Hide
OTA updating from TWRP with OOS 11.x firmware:
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 crDroid.zip, select additional zips, choose the TWRP installer zip, then 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.
OTA updating from TWRP with OOS 10.x firmware:
- Don't. Update firmware to 11.1.2.2 first.
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_fajita/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
Notes:
- crDroid 7.x (based on Android 11 & LineageOS 18.1) is no longer being actively developed, and I don't know how long someone on the dev team will keep merging monthly security updates. I'll try to keep building releases as long as there are updates, but all my limited time is focused on 9.x/Android 13 bringup now. We're in maintenance mode now, so any outstanding bugs are likely to just remain for perpetuity.
- Yes it supports package signature spoofing permission for microG compatibility out of the box (but will work without ANY GApps/microG implementation installed as well).
- Maintainer does not use GApps, so cannot answer questions about which packages work best from firsthand experience. In general, go with the smallest package you can and then install other Google apps from the Play Store. Please note that if you replace the stock dialer with Google Dialer, you may lose access to the Phone Info menu (*#*#4636#*#*) until you install another dialer. For recommendations, see https://wiki.lineageos.org/gapps.
- Requires OOS 11.1.2.2 firmware (last official release). You should consider using an Android 10 ROM if you want to continue using Android 10 firmware.
- Tested against latest Magisk 24 (with zygisk instead of magiskhide), works well.
- No there won't be official builds with inline GApps; please don't ask.
crDroid 7.30 - May 2023 ASB release notes/changelog:
Changelog since v7.29 official release:
- Merged May 2023 Android Security Bulletin from upstream.
- Whatever the ROM dev team changed upstream in LineageOS and crDroid sources (not much? they're busy with Android 13).
- No changes to device-specific files.
Known issues:
Fajita-specific:
- If you use App Lock and/or Face Unlock, you'll likely run into issues with the FOD circle view starting to flicker randomly into view when it shouldn't be there (like it's not dismissing properly because one part of the security handling is fighting with or doesn't notify the other part that it's done and doesn't need to try to accept a fingerprint any longer). As a knock-on effect, this will also cause "Disable Night Light when FOD is visible" to freak out. I have one person who doesn't use either report that they were getting the random FOD circle anyway, so... if you're having this problem, please make sure you've given MatLog permission to manage files so that it can actually save logs to internal storage and capture a logcat & send it to me. Logs or it didn't happen, etc etc.
Common:
- No f2fs-formatted userdata support, sadly. Doesn't work with the prebuilt vendor partition required for this version of Android. You'll need to reformat data to ext4 before being able to boot (you can fastboot flash the crDroid 8.x or 9.x boot.img if you need a recovery that will let you choose).
- Google Hotword recognition might be kinda broken right now (on more than one custom ROM/device, not just us), and may cause some screw-up that prevents microphone audio from being allowed to go anywhere else if it's enabled.
- If you are stuck at "Android is starting..." looping endlessly, then press power, reboot to bootloader, and follow the instructions for updating firmware to OxygenOS 11.1.2.2 in the first post. It doesn't wipe data, you shouldn't lose anything.
- Some screen-off gestures may not work, due to limitations beyond my control; don't use those gestures. Sorry.
Helpful links:
Download ROM
Android platform tools (adb & fastboot)
OxygenOS 11.1.2.2 Full OTA
Firmware update instructions (LineageOS Wiki)
(Please note that since crDroid 7.x/Android 11 for this device depends on the prebuilt OxygenOS vendor partition, you'll also need to add fastboot flash --slot=all vendor vendor.img to the list of commands in the instructions, just before the final fastboot reboot.
MSMTool (oh now you're in trouble - use latest unless you have a good reason to intentionally downgrade)
Magisk (use latest)
Official TWRP 3.5.2_9-0 install zip (good luck)
MaWalla99 said:
Download: coming soon!
Click to expand...
Click to collapse
will this work with verizon?
Tomkumato said:
will this work with verizon?
Click to expand...
Click to collapse
I don't know since I'm not in the US.
MaWalla99 said:
I don't know since I'm not in the US.
Click to expand...
Click to collapse
Thanks
hi dev thanks for this rom i have successfully installed now, so there is a small info i like to share, that is installing any version of nikgapps apart from core nikgapps will result in bootloop or after even format the data, rom will boot but set up screen says it crashed, so i have installed with core version of nikgapps, rom booted successfully. that's all i have info to share now.
Hi dev ROM is working fantastically after installed all the application I used before, so thanks for it, it has enough customization thanks for it too.
Does NOT work on Verizon.
Hi devs i don't know the reason why this happening, the problem is when i change default launcher to nova launcher system ui automatically crashes, i can't specifically pinpoint the reason, but after launching the Paytm app for first time then paytm also crashed so i don't know what to do now. I have attached logcat from matlog so I think I have captured required info.
Thanks for the ROM. Where is the best place to get A11 gapps?
wangdak said:
Thanks for the ROM. Where is the best place to get A11 gapps?
Click to expand...
Click to collapse
nik gapps
hi all,
I'm on fajita with crdroid 5.11 - Android 9.
i'd like to bump up to this thread's version. any tips for how to go about that - step by step?
I assume it would be something like -- update TWRP, update firmware, then flash rom as usual with instructions in first post?
many thanks
autologic said:
hi all,
I'm on fajita with crdroid 5.11 - Android 9.
i'd like to bump up to this thread's version. any tips for how to go about that - step by step?
I assume it would be something like -- update TWRP, update firmware, then flash rom as usual with instructions in first post?
many thanks
Click to expand...
Click to collapse
1 - remove any passwords used to unlock screens - 2 - Backup all your important data, - 3 - Make sure you're on latest TWRP for Fajita and that you have latest OOS firmware, Gapps, TWRP installer and the ROM you want to install (zip files) copied to your "Downloads " directory, then reboot into recovery mode, - 4 - make sure you're on slot A (tap "reboot", tap slot "A" and reboot to recovery again), 5 - tap "Wipe", "advanced wipe" and select " Dalvick Art/Cache", " data" and "system", - 6 - swipe to wipe, 7 - tap "install" and select OOS, then swipe to install, 8 - install TWRP zip file, 9 - reboot to recovery, - 10 - install OOS on the second slot, 11- install TWRP, 12 - reboot to recovery, 13 - install the new ROM, 14 - tap "Wipe", advanced Wipe", "Dalvick Art/Cache" and "Data", 15 - swipe to wipe, 16 - install TWRP and reboot to recovery, 17 - install GAPPS, - wipe " Dalvick Art/Cache and reboot to system. That's it!
autologic said:
hi all,
I'm on fajita with crdroid 5.11 - Android 9.
i'd like to bump up to this thread's version. any tips for how to go about that - step by step?
I assume it would be something like -- update TWRP, update firmware, then flash rom as usual with instructions in first post?
many thanks
Click to expand...
Click to collapse
Boot in latest TWRP
Flash latest OOS 10
Flash CR Droid Zip
Flash Finalize.zip
Flash latest TWRP
Format data -type Yes to confirm
Reboot to recovery
Flash Gapps & Magisk (Optional)
Coming from a different version of Android, format data is recommended. Backup your data before you do this
Hi LiveDisplay color profile doesn't work ,setting a profile ,once you exit it resets back to normal again
Excellent ROM.
Thanks!
Hi dev i attached a video, in which i try to explain a problem, i can't pinpoint say amazon app only having this kind of problem, but i can say irresponsible of which app suddenly ui will have some kind of problem, it will appear from nowhere after that phone will hang and i need to restart the phone or else battery drains very fast. Kindly look into it. I reinstalled the rom two time freshly, even though it having same kind of problem presist, but i really loved one good feature that is finger print working fantastic even after reboot. OS is not crashing and reboot by itself, app also not crashing but suddenly some part is acting wired. Anyway i will upload the video for proof. I have attached gif file as per xda rules.
I have one last idea in my head instead of using app called migrate to take back up of application installed in my phone and restore to newly installed rom. Better use play store to install all app one by one and see there is any difference, i really love this rom thats why i reinstalling freshly again and again to see any difference possible
I've never used micro g a whole lot in the past but I'm all for it now due to the unbelievable amount of permissions apps ask for and while I love Android I'm no Google person either. I flashed 7.2 CrDroid two days ago and didn't install gapps. Then I went back in twrp and flashed micro g and fdroid from (stable) nano droid installer thread here on XDA. Going to read up more about micro g ..etc.. Op, if you are testing anything that has to do with this or anything feel free to msg me anytime. Ill run whatever through everything possible and gather logs if need be and send them to you properly. Thanks for this rom!! Great job!! Always loved CrDroid! Think i 1st used CrDroid back in 2013 or so. Fantastic rom!! My Screen time on 7.2 CrDroid.
flash713 said:
I've never used micro g a whole lot in the past but I'm all for it now due to the unbelievable amount of permissions apps ask for and while I love Android I'm no Google person either. I flashed 7.2 CrDroid two days ago and didn't install gapps. Then I went back in twrp and flashed micro g and fdroid from (stable) nano droid installer thread here on XDA. Going to read up more about micro g ..etc.. Op, if you are testing anything that has to do with this or anything feel free to msg me anytime. Ill run whatever through everything possible and gather logs if need be and send them to you properly. Thanks for this rom!! Great job!! Always loved CrDroid! Think i 1st used CrDroid back in 2013 or so. Fantastic rom!! My Screen time on 7.2 CrDroid.
Click to expand...
Click to collapse
Yeah I feel you I'm right where you are I think it's time to ditch Google and get a similar setup. Wonder if there's a thread in the 6t section yet? Google still my friend she'll teach me how to set it up, lol

Categories

Resources