-
Notifications
You must be signed in to change notification settings - Fork 24
Device is corrupt. It can't be trusted #89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @officefrey, first time I read of this error. |
Thank you for your resposne! I flashed Graphene (oriole-2025032500) via their website, then before locking the bootloader, I followed your steps to patch Graphene. When doing so, the phone won't boot. Without using the patch, phone boots normally. I did not upgrade from oriole-2025032100-b956048-magisk-v28.1.zip, I stumbled just now on your github, never patched graphene before. Thank you |
Good, that rules out some things and there is no data loss involved. I just upgraded my pix6, which worked. Are you sure you followed all steps, especially these?
|
I think i am, im just copy pasting commands more or less, haha. I can put the logs here if you want to look over them.
|
🤔 You already had several tries but me graphene worked but after patching it no longer did? You could try erase the key again (just to be sure) |
Will try in a bit, thanks. Yes, the error comes after trying to boot the phone regardless if bootloader is locked or not Question: Don't i need the original Graphene 2025032100 version in order to try it? If so, i do not have their old release. I was actually thinking to try an older version but apparently Graphene doesn't keep their previous releases to be downloaded, is that correct? |
Yes, I've also noticed they don't keep all old versions. |
Thank you. I just finished flashing the older version and unfortunately its the same outcome...same error 😭 |
As a last resort we might call in @chenxiaolong, the author of avbroot. |
Before locking the bootloader, I'd suggest sideloading the patched OTA from recovery mode twice (with a reboot in between). The only time I've personally encountered the "Device is corrupt. It can't be trusted" error is when the A and B slots weren't signed by the same key. It doesn't seem to be consistent though--I was never able to intentionally reproduce the problem. |
I have tried that several few times and did not work. I decided to try on my MAC instead of Windows but I cannot flash the patched OTA now, tried everything i found. I am 100% sure I haven't mixed up factory images and OTA fastboot version 36.0.0-13206524
|
So after several tries, fastboot is just messed up on mac, i tried several versions,cables,ports it just wont let me flash. I went back on trying on windows but the phone wont boot after patching regardless what I tried, i probably tried 20 times. I have a Pixel6a that i can try on, do you happen to have graphene image for Pixel6a that is supported by your patch so i can try on it as well? Thank you |
Acutally, I do: https://github.com/rooted-graphene/ota/releases/tag/2025032500 - bluejay is pix6a. Hope it works on bluejay! You could also try flashing from a linux VM. |
Same thing is happening to me for some reason. I had to reinstall due to custota not being able to sideload a new update for some reason |
Even redoing that whole process and getting it to not show that error ( don't ask me why it was caused in the first place ), i'm stuck in a boot loop |
Thanks for coming forward with this @FinGu. Do you remember the version you tried to upgrade from?
Especially the latter might have something to do with I built a version without custota included that you could try (you as well @officefrey):
Please let me know if that also causes |
As far as i remember it stopped updating when you released the version that integrates Custota as a private app. I'm using caiman ( Pixel 9 Pro ). Can't try the ota you sent because of that. Thanks for the quick answer! |
The link above contains some info about troubleshooting for the custota module. But you have wiped your device by now, right? Here is the same build for caiman: |
I have, yeah. Will try that build really soon |
This one worked absolutely fine! No bootloops and no device is corrupt. I'll install custota and hope nothing goes wrong.. |
Interesting find, @FinGu! |
@chenxiaolong it seems that the Do you have any ideas on why the my-avbroot-setup module patching could result in these kinds of errors? Edit: Another difference of the builds is avbroot 3.12.0 vs 3.14.0. Could that have changed something? |
I don't really have any idea why this could be happening. The bootloader shows that error when signature verification fails. There's not really any way the same OTA could verify successfully on some devices, but not others. I'm guessing (but without any evidence) that the issue occurs somewhere in the flashing process. Does flashing twice with fastboot help at all? (eg. |
To rule out avbroot signing issues, you can also try verifying the signatures using AOSP's
|
@chenxiaolong Thanks for sharing your thoughts! |
Yep, that message is normal and is expected when flashing EDIT: Sorry, correction: fastboot prints this out when the reported partition size is smaller than what's being flashed. |
It seems to be valid for the OTA.zip of the OP $ avbroot ota extract -i oriole-2025032500-1c3df7a-magisk-v28.1.zip -a -d extracted
0.001s INFO Extracting from the payload: abl, bl1, bl2, bl31, boot, dtbo, gsa, ldfw, modem, pbl, product, pvmfw, system, system_ext, tzsw, vbmeta, vendor, vendor_boot, vendor_dlkm
4.406s INFO Successfully extracted images from payload
$ avbtool verify_image --image extracted/vbmeta.img
Verifying image vbmeta.img using embedded public key
vbmeta: Successfully verified SHA256_RSA4096 vbmeta struct in vbmeta.img
boot: Successfully verified sha256 hash of boot.img for image of 21307392 bytes
dtbo: Successfully verified sha256 hash of dtbo.img for image of 2796257 bytes
pvmfw: Successfully verified sha256 hash of pvmfw.img for image of 778240 bytes
vendor_boot: Successfully verified sha256 hash of vendor_boot.img for image of 36978688 bytes
product: Successfully verified sha256 hashtree of product.img for image of 749256704 bytes
system: Successfully verified sha256 hashtree of system.img for image of 1488982016 bytes
system_ext: Successfully verified sha256 hashtree of system_ext.img for image of 417267712 bytes
vendor: Successfully verified sha256 hashtree of vendor.img for image of 579194880 bytes
vendor_dlkm: Successfully verified sha256 hashtree of vendor_dlkm.img for image of 59764736 bytes In other news, to get closer to the cause of the issue, I created OTAs
I'd very much appreciate if one of you @officefrey @FinGu could try them and tell me if one of them fixes the error. |
I've already tried the one without modules and then later sideloaded the normal ( latest update ) with modules in recovery.. as my stuff is working right now i can't really try that out.. |
Thanks, it's good to know a workaround! I don't have a device at hand myself that I can wipe, so let's hope someone else gives us more clues if the error is caused by the modules to or by the avbroot version. |
Funny enough, I just ran into this after an OTA update (my own build) on my Pixel Tablet: Happened every boot and the error was bypassable by hitting the power button. (Similar issue to what folks are experiencing, but might not be exactly the same.) Flashing the same build any number of times did not resolve the error. So I created a second patched OTA with a different set of modules and sideloaded that from recovery. That got rid of the error. Then I sideloaded the original OTA from recovery mode again and it continues to work. I don't think there's anything wrong with any of your builds @schnatterer. There's definitely some sort of bootloader bug that some folks are unlucky enough to hit. It wouldn't be the first time the bootloader had weird bugs. The bootloader version than the Pixel 7 series initially shipped with could sometimes (very rarely) fail to verify signatures after a simple reboot, without even flashing anything. Unfortunately, I have no suggestions for how to work around the problem. In my case, I could flash a different build (same OS version) and then reflash what I originally intended, but I don't know if that always works. I also can't reproduce the problem anymore to do further tests. |
@chenxiaolong This happening after an OTA update seems challenging for ordinary users. But very good news that it can be bypassed using the power button. From what you say, this seems to correspond in some way with modules. Before I started adding modules this seemed not have happened. This happening to you also, now and for the first time, do you think it is a coincidence? |
I don't think the modules are the cause because they only affect the system and vendor partitions, which the bootloader isn't capable of reading because it doesn't understand dynamic partitions. In my case, the OTA that triggered the problem was a Given that flashing a different OTA and then flashing the original intended OTA again resolves the problem (at least for me), I think it's a coincidence and we're encountering some rare bootloader bug. I can't think of any other reason why the behavior wouldn't be deterministic. |
Thank you for providing this additional context. Let's hope the power button workaround sticks 🙂 |
Pixel 6
oriole-2025032500-1c3df7a-magisk-v28.1.zip
Hello, after trying several times to patch Graphene using your guide, I'm getting "Device is corrupt. It can't be trusted" and phone is stuck on Google logo on botting. I am pretty sure i have followed your guide correctly. What could be wrong? Thank you
The text was updated successfully, but these errors were encountered: