Hi everyone, I have been running graphene os on my pixel 6 for quite some time now. Tonight I was on my phone as usual and I ran out of battery (no biggie right?) I plugged it in and proceeded to immediately boot it back up, everything was fine until this point. I got to my lock screen and my phone died again (shit whatever ill wait a bit and try when charged). I left it for a bit, rebooted and I get a message from to loader stating my phone is corrupt and may not act correctly, skip that go to turn on my phone and norhing. Its stuck in a boot loop and I can't get passed the google logo. I can boot into fast boot but not graphene recovery mode recovery mode comes up with no command logo. I'm kind of panicking., I would like to avoid a factory reset if at all possible... Any help is appreciated...
Unable to boot into graphene after phone running out of battery
Tic Hi there. Don't worry, we can help you out with this
The window with no command
is the recovery mode. You entered it successfully.
You should now proceed to sideload the latest release of the OS.
Instructions for sideloading the latest release are given here:
https://grapheneos.org/usage#updates-sideloading
Follow the instructions carefully. If you have any questions or issues, join the GrapheneOS chatroom on Matrix (Element) and we'll be able to help you through the process.
https://matrix.to/#/#grapheneos:grapheneos.org
Tic follow the instructions to sideload the latest release.
https://grapheneos.org/usage#updates-sideloading
Good point about auto-rollback. If it had auto-rolled back then sideloading would not be necessary.
Hi again so I went through the side loader and tried to load the most recent release update zip oriole-ota_update-2023032000.zip I receive an error stating.
Error applying update: 7 (ErrorCode: : kInstallDeviceOpenError)
ERROR: Recovery: Error in /sideload/package.zip (status 1)
It then aborts my install
I ended up factory resetting everything is working normally now. But yeah I was unable to side load anything
The problem in this instance had NOTHING to do with the system image being "corrupt". It had to do with how the phone shut down. It clearly powered off without a clean shutdown and unmounting the filesystem safely. While this is very rare, it clearly corrupted the USERDATA filesystem during the unclean shutdown.
intelligence That sounds plausible... but is it expected that sideloading an OS image would fail as a result?
intelligence With my very limited knowledge I would tend to agree that it was the user data filesystem that was corrupted. That being said, after the phone died it did boot back into user system before dying again without having unlocked the phone. Something happened when the phone died during the standard boot process, after that point it seems to have locked out everything, when trying to flash the OS image (not the update OTA file) it was unable to verify the signature (as stated previously with my limited knowledge this could be by design which would make sense). The phone would also flash into a "ghost" charging icon even when the phone was not plugged in. It happened on the first few reboots and then went into the google logo boot loop. During this "ghost" icon thing I was unable to boot into graphene recovery.
Tic If you have already done a factory reset, so there is nothing on the phone you care about, you have room to experiment. Maybe sideloading will work now that there shouldn't be potential interference from the plausibly-bad/now-gone user data partition.
I have a faint memory that you can see the "corrupt" message on startup for a while even if everything is fine, because the procedure that clears the "corrupt" flag runs only in limited circumstances. If sideloading the current OTA image doesn't clear the "corrupt" flag, then I think your options might be (a) flashing back to Google's stack and then reinstalling GrapheneOS from scratch (kind of a pain), or (b) waiting until a new GrapheneOS release is issued, which I suspect will cause the "corrupt" flag to be cleared.
But I am not an expert, so I might not have this all correct.
Tic Something happened when the phone died during the standard boot process, after that point it seems to have locked out everything,
Yes, it detected a corrupted filesystem (userdata), marked it corrupt, and rebooted.
Tic Sideloading is for OTA packages, not factory images. You tried to sideload the factory images which isn't how it works and is why it was rejected since it's not the signed OTA package. If you want to try sideload, follow our instructions.
Unfortunately I have with my Pixel 6a the same problem: After my battery turned off at 0 percent and I tried to switch it on at the beginning of charging, it is in a boot loop.
I have tried an update via ADB. Unfortunately without success.
So how you found solution for this. Or if not... before I do a factory reset, I would like to know if there is a way to get the data.
Thanks