Help! Severe storage performance degradation on Oneplus 3T running LineageOS - OnePlus 3T Questions & Answers

I've been running LineageOS 14.1 on my OnePlus 3T since last March when I bought it. On Friday 2017-12-15, I installed the weekly LineageOS update and the phone got stuck on the boot animation after entering the encryption password. I let it sit for about 45 minutes and then powered it off. Has anyone else experienced this?
Info:
* LineageOS 14.1 (build 20171215); no google play services
* TWRP 3.1.0-1
* 128GB version of the Oneplus 3T
* /data formatting: encrypted f2fs (so far)
Here is the troubleshooting I've done thus far and my observations:
* I have noticed over the past few months that it has taken longer to flash ROMs than when it was new. Sometimes when booting (although rarely), the boot animation freezes for a bit.
* Without reformatting, I restored a nandroid backup from 2017-11-25. I have previously restored this backup, so it's known-good. When booting, it wouldn't get past the boot animation after entering the encryption passwd. Sometimes, the boot animation would freeze entirely.
* I installed OxygenOS (version OnePlus3TOxygen_28_OTA_028_all_1707141503_fc82c5d2e3054e44). The phone booted very quickly and got past the passwd prompt without issue. OxygenOS ran noticeably faster. I let it install the latest OTA and that also went quite quickly.
* I nuked /data and installed a fresh LineageOS build 20171215 with no modifications (besides the su addon). The phone was able to boot all of the way, but apps were slow and some froze. The OS crashed (soft-reboot) twice. I have a logcat for that (can't find a way to attach; are new members allowed to attach?).
* I reinstalled OxygenOS and downloaded my music to it (~50GB). The performance of the phone still seems fine. I'm doing this to test the theory that it might be an issue with wear-leveling on the flash.
Next steps / tests:
* Based on the behavior, I'm not convinced it's a hardware issue. I suspect that maybe the binary blobs / and/or kernel are responsible for the difference.
* I'll try LineageOS with /data formatted as ext4 instead of f2fs.
* I'll try LineageOS, but booted with Oxygen's kernel via fastboot boot. I'm not sure this will even work at all, but it's worth a try.
I'll report the results of my tests / troubleshooting here.

This might explain your problems with booting LOS.
From the official OnePlus 3/3T LineageOS thread post #2:
Started from lineage-14.1-20170207-nightly-oneplus3-signed.zip, we provide unified builds for both 3&3T, and you need to install certain firmware to pass the TrustZone assertion. Currently they're the OxygenOS Open Beta 19/11 ones. As oneplus won't update them every time new OTAs are rolling out, firmware from other versions might also pass the assertion.

Just wanted to point out the thread title say "5T" but everything in the post says "3T" so I do presume you are on the 3T. If so, you may want to update the title, to avoid confusion. I saw the thread title myself, and was going to post "Dude, wrong device section" until I read the content.

One test I did before updating my firmware:
I filled the userdata partition about half full with music (while running Oxygen). I then flashed my known-good backup and it booted. However, installing the update failed (boot animation for > 1 hour after entering encryption passwd). I wonder if there is something with the flash wear-leveling at play.
I upgraded the firmware from the latest OxygenOS beta (OnePlus3TOxygen_28_OTA_038_all_1711272148_5e0ea1454e8f4f0f.zip). Upgraded TWRP to 3.2.1-0 first. I'll do some more testing and report my results.
Only adspso.bin was the same.
Anyone know what each of these does? The more I understand, the better.
The complete list of files is:
Code:
BTFM.bin
NON-HLOS.bin
adspso.bin
cmnlib.mbn
cmnlib64.mbn
devcfg.mbn
emmc_appsboot.mbn
hyp.mbn
keymaster.mbn
logo.bin
mdtp.img
pmic.elf
rpm.mbn
tz.mbn
xbl.elf

After upgrading the firmware, I restored my known-good backup and performed the following upgrades:
* lineage build 20171124 (restored from backup) -> lineage build 20171201 -> lineage build 20171215
* lineage build 20171124 (restored from backup) -> lineage build 20171215
It made it through 3 upgrade cycles with normal behavior.
Previously, it hung after upgrades after entering the encryption passwd. This is the stage where it "optimizes" all of the apps (someone feel free to correct me if there's a better term for this). I suspect that all of this flashing / upgrading caused the wear leveling to swap out the bad blocks that were causing the hang (assuming that was the problem).
I'm going to try completely filling /data with random files (i.e. for loop; dd if=/dev/urandom etc). I'll then completely wipe the phone afterwards. I'm hoping this will cause any other bad blocks to get put out of service and prevent this problem in the future. Are there any better ways of doing this and/or any advanced diagnostic tools for UFS hardware?

After filling /data with random files, I ran through a few more upgrade cycles and it hung again. I noticed IOExceptions in the logcat, both on LineageOS and on OxygenOS. I'm pretty sure this is a hardware failure and I've filed an RMA with OnePlus. They're not making it easy (despite my detailed troubleshooting).
One interesting thing is they want to do essentially this procedure: https://forum.xda-developers.com/oneplus-3t/how-to/unbrick-unbrick-tutorial-oneplus-3t-t3515306
I don't think that will help considering it's just a different way of flashing the same bits to the storage.

This is the known side effect of using F2FS filesystem, me to had problems like this until I switched back to EXT4 and now it takes under a second to enter TWRP and phone doesn't go turtle when the storage gets filled up.

pitrus- said:
This is the known side effect of using F2FS filesystem, me to had problems like this until I switched back to EXT4 and now it takes under a second to enter TWRP and phone doesn't go turtle when the storage gets filled up.
Click to expand...
Click to collapse
Do you know why f2fs has this problem?

So I finally got my phone back from repairs yesterday (yes, it's been almost a month). I noticed that wiping the phone from twrp (using format data) and then re-encrypting the phone after flashing lineage causes corruption on /data, even though the encryption process completed without error. The phone would boot, accept my password, continue to boot, get to the lockscreen, and then crash immediately. There were IOExceptions in the logcat. Booting to twrp afterwards also resulted in IOExceptions in the logcat.
Flashing Oxygen, letting it boot once to force-encrypt, and then wiping and installing lineage without formatting /data (encryption preserved) did not result in this issue. The phone behaved normally. I even had to set the password in Oxygen. Setting it in lineage (via the GUI) caused the boot to hang.
Since the phone's stock rom is force-encrypt, I suspect there's some sort of incompatibility between the device and the older encryption process (launched via settings) from AOSP.
I'd like to troubleshoot why this is the case. Any good tools in the Lineage source (I have the tree locally)?

linux-colonel said:
Do you know why f2fs has this problem?
Click to expand...
Click to collapse
No idea, guessing it's simply a buggy filesystem implementation.

Related

[CLOSED]TWRP 3.3.1-1 for Pixel 3A XL [OFFICIAL]

Team Win Recovery Project 3.x, or TWRP3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Code:
[I]#include <std_disclaimer.h>
/*
* Your warranty is not void.
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this recovery
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at us for messing up your device, we will laugh at you.
*
*/[/I]
Note: Please be aware that you cannot install this without a kernel with LZMA compression support, I believe most ROMs have included my commit for this so you should be good for all custom ROMs and kernels. If not please file a request to the maintainer.
In addition, please be aware that TWRP is currently not compatible with Android 10. If you would like to use TWRP you will need to go back to Android 9. If you would like more information you can read at the link here.
Not a huge problem, stock users can just temporarily boot TWRP if you have access to a PC.
Not compatible with Android Q.
Pixel devices have 2 "slots" for ROMs / firmware. TWRP will detect whichever slot is currently active and use that slot for backup AND restore. There are buttons on the reboot page and under backup -> options to change slots. Changing the active slot will cause TWRP to switch which slot that TWRP is backing up or restoring. You can make a backup of slot A, switch to B, then restore the backup which will restore the backup of A to slot B. Changing the slot in TWRP also tells the bootloader to boot that slot.
Installation:
If you already have TWRP installed: Download the latest zip and install the zip using TWRP.
If you do not already have TWRP installed: Download both the img and the zip. You will need to have fastboot binaries and the correct drivers installed. Power off your device completely. Hold volume down and turn on the device. Your device should now be in the bootloader. Connect the device to your PC. Open a command window and run the following command from the proper location:
fastboot boot path/to/twrp.img
This will temporarily boot TWRP on your device. Use ADB or MTP to transfer the zip onto your device.
Go to install and browse to the zip and install the zip. The zip will install TWRP to both boot slots. Installing TWRP at this time will remove root if you are currently rooted.
If you accidently flash TWRP to your device using fastboot instead of temporarily booting the image, you will need to download the latest factory image for your device and reflash the boot image.
Changelog:
[BETA]
3.3.1-0: Initial release for Pixel 3A XL devices
3.3.1-1: Fixed having to manually change slots before rebooting.
3.3.1-2: Updated to July blobs!
3.3.1-3: Can now install TWRP to boot image. ADB, MTP, LOGD, Repack Tools and Logcat have all been removed to save the necessary space for this to work. You can grab stuff while in the OS, then flash it in TWRP (Keep in mind I have only tested this on stock as of now, feel free to test it on whatever ROM you use. It should work, but let me know if it doesn't).
3.3.1-4: Changed back to LZMA compression, also added back all the features besides ADB/Logcat. As long as your kernel supports LZMA you will be able to take advantage of installing it permanently without having to worry about space restrictions.
3.3.1-5:
Add persist entry to fstab
* To allow TWRP to store a backup settings file on /persist
and also to be used as QCOM time fix source during early boot.
Revert "Don't include logcat."
Revert "Don't include repack tools."
3.3.1-6:
Revert "Revert "Don't include repack tools.""
Add haptics firmware.
* This obviously on it's own isn't enough to get haptics working for the 3A in TWRP, but its a start.
Don't include a precompiled update_engine_sideload
* This should fix the issue of flashing officials for StatiXOS
[STABLE]
3.3.1-0: Initial official release!
Download:
https://twrp.me/google/googlepixel3axl.html
XDA:DevDB Information
TWRP, Tool/Utility for the Google Pixel 3a XL
Contributors
ZVNexus, janjan
Source Code: https://github.com/TeamWin/android_device_google_bonito
Version Information
Status: Stable
Current Stable Version: 3.3.1-0
Stable Release Date: 2019-07-17
Current Beta Version: 3.3.1-6
Beta Release Date: 2019-06-27
Created 2019-06-27
Last Updated 2019-11-15
Reserved
Awesome! Thank you so much!
So as of this moment, there is only the ability to boot to twrp via fastboot?
DriveEuro said:
Awesome! Thank you so much!
So as of this moment, there is only the ability to boot to twrp via fastboot?
Click to expand...
Click to collapse
Yeah, having some issues actually installing it to the boot image. Should be fixed rather soon, just decided to post. Maybe I shoulda waited a bit longer, idk.
So does anyone know if TWRP + Magisk work on Android Q for root?
ZVNexus said:
Yeah, having some issues actually installing it to the boot image. Should be fixed rather soon, just decided to post. Maybe I shoulda waited a bit longer, idk.
Click to expand...
Click to collapse
I don't mind, I haven't flashed TWRP to a device since Treble came out, but it's easy enough to boot an image, so at least for my usage case, this is all I need
otg mounting problem
ZVNexus said:
Yeah, having some issues actually installing it to the boot image. Should be fixed rather soon, just decided to post. Maybe I shoulda waited a bit longer, idk.
Click to expand...
Click to collapse
no you shouldn't have waited!! thanks a lot specially from all of us checking if twrp came out every day!
hey maybe you can give me a tip since i have a problem mounting otg:
when i boot twrp image if i go to backup/select storage i find a storage/usb partition (0MB)
when i connect otg (and go to mount) it becomes storage/usbotg 1 (12000MB)
but the problem is that if i click it doesn’t remain selected, and the log reports “Unable to find partition for the path ‘/storage’ ”
if i go to mount or backup/select storage and click usbotg 1 storage it doesn’t remain selected and the log reports “E: unable to locate partition for ‘/storage/usbotg-1’ ”
(i’ve tried also with different keys but i don't think it's the point anyway the 1st was an 256GB usb/SD and the 2nd a 16GB usbkey but logs reports same error)
any tip?
I'm on Q DP4. Anyone having luck flashing Magisk (canary)? In B slot it fails to mount system and vendor. I change to A slot. It completes. I reboot on A slot, I get stuck at Google starting logo and the phone never boots. If I attempt to boot B slot afterwards, it boots up fine, but I obviously don't have Magisk installed, verified with the Magisk APP.
Anyone have a clue?
Just to provide feedback.
Fastboot booted the image, it prompted for my pin, mounted system, and was able to backup properly, moved backup to computer.
Wiped the phone, reboot and went through setup, everything was working.
Back to twrp, adb pushed the backup to the phone, restored the backup and everything was functioning.
Also tested and was able to sideload flash Magisk.
So everything seems to be working as intended.
Thank you so much for your hard work!
My TWRP is NOT prompting for pin/pattern. That has to be part of this...
Wiped data via google recovery. The phone booted to Pie (i had previously did the OTA from Pie to Q beta 4). So now I'm back on Pie somehow (without reflashing). I booted to TWRP, installed Magisk successfully.
So overall, I'm not sure if this was related to Q beta 4 OTA occupying B slot while Pie still was on A slot.
Thanks to all for their work with TWRP!
Antonyo13 said:
Just to provide feedback.
Fastboot booted the image, it prompted for my pin, mounted system, and was able to backup properly, moved backup to computer.
Wiped the phone, reboot and went through setup, everything was working.
Back to twrp, adb pushed the backup to the phone, restored the backup and everything was functioning.
Also tested and was able to sideload flash Magisk.
So everything seems to be working as intended.
Thank you so much for your hard work!
Click to expand...
Click to collapse
On previous devices I have run into TWRP restore issues if I had a security PIN set on the device when I backed up. During your test did you have a PIN setup on the phone?
artiemon said:
On previous devices I have run into TWRP restore issues if I had a security PIN set on the device when I backed up. During your test did you have a PIN setup on the phone?
Click to expand...
Click to collapse
I had a pattern, not sure if it makes a difference between pattern and pin.
I will say the only thing weird i noticed was when i wiped the phone (the default wipe from twrp, not a full format of data from twrp), when i booted I was prompted for my pattern on first unlock before the device setup. Even though it was wiped.
But restoring was perfectly fine.
Antonyo13 said:
I will say the only thing weird i noticed was when i wiped the phone (the default wipe from twrp, not a full format of data from twrp), when i booted I was prompted for my pattern on first unlock before the device setup. Even though it was wiped.
But restoring was perfectly fine.
Click to expand...
Click to collapse
That is normal on pixels. If you factory reset in TWRP your password still stays
spaceman860 said:
That is normal on pixels. If you factory reset in TWRP your password still stays
Click to expand...
Click to collapse
Thank then everything is working great. No issues at all with TWRP
So just confirming - I am , I assume encrypted , as I have a PIN and a pattern with DU ROM. Can i safely backup the existing ROM and flash another and then be able to restore if need be using this version of TWRP?
jcrompton said:
So just confirming - I am , I assume encrypted , as I have a PIN and a pattern with DU ROM. Can i safely backup the existing ROM and flash another and then be able to restore if need be using this version of TWRP?
Click to expand...
Click to collapse
Yes. This is how it has worked in the past. Don't see why it wouldn't work like this currently. If you flash a different vendor image or system image, you'll want to revert back before you restore your old ROM backup.
DriveEuro said:
Yes. This is how it has worked in the past. Don't see why it wouldn't work like this currently. If you flash a different vendor image or system image, you'll want to revert back before you restore your old ROM backup.
Click to expand...
Click to collapse
Revert back to what? Sorry I don't understand?
Flash back the original vendor and system images.
GQJ said:
Revert back to what? Sorry I don't understand?
Click to expand...
Click to collapse
He was answering my question about hypothetical referring back to a prior rom from a backup
neshipda said:
no you shouldn't have waited!! thanks a lot specially from all of us checking if twrp came out every day!
hey maybe you can give me a tip since i have a problem mounting otg:
when i boot twrp image if i go to backup/select storage i find a storage/usb partition (0MB)
when i connect otg (and go to mount) it becomes storage/usbotg 1 (12000MB)
but the problem is that if i click it doesn’t remain selected, and the log reports “Unable to find partition for the path ‘/storage’ ”
if i go to mount or backup/select storage and click usbotg 1 storage it doesn’t remain selected and the log reports “E: unable to locate partition for ‘/storage/usbotg-1’ ”
(i’ve tried also with different keys but i don't think it's the point anyway the 1st was an 256GB usb/SD and the 2nd a 16GB usbkey but logs reports same error)
any tip?
Click to expand...
Click to collapse
I didn't test OTG before I uploaded, didn't have an OTG cable, but now that I know its a problem I'll look into it.

Failure persist.img

Is there any logical reason why many of the modified roms (especially the pixel experience) come to a point where the phone almost hangs up, you end up rebooting with the power button and when you boot up it doesn't start and only fixes itself by flashing the persistent partition?
It's already happened to me like 4 times.
The last time with the last pixel experience, I flashed persist.img and got it to boot, but after 30 seconds it rebooted itself.
In the end with the original miui it goes perfect and never fails.
What's wrong with me?
No root, no magisk... only open bootloader
wrong recovery maybe. Use lr team recovery by wzsx150 if you aren't.
Also https://forum.xda-developers.com/mi-8/help/one-repair-persist-issues-t4036919
What I don't understand is what a recovery has to do with a failure after 1 week of the persist.img partition that is read-only.
kaiseryeahhh said:
What I don't understand is what a recovery has to do with a failure after 1 week of the persist.img partition that is read-only.
Click to expand...
Click to collapse
I wrote an extensive post on this issue. First thank the gods that reflashing a persist works for you, for some it doesn't. I am guessing that you also have a copy of your persist after you have fully setup your phone backed up to your desktop computer? If not do so immediately, just in case you need it one day.
Unfortunately persist is a complex image that handles a lot of responsibility: It contains the calibration data for your sensors: bluetooth, WIFI, Camera, and data signals. It also contains your FRP data such as, google , miCloud, Pay apps etc.
If you want to avoid persist issues permanently go back to stock and don't use root.
I suspect that these issues that people have had with persist are the beginning of the end, when it comes to using root, and maybe eventually impact use of custom roms too?
I have found that I can go for months without experiencing persist issues while keeping root by restoring my phone with a fastboot stock rom. To be clear I am not talking about a recovery rom that can be flashed with TWRP. It must be a fastboot rom, with a full format, it will overwrite TWRP too, so back everything up and start clean.
Unfortunately once you start experiencing persist issues you will get them again and again. I have experienced the best long term results by using the stock rom, and I also use custom recovery and root. My parents Mi8s have never used anything but Xiaomi.EU version of stable or the Stable stock w/root and they have never had the persist issue.
I have been enjoying the new Miui 12 rom. But it has been causing a lot of issues so far. First earlier today my phone stopped connecting to Google apps, and when I rebooted, I could no longer access data. In addition, I have had trouble with phone calls.. Data works but the ability to make a phone call has been sporadic. So I will unfortunately go back to the older stable Xiaomi.EU 11.0.7 rom. Which I like, but miui 12 is such an improvement it's hard to go back.
If you want to stick with Pixel Rom, just do a clean format , and flash a fastboot rom, once setup, You should be able to use it for at least a couple of months before seeing the issue again.
Sometimes you can quickly resolve the issue by simply flashing a root patched boot image that has the the correct system signature. Flash the magisk patched boot, and you may be able to go back to normal without having to reinstall anything. But the issue will return.
Thank you very much for the explanation.
But that's what I'm saying, I don't understand why a partition that in theory is only read and no one touches, gives failures.
I guess it must be a hardware failure, I don't see any other explanation.
I've never used root.
kaiseryeahhh said:
Thank you very much for the explanation.
But that's what I'm saying, I don't understand why a partition that in theory is only read and no one touches, gives failures.
I guess it must be a hardware failure, I don't see any other explanation.
I've never used root.
Click to expand...
Click to collapse
You unlocked the bootloader, maybe this alone contributes to the issue for all of us. Also, this problem occurs on practically on every phone that allows us to unlock the bootloader and use custom Roms.
While, it is possible that it could be a hardware issue, I really don’t think so ( A short would not work without issues for months at a time. For me the issue only appears when I update
You can write to the persist if you are rooted and using a version of TWRP that allows you to write specifically to the persist partition. As I mentioned I made a very extensive thread attempting to figure this issue out myself, and I provided several resolutions.
If you never want to deal with it again then restore your persist backup, return to stock and lock the bootloader. Maybe even sell the phone and buy a onePlus 7T while they are still priced at the low $499…I am considering this myself.
No doubt, Xiaomi contributes to this issue with Mi Cloud restore being available to devices with unlocked bootloaders, I believe that they are recently starting to figure this out for themselves because you can no longer backup and restore every single app.
Also, if I am using a Miui based custom rom. My sim card does not work until I sync my device to Mi-Cloud., and because I switched to a cheaper carrier that does not allow inbound calls from overseas, I have trouble receiving a text from MI Cloud to verify my device. So, I do it manually by going to https://i.mi.com/ on my phone and selecting to find my device.
See the attached image with 2 unknown devices, I believe that this triggers the persist issue. but it can also be triggered by Google. I don’t think it's a hardware issue. Finally, these Roms all seem to use individual variations of FSTAB vendor files, changing this absolutely increases the potential for getting a persist conflict. Keep in mind that your persist partition is NOT really empty when you an issue. It’s is simply encrypted.
tsongming said:
I wrote an extensive post on this issue. First thank the gods that reflashing a persist works for you, for some it doesn't. I am guessing that you also have a copy of your persist after you have fully setup your phone backed up to your desktop computer? If not do so immediately, just in case you need it one day.
Unfortunately persist is a complex image that handles a lot of responsibility: It contains the calibration data for your sensors: bluetooth, WIFI, Camera, and data signals. It also contains your FRP data such as, google , miCloud, Pay apps etc.
If you want to avoid persist issues permanently go back to stock and don't use root.
I suspect that these issues that people have had with persist are the beginning of the end, when it comes to using root, and maybe eventually impact use of custom roms too?
I have found that I can go for months without experiencing persist issues while keeping root by restoring my phone with a fastboot stock rom. To be clear I am not talking about a recovery rom that can be flashed with TWRP. It must be a fastboot rom, with a full format, it will overwrite TWRP too, so back everything up and start clean.
Unfortunately once you start experiencing persist issues you will get them again and again. I have experienced the best long term results by using the stock rom, and I also use custom recovery and root. My parents Mi8s have never used anything but Xiaomi.EU version of stable or the Stable stock w/root and they have never had the persist issue.
I have been enjoying the new Miui 12 rom. But it has been causing a lot of issues so far. First earlier today my phone stopped connecting to Google apps, and when I rebooted, I could no longer access data. In addition, I have had trouble with phone calls.. Data works but the ability to make a phone call has been sporadic. So I will unfortunately go back to the older stable Xiaomi.EU 11.0.7 rom. Which I like, but miui 12 is such an improvement it's hard to go back.
If you want to stick with Pixel Rom, just do a clean format , and flash a fastboot rom, once setup, You should be able to use it for at least a couple of months before seeing the issue again.
Sometimes you can quickly resolve the issue by simply flashing a root patched boot image that has the the correct system signature. Flash the magisk patched boot, and you may be able to go back to normal without having to reinstall anything. But the issue will return.
Click to expand...
Click to collapse
Hm, I had a problem with persist partition on my Mi 8 too, but after 2nd flashing stock persist.img (it was taken from fastboot ROM) via TWRP all seems OK...
But I still have lots of problems with data partition on any ROM (I used xiaomi.eu beta and now I use PE+). The problems can be in files/folders, and I can't simply delete them (on PE+ I can, but the errors from recovery don't disappear...) There's 3 types of errors in data partition I had:
-Operation not permitted
-Structure needs cleaning
-No such file or directory
Now I'm going to explain how I fix these errors on xiaomi.eu:
First error (operation not permitted) can be solved by deleting some app data from system (in system settings of an app)
BUT if the "problem" path isn't app data, I have no idea what I should do... The idea is you should use system standard operations of wiping something.
Second error can be solved by "e2fsck" (fsck operation) from recovery terminal
Third error can be solved by deleting "problem" path/files IN ENCRYPTED STATE. The problem is finding them when they're encrypted. I puted in the first encrypted folder with the problem a lot of files and when I see the folder with a lot of files, I delete it(if the /data/data/*app_data*/cache/*file1* file is problem, then I put a lot of files in /data/data/*app_data* folder (this folder is the first encrypted folder after reboot) and then spend a lot of time to find this folder in encrypted state to delete it)
On PE+ I got only 3 "operation not permitted error", but, as I said, deleting works, but it doesn't "kill" errors
So, obviously, I don't like that from time to time I have errors in my data partitions. Once I didn't fix it, errors "multiplied", I woke app and saw my phone in TWRP with the hundreds errors of different types. So, it's easier to format data... (wiping doesn't give anything, only formatting)
So, does anyone know what I should do? It very looks like hardware error, because I don't see anyone else with the errors...
I guess the problem is watsapp, because always my system UI stucks for a long time (20~30 sec.), which is a signal of appearing another data error, I writed someone in watsapp or has it launched...
Here's an example of the errors (only "operation not permitted" error) on PE+
View attachment 5014159
Plovel said:
Here's an example of the errors (only "operation not permitted" error) on PE+
View attachment 5014159
Click to expand...
Click to collapse
Your log file is not accessible, you reupload it.
You are having the exact issue that I get occasionally.
Try this
The next time you are ready to complete a full format trying changing your user data and cache partition to F2FS format, then install a rom and attempt to to boot to system, some roms will boot and the issue will go away for some people. I have not been able to boot to a miui Rom using this format. However, I helped someone else via PM with this same issue and they told me that changing to F2FS, rebooting to recovery and then changing it back to ext4 work for them, and I never heard about that issue from that person again.
When I installed my recent installation of the Miui 12 5.7 Xiaomi.EU, I followed th3ese steps myself and so far no issues.
In fact, I just found how people with the OnePlus 5T used the exact same solution: https://forum.xda-developers.com/oneplus-5t/help/failed-to-mount-structure-cleaning-t3761674
Hopefully that allows you to run without issues for a while.
Good Luck!
Hi, I'm still having the same problems.
I thought everything I did as an orangefox would solve it, but it doesn't.
After 2 days with pixel experience problems again.
After 2 days with the last miui 12's beta, the mobile becomes very slow, I reboot and lose sensors and even a semi factory reset was done, in which I had lost all the applications but I was still logged in google.
Does this make any sense?
I've seen that there is a persist and a persistbackup partition
Does this come from stock? or is it a twrp add-on?
Is there a way to delete absolutely everything and leave the phone with the original partitions?
Because maybe the problem can come from there.
Also, is the partition still read/write?
I tried flashing the persist image then completely go back to china rom stock and re-lock the bootloader. but now I'm facing the same issue, because my phone got bootloop when I started to reboot due to all apps starts to be unresponsive.
tsongming said:
Your log file is not accessible, you reupload it.
You are having the exact issue that I get occasionally.
Try this
The next time you are ready to complete a full format trying changing your user data and cache partition to F2FS format, then install a rom and attempt to to boot to system, some roms will boot and the issue will go away for some people. I have not been able to boot to a miui Rom using this format. However, I helped someone else via PM with this same issue and they told me that changing to F2FS, rebooting to recovery and then changing it back to ext4 work for them, and I never heard about that issue from that person again.
When I installed my recent installation of the Miui 12 5.7 Xiaomi.EU, I followed th3ese steps myself and so far no issues.
In fact, I just found how people with the OnePlus 5T used the exact same solution: https://forum.xda-developers.com/oneplus-5t/help/failed-to-mount-structure-cleaning-t3761674
Hopefully that allows you to run without issues for a while.
Good Luck!
Click to expand...
Click to collapse
I frarmatted data in F2FS and then back to ext4
Seems good so far
Thank you)
Отправлено с моего Pixel через Tapatalk
tsongming said:
Your log file is not accessible, you reupload it.
You are having the exact issue that I get occasionally.
Try this
The next time you are ready to complete a full format trying changing your user data and cache partition to F2FS format, then install a rom and attempt to to boot to system, some roms will boot and the issue will go away for some people. I have not been able to boot to a miui Rom using this format. However, I helped someone else via PM with this same issue and they told me that changing to F2FS, rebooting to recovery and then changing it back to ext4 work for them, and I never heard about that issue from that person again.
When I installed my recent installation of the Miui 12 5.7 Xiaomi.EU, I followed th3ese steps myself and so far no issues.
In fact, I just found how people with the OnePlus 5T used the exact same solution: https://forum.xda-developers.com/oneplus-5t/help/failed-to-mount-structure-cleaning-t3761674
Hopefully that allows you to run without issues for a while.
Good Luck!
Click to expand...
Click to collapse
Damn...
Now I had "no such file or directory" error (in Chrome data)
I already fixed it, but, I guess, formatting ext4->f2fs->ext4 didn't help(
Отправлено с моего Pixel через Tapatalk
Plovel said:
Damn...
Now I had "no such file or directory" error (in Chrome data)
I already fixed it, but, I guess, formatting ext4->f2fs->ext4 didn't help(
Отправлено с моего Pixel через Tapatalk
Click to expand...
Click to collapse
Did the solution help you?
Plovel said:
Hm, I had a problem with persist partition on my Mi 8 too, but after 2nd flashing stock persist.img (it was taken from fastboot ROM) via TWRP all seems OK...
But I still have lots of problems with data partition on any ROM (I used xiaomi.eu beta and now I use PE+). The problems can be in files/folders, and I can't simply delete them (on PE+ I can, but the errors from recovery don't disappear...) There's 3 types of errors in data partition I had:
-Operation not permitted
-Structure needs cleaning
-No such file or directory
Now I'm going to explain how I fix these errors on xiaomi.eu:
First error (operation not permitted) can be solved by deleting some app data from system (in system settings of an app)
BUT if the "problem" path isn't app data, I have no idea what I should do... The idea is you should use system standard operations of wiping something.
Second error can be solved by "e2fsck" (fsck operation) from recovery terminal
Third error can be solved by deleting "problem" path/files IN ENCRYPTED STATE. The problem is finding them when they're encrypted. I puted in the first encrypted folder with the problem a lot of files and when I see the folder with a lot of files, I delete it(if the /data/data/*app_data*/cache/*file1* file is problem, then I put a lot of files in /data/data/*app_data* folder (this folder is the first encrypted folder after reboot) and then spend a lot of time to find this folder in encrypted state to delete it)
On PE+ I got only 3 "operation not permitted error", but, as I said, deleting works, but it doesn't "kill" errors
So, obviously, I don't like that from time to time I have errors in my data partitions. Once I didn't fix it, errors "multiplied", I woke app and saw my phone in TWRP with the hundreds errors of different types. So, it's easier to format data... (wiping doesn't give anything, only formatting)
So, does anyone know what I should do? It very looks like hardware error, because I don't see anyone else with the errors...
I guess the problem is watsapp, because always my system UI stucks for a long time (20~30 sec.), which is a signal of appearing another data error, I writed someone in watsapp or has it launched...
Here's an example of the errors (only "operation not permitted" error) on PE+
View attachment 5014159
Click to expand...
Click to collapse
I take this topic to comment that I remain the same (not with persist fortunately) with my failures with any custom rom.
Now I'm in stock because it's the only one that works for me in time.
The same thing happened to me as to him, structure failures, data failures, etc...
I've even tried e2fsck with erroneous sectors verification but it doesn't have that function.
This is a example
,android.database.sqlite.SQLiteCantOpenDatabaseException: unknown error (code 14 SQLITE_CANTOPEN): Could not open database
at android.database.sqlite.SQLiteConnection.nativeOpen(Native Method)
at android.database.sqlite.SQLiteConnection.open(Unknown Source:33)
at android.database.sqlite.SQLiteConnection.open(Unknown Source:5)
at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(Unknown Source:6)
at android.database.sqlite.SQLiteConnectionPool.open(Unknown Source:3)
at android.database.sqlite.SQLiteConnectionPool.open(Unknown Source:7)
at android.database.sqlite.SQLiteDatabase.openInner(Unknown Source:6)
at android.database.sqlite.SQLiteDatabase.open(Unknown Source:2)
at android.database.sqlite.SQLiteDatabase.openDatabase(Unknown Source:49)
at android.database.sqlite.SQLiteDatabase.openDatabase(Unknown Source:4)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(Unknown Source:138)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(Unknown Source:2)
at com.android.providers.contacts.aggregation.AbstractContactAggregator.<init>(Unknown Source:62)
at com.android.providers.contacts.aggregation.ContactAggregator.<init>(Unknown Source:0)
at com.android.providers.contacts.aggregation.ProfileAggregator.<init>(Unknown Source:0)
at com.android.providers.contacts.ContactsProvider2.initForDefaultLocale(Unknown Source:155)
at com.android.providers.contacts.ContactsProvider2.performBackgroundTask(Unknown Source:212)
at com.android.providers.contacts.ContactsProvider2$1.onPerformTask(Unknown Source:2)
at com.android.providers.contacts.ContactsTaskScheduler$MyHandler.handleMessage(Unknown Source:62)
at android.os.Handler.dispatchMessage(Unknown Source:19)
at android.os.Looper.loop(Unknown Source:249)
at android.os.HandlerThread.run(Unknown Source:28)
And then in the recovery if I try to repair ext4 gives me a lot of unrecoverable errors.
OjSg said:
Did the solution help you?
Click to expand...
Click to collapse
As I see, it didn't help
Отправлено с моего Pixel через Tapatalk

[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

[ROM][OFFICIAL][enchilada][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 (no USB cable connected).
- If you're not already using the stock (LineageOS-based) recovery, you'll need to `fastboot flash boot path/to/boot.img`, substituting in the path & filename for the current crDroid boot.img that you downloaded as part of the prerequisites.
- Reboot to bootloader again (actually loads new bootloader that you just flashed).
- Use Vol +/- buttons to select "Recovery mode" and press Pwr button to boot stock recovery.
- Tap "Advanced", then tap "Enter fastboot" (the already-selected first option).
- Follow the instructions for extracting the partition images from the official OxygenOS Updater full OTA zip you already downloaded using the "payload-dumper-go" utility, and flashing them one at a time, from https://wiki.lineageos.org/devices/enchilada/fw_update, except for the very last command ("fastboot reboot").
- Since those instructions were updated for Android 12, and this is still Android 11-based & depends on using the OxygenOS prebuilt vendor partition contents, you'll also need to run fastboot flash --slot=all vendor vendor.img at the end of the list of commands in the linked LineageOS Wiki article above.
- If you're only updating firmware and were already on crDroid, you can just "fastboot reboot" which will go back to system. If this is part of coming to crDroid from another ROM, continue with the instructions below.
First time installing crDroid to your OP6, coming from stock OxygenOS 11.x or another ROM (stock LOS-based recovery):
- Update to OxygenOS 11.1.2.2 firmware as described above if you haven't already.
- At the end of that procedure, (re)flash the crDroid boot.img to the `boot` partition of both slots, then reboot to recovery.
- Once you're rebooted into stock recovery, ADB sideload the crDroid installation zip. It might prompt you with "Install anyway?" on the phone, so don't just walk away from it.
- After the adb sideload has finished and the purple menu at the top comes back, hit the back arrow, then choose "Wipe data" (which WILL format internal storage -- you backed up as noted above, right?).
- Reboot to recovery (causes it to switch slots so any further installations will be on top of the slot that it just installed crDroid into).
- ADB sideload Magisk and/or any GApps packages you want to use. Please note that any time you install something via ADB sideloading, that the install file is technically renamed "sideload.zip" in transit by the ADB protocol, which might cause problems with installers that try to get too clever for their own good and alter behavior based on renaming the installation zip (like MinMicroG), so you might have to get even MORE clever with changing up installation order (like flash MinMicroG/GApps before Magisk so it won't install as a module. I dunno, talk to the package installer authors to get them to just build multiple packages or talk to the LineageOS devs to allow you to decrypt internal storage, copy stuff to internal storage via MTP, and install stuff from internal storage like a proper custom recovery (or at least maybe `adb push` to an unencrypted temp dir in the data partition).
- Reboot system.
- ???
- Profit!
OTA updating from Updater app with OOS 11.x firmware (recommended):
- This is the preferred way now. You just go to Settings > System > Updater, and... install an update. It processes addon.d OTA survival scripts correctly (tested with Magisk, MinMicroG, MindTheGapps, and NikGapps).
- Please note that there's currently an accidental depencency on Magisk being installed for this to work. I don't know if this will get fixed; that's definitely above my pay grade. This appears to have been fixed; huzzah!
- If you're trying to do a "Local Install" of the downloaded zip, please note you NEED to download on a computer & transfer to internal storage via USB cable; downloading files from an app on the phone associates it with a particular app thanks to Android 11+ Scoped Storage/SAF bull**** and will cause the file to be unreadable to the updater app process.
-- Old TWRP-based instructions below the fold (not recommended, but keeping for historical value... probably not accurate but I'm not going to update them more) --
Spoiler: 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_enchilada/tree/11.0
- OP6/6T Common device tree: https://github.com/crdroidandroid/android_device_oneplus_sdm845-common/tree/11.0
- hardware/oneplus/ HALs: https://github.com/crdroidandroid/android_hardware_oneplus/tree/11.0-op6
- Kernel: https://github.com/crdroidandroid/android_kernel_oneplus_sdm845/tree/11.0
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 canary (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:
- 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)
Looking forward on this one, thank you for the effort!
Hopefully android auto and face unlock are working. Thanks in advance.
gray_wolf said:
Hopefully android auto and face unlock are working. Thanks in advance.
Click to expand...
Click to collapse
Can't say anything about Android Auto, but Face Unlock works just fine!
MaWalla99 said:
Can't say anything about Android Auto, but Face Unlock works just fine!
Click to expand...
Click to collapse
Great, will test and report about the android auto and overall Rom. Thanks again.
DC dimming seems to be missing
Welcome back team with a11...even with initial build rom is so stable , like this rom simplicity with so many customisations thankyou
Screenshot ???
vindipi said:
Screenshot ???
Click to expand...
Click to collapse
This Rom has latest Android security patch of January and for screenshots open and scroll down this website
crDroid.net - increase performance and reliability over stock Android for your device
official crDroid ROM blog
crdroid.net
what gapps
DRAKOITYU said:
what gapps
Click to expand...
Click to collapse
I personally used nikgapps...may be all are compatible
gray_wolf said:
Hopefully android auto and face unlock are working. Thanks in advance.
Click to expand...
Click to collapse
After running the Rom for 5 days now I can confirm that it's very stable and has tons of customization. Unfortunately though android auto is not working. face unlocking, camera, etc works fine. Would appreciate it if you could fix the android auto issue in the future build.
Anyone else having issues with GPay? I'm using Magisk, hidden, and GPay still won't work.
Is it possible to update crDroid from 6.13 to 7.2 without data formatting (keeping application and data)?
MaWalla99 said:
Download ROM
TWRP (use 3.5.0 or higher)
Magisk (use 21.2 or higher)
Click to expand...
Click to collapse
Hey, I have the twrp-3.3.1-18-enchilada-Q-mauronofrio TWRP installed on my Oneplus 6, do I still need to upgrade it to the one which you are recommending? I'd rather go with the one that I currently have and not go through the hassle of updating the recovery. That being said, obviously you would know much better.
Please guide
TIA
mahroze said:
Hey, I have the twrp-3.3.1-18-enchilada-Q-mauronofrio TWRP installed on my Oneplus 6, do I still need to upgrade it to the one which you are recommending? I'd rather go with the one that I currently have and not go through the hassle of updating the recovery. That being said, obviously you would know much better.
Please guide
TIA
Click to expand...
Click to collapse
Twrp 3.3 should work fine with the rom. You can keep using it if you want to. However, there is no extra step to use 3.5 vs 3.3. You have to flash twrp after flashing the rom so you can upgrade to 3.5 by just flashing it instead of 3.3.
Quick questions, this rom have smart charging feature?
Firstly, I just want to say this is the most awesome ROM I've tried and i've sat here for a week trying every rom I could get find on the net. It's almost flawless... except for a few hugely killer problems that will sadly make this ROM unusable for me... even though I love it soooo much and if only these things worked... this would be the most amazing ROM ever.
1. After installing GPS doesn't work.
2. When I get a phonecall... I hear the ring... but nothing happens on the screen... so I can't pickup the call. I see after i got a missed call... but i can't answer calls when they're calling... even if I go to the homescreen from whatever app i was using when i got the call... click on the phone icon.... still nothing. Can't answer the call.
3. Text messages simply don't arrive. If I flash the rom back to stock Oxygen OS ... then the text message comes through. But it's a bit late when you're trying to get a verifiaction SMS sent to you to open an messanging app. Can't use the app because i can't get the verification SMS.
If these three things get fixed... omg this will literally be the best ROM ever.
There is a 4th issue... and for me it's important... but it's probably not any fault really of crDroid ROM to be fair...
Very surprisingly... and I just wanted to see if it would work.... kali nethunter for Oxygen OS which is for droid 10 installs over the top of this rom which is droid 11... to much surprise! ...and almost flawlessly... only issue is it doesn't recognise HID interface.
Man... with these 4 things working... this ROM together with nethunter would make for the most badass hacker pentester phone on the planet... save only for the exact same thing on a oneplus 7 or 8 pro.
Many thanks to the devs of this awesome ROM... who hopefully can get 1, 2, and 3 working in the not too distant future... pretty please?
4 is more of a hope and a prayer... but it would be soooo freaking awesome.
not_the_droid_ur_lookin4 said:
Firstly, I just want to say this is the most awesome ROM I've tried and i've sat here for a week trying every rom I could get find on the net. It's almost flawless... except for a few hugely killer problems that will sadly make this ROM unusable for me... even though I love it soooo much and if only these things worked... this would be the most amazing ROM ever.
1. After installing GPS doesn't work.
2. When I get a phonecall... I hear the ring... but nothing happens on the screen... so I can't pickup the call. I see after i got a missed call... but i can't answer calls when they're calling... even if I go to the homescreen from whatever app i was using when i got the call... click on the phone icon.... still nothing. Can't answer the call.
3. Text messages simply don't arrive. If I flash the rom back to stock Oxygen OS ... then the text message comes through. But it's a bit late when you're trying to get a verifiaction SMS sent to you to open an messanging app. Can't use the app because i can't get the verification SMS.
If these three things get fixed... omg this will literally be the best ROM ever.
There is a 4th issue... and for me it's important... but it's probably not any fault really of crDroid ROM to be fair...
Very surprisingly... and I just wanted to see if it would work.... kali nethunter for Oxygen OS which is for droid 10 installs over the top of this rom which is droid 11... to much surprise! ...and almost flawlessly... only issue is it doesn't recognise HID interface.
Man... with these 4 things working... this ROM together with nethunter would make for the most badass hacker pentester phone on the planet... save only for the exact same thing on a oneplus 7 or 8 pro.
Many thanks to the devs of this awesome ROM... who hopefully can get 1, 2, and 3 working in the not too distant future... pretty please?
4 is more of a hope and a prayer... but it would be soooo freaking awesome.
Click to expand...
Click to collapse
You have been positing this in more than one thread. This has nothing to do with any rom, and is related to what you are doing with your phone or the phone itself. Telephony is flowless on every Android 11 custom rom for Oneplus 6. And so is GPS, which literally connects in seconds.
First thing you should do is: disable wifi calling, because if your provider doesn't have the feature (or you are not provisioned for it), that could cause your problems. Next, uninstall any mode you might have. Try calling without Gapps.
Also, if you ever used Syberia Rom, you got custom /vendor, which would not work with other custom roms that use stock /vendor. So, you need to re-flash full stock rom onto both slots, which is a pre-requisite for flashing most custom roms. Then follow directions for installing a custom rom.

ROG 2 phone soft bricked

Hello,
today I did have a strange experience with my ROG 2 and my best guess is that there is some UFS problem, but a second opinion or ideas are welcome.
During a bike ride when I was wifi scanning (apps: "Tower collector", "Radio Beacon"), navigating and listening to an audio book, the phone just went dark. I thought from previous experience on a Note 3 that it might have overheated. Pretty much stress proofed from the previous phone.
Yes - it was warm in its bike pocket but really not overly hot.
The phone is an ebay buy 2 months old and has been ever since with omnirom, stable so far. I only noticed that the RGB LED here has no blue light, but I plainly did not care.
I tried to boot it after some 10 minutes again and the phone would not go past its omnirom boot screen until it reboots after some time, boot loops.
30 Minutes later at home I wondered then what is going on, and I copied off the TWRP backup from the phone I took two days ago, just in case.
I then tried to restore the same backup, but the phone switched off during restore after ~30%. This was reproducible, so I thought this may be something with the backup, maybe I cannot restore a partition. When I restore I had all partitions marked and I tested them one by one. The restore of single partitions worked, one by one, except vendor as it was marked read only and data as it failed unpacking (my recent backup then is dead?).
I then tried formatting the partitions, so "data", originally f2fs. I lack experience with journal recovery on f2fs so went to ext4. System was ext4 and was just wiped. I lost of course other data on the internal storage so tried to restore again with my copied backup. It restores, but it cannot boot and just bootloops. I now formatted all partitions, including vendor.
Finally, I tried downloading omnirom again and installed it. It won't boot, it doesn't even get to the boot animation, but just boot loops.
I reformatted data back to f2fs. But no change here.
Trying more: lineageos won't flash for unknown reasons, it immediately dies as "Error installing zip file". Checksum of the downloaded zip is correct.
I downloaded a stock rom and installed it. This is now the best result so far - It does want to boot.
Here I get a boot animation and this incredibly lame "tching" sound (it is a phone, not a sword...). But it also stops there and never continues. Yes, first boot takes longer, but not 10 minutes.
Any ideas what else to try with this phone?
So far, I can boot twrp via sideload and interact with it fine. But that will be it; ran out of ideas.
Happy for suggestions.
Gaya
Use raw firmware to restore everything.
Install latest firmware zip on both slots.
After installing custom roms go to wipe -> format data by typing yes. Otherwise rom wont boot
thanks for getting back, If by raw firmware you meant the ASUS stock, I did. Not sure why data wipe after installation or double install to a/b partition would make a difference, but in the end I am new to this a/b concept, looks though like standard dual boot to me. Tried it, but no difference.
- installed asus firmware to inactive B
- switched to B partition
- installed asus firmware to inactive A
- wiped data
- started, so far same behaviour after 15 minutes of waiting (boot animation with sound, then it repeats boot animation until ...).
There are Two kind of rom raw firmware (used to restore bricked device) and recovery rom (zip file we use for update)
Raw firmware will flash ROM to both the slots, while recovery rom only flash to one slot. So you need to Only select reboot to recovery after flashing ROM to switch to the updated slot.
No, stock rom is not exactly raw firmware. RAW firmware uses EDL mode (in bootloader) to flash the stock rom. Download A10 raw from here version .90.
when extracting it you will see some files.
Steps To flash Raw:
* enable usb debugging in phone.
*connect the phone via side port to pc
open command prompt and run this command
adb devices
adb reboot bootloader
Now go to the folder where you extracted the raw firmware & run "flashall_AFT.cmd" as admin
wait [there will be no output]. After 15 -20 mins your device should boot. If you have any old version stock rom data the phone will carry the data to new version. If you have any custom rom/ updated version of stock rom data, it will ask to factory reset, so do that.
wiping is not exactly formatting so do it the right way
Why format: the one where you format by typing "yes" .If you switch between Roms ( stock to custom or vice versa) and go back to older versions (v .100 to .60) the old/previous rom data cant be used with new one so you must format data.
when formatting is not necessary : If you want to upgrade both stock images (version .90 to .100) & custom rom (v 1 to 1.2) i.e., flashing stock rom and then custom rom over it, you dont need to format data because you can reuse the data from custom rom to updated custom rom.
A/B device use two partition instead of one. so the upgrade can happen in the background. On restart you will switched to updated slot. So room for error is less.
The wiping here should be the same as formatting, as it is running the mke2fs (as per TWRP settings). But raw rom I do not have (I believe).
The link you have there seems broken, could you repost it again?
I did download the stock ROM earlier from ASUS directly, to not violate policies, HTTP links etc, here is only the path on asus . com
pub/ASUS/ZenFone/ZS660KL/UL-ASUS_I001_1-ASUS-17.0240.2103.75-1.1.229-user.zip
That is the one I installed via recovery. Am not sure what is in your mentioned flashall_AFT.cmd though, but suspect some adb sideload at least.
I eventually succeeded, but of course would liek to know
1) why
2) what happened?
I did follow a video about flashing the stock rom, basically as you explained (factory reset and data wipe), twice to a and b partition. That made the device bootable. Why is this needed?
I tested wiping system again (I am used to doing clean flashes) and installed omnirom again, and it failed booting.
I installed again the a/b with stocks, factory reset and data wipe and installed omnirom as dirty flash. All is well.
Now I was able to restore my backup finally without the device switching off and it did not complain about the data backup. So finally I am with my phone again rom and copy data to my fresh partition.
as to 1) why?
I understand a/b partition as sort of windows/linux dual boot with a more separate bootloader maybe. So I do not see the point in flashing the stock rom twice or in rendering the device unbootable when wiping system.
and as 2) what happened.
I may only guess: I did an omnirom upgrade 2 days earlier that worked fine and was the reason for my nandroid.
During my ride, the phone had some whateverissue and rebooted. I am unsure whether i tested booting but assume that after the upgrade it flashed to the other partition and it was not bootable. It does not make sense as this would make a/B partitions rather hard for custom rom makers, e.g. people complaining all the time.
Other guess: there was a file system issue with f2fs. Problem with data partition seems to cause bigger issues.
When I flash to ext4 after testing the bootable rom with a wiped data, it would not boot anymore. After factory reset again, it mke2fs the data partition again, back to f2fs and the device booted again happily.
Thanks for the help. Happy to know/learn more about this issue, as I would love to prevent or handle them quicker with more of I know what I'm doing.
Android Dual Partition (A/B) is made for seamless updates i.e, Dual system/vendor partition but uses same data partition. Lets say you are currently in slot A when you apply system update the slot B gets updated. As always rebooting the device switches to the B partition after update. & further update flashes the system to the A partition.
Basically there is no need to flash stock rom twice, unless you are coming from stock [one partition might be in higher firmware version than other] or there is new stock version with some minor/major upgrades to firmware files.
Our custom ROMs are not stand alone, Mostly it only replaces the system files and keep the vendor same as stock. (also this keeps the ROM update file size to be minimum)
you might even have different version of Android in A/B partition.
Here is a scenario on How A/B works:
Say you are currently using your device in B-slot and A9 so partition on slot-A will be A9 partition slot-B be A9. After that you are doing system update to A10 from System update (not via TWRP)
now you will have A10 on slot-A and A9 on slot-B.
then you want to go to custom rom, so you flashed say omni on A-slot and rebooted & it will surely work.
After that you are using inbuild system update from custom rom any applied it. now the system update will overwrite the A9's system files but (the device specifically needs A10s vendor to work properly). Now comes the fun part i.e., soft brick, boot looping, and corrupt images
That's why you have to flash latest stock to both A and B slots, and overwrite them all with system files from custom rom (also should be flashed once in slots A and B) to get neat experience from custom ROMs.
If you understand what was written above, then you will know the reason behind soft brick.
stock rom flashed only once (firmware image variation may affect stability)
custom rom only flashed in one slot (switching slot will boot loop device)
Not using Reboot to recovery to flash (you will be flashing to the same slot over and over & thus rebooting will boot loop)
Not formatting data ( Just Maybe, your custom ROM and stock uses different file system for data partition)
For Raw files search "ASUS rog 2 RAW firmware images" those files will be around 3 GB in size.

Categories

Resources