other8026 Thanks. I will give the update another shot, but at the moment I am just trying to wait for a time when I am a bit less phone dependent to experiment. I believe I may have actually been the first to have success sideloading, at least since this recent update issue. To be specific though, I had to use a process very similar to the one below, since my phone would not boot to a point where I could use the traditional adb sideload.
https://www.droidviews.com/ota-updates-adb-sideload-recovery/

My reason for posting again is threefold:

  • If my experience is indicative, sideloading may be a temporary fix.

  • If there are useful data points I can gather for the devs, I'd be happy to try

  • Just brainstorming, I'm generally interested if anyone knows why this is happening now and why it seems to be recurring. I realize that the root issue seems to be with the Pixel 7 firmware, but recent updates do seem to have brought out that issue. That, or I just have bad luck, which is a possibility.

I'm getting this problem as well. I'm a fair bit of a noob when it comes to phones, this is the first time I've ever flashed a ROM, so I'm not quite getting how to fix this just yet.

    NemoNada I'm getting this problem as well.

    Is this the first event for you with this device? If so, power off and on "a lot" (more than 10 times) and see if that fixes it. If that doesn't work, try sideloading an OTA image.

    If the device works for a while but frequently falls into this state, that may be a bigger issue.

      I ran into this with my Pixel 7 Pro before. While it was more likely to happen during an update, it was something I could trigger eventually just by rebooting continuously. (And much more frequently if I alternated between booting into Android, recovery, and rescue modes.) I was not able to reproduce the issue with the stock OS.

      Since it's almost certainly a bootloader bug, I started comparing GrapheneOS' AVB setup with the stock OS' AVB setup. The one notable difference is that GrapheneOS puts the boot-related hash descriptors directly in vbmeta, while the stock OS signs those partitions directly and puts chain descriptors in vbmeta. What GrapheneOS does is perfectly valid, but it ends up using fewer rollback index locations (1 in GrapheneOS, 5 in stock). Maybe the bootloader has some obscure bug that doesn't deal with this scenario properly.

      I ended up rebuilding and resigning GrapheneOS' partitions to more closely match the stock OS, but unfortunately, I couldn't finish testing before the deadline for sending in my device for a trade-in.


      For folks running into this after an update, the automatic rollback after a few reboots should resolve it. If you're unlucky enough for it to happen just from a regular reboot, try booting into recovery and sideloading the latest update. If recovery mode also doesn't boot, try rebooting into rescue mode and sideloading with adb rescue install <grapheneos zip>.

        I let the update attempt go through again this evening now that I'm back from being on the road. After re-enabling updates on restart in developer options, and restarting as prompted, the update initially failed again, taking me back to the red no valid OS screen. So, that was twice in a row but with multiple days of separation in attempts. However, A/B partitions worked as intended after a few automatic restarts, the phone folded back, and the update was re-downloaded and re-installed. This time, it worked and my phone appears to be up to date now.

        I'm fairly confident at this point that the way I broke my phone badly enough to require sideloading last time was by shutting down immediately after the A/B partition recovery, not giving the phone time to attempt applying the update again. Short of that specific sequence of events, the phone would probably survive to keep attempting the update until it takes. If you plug your phone in before going to bed and restart, you may not even notice that it takes multiple tries....

        I tried using logcat to dump logs this time, before and after the update took. I don't really know what I'm looking at though. From "beginning of kernel" to "beginning of system" was very short on the failed reboot, but otherwise there doesn't seem to be anything of note. I could send the logs to a Graphene dev if anyone wants to see them. In reality, I'm guessing @chenxiaolong has probably already collected more info than I've got available. I did add a star to the Google issue here.

        NemoNada Here's my recommendations, based on what I've dealt with.

        1. Plug your phone into a charger and power on. If you're greeted with the red "No Valid OS" screen, just leave it for 10-15 minutes. If your phone is plugged in, it will attempt to reboot, and may eventually roll back to it's state before the update.

        If your phone successfully rolls back

        1. Don't power down!
        2. Let your phone re-download and re-install the update
        3. Restart
        4. Repeat, if necessary

        If your phone doesn't recover, and instead remains stuck at the red No Valid OS screen

        1. Power Down, holding power for 10 seconds if necessary
        2. Hold the power and volume down buttons to access the bootloader
        3. Use the volume keys to select Rescue Mode, and power to select
        4. Some white text will appear on a black background. You have to wait several minutes for this to time out, and take you to GrapheneOS Recovery
        5. Plug the phone into a PC with adb (from the Android SDK) installed
        6. On the PC, download the latest OTA image for your device from the GrapheneOS releases
        7. On the phone, select "Apply update from ADB"
        8. On the PC, use "adb sideload [imagename].zip" to send the image
        9. Pray

        I hope that's helpful, that's mostly from memory. In theory, Recovery Mode should work as well as Rescue Mode but I was only able to access the GrapheneOS Recover menu from Rescue Mode.

        This is what @de0u suggested, just with some added detail.

        I've left OEM unlocking enabled as a precaution now, but I didn't have any trouble sending OTA images even with a locked bootloader.

          wayfarer Thanks heaps. I'll try this out and hopefully it should resolve. I managed to get it to roll back so I had a usable phone but I haven't tried the rest yet. I've left OEM unlocking enabled too, just in case.

          de0u Yes, the first time I've seen it. After a couple of attempts at rebooting it (I'm guessing probably 3-5 times, but I wasn't counting) it rolled back to the usable version but I haven't been game to retry a reboot yet. Thank you heaps for the link. I'll give it a read and if the problem persists I'll try that out.

          chenxiaolong I made the erroneous conclusion that Graphene has the same number of rollback points. Good to know. Are you using a Linux system for your sideloading? I only ask because I have both Windows and Linux available to me and was wondering which is easier to do this with?

          After plugging it in and rebooting the problem seems to have resolved. Thank you everyone. I'm bookmarking this page for future reference.

            NemoNada

            Are you using a Linux system for your sideloading? I only ask because I have both Windows and Linux available to me and was wondering which is easier to do this with?

            Either should work equally well, though Linux may be easier because no extra drivers need to be installed.

            Just had this issue occur to me. Had to reboot after phone froze up. Sideloaded latest update for Pixel 7, but did not fix issue. What else could I try?

            After leaving it alone connected to my computer for a bit mocking me with the "no os " prompt, it was charging and displayed the charging bolt on the screen, disconnected it, pressed the power button, and was able to boot up properly again. I have no idea how that worked.

            • de0u replied to this.

              ispotato Providing power while it struggles is good. Typically if it struggles for a while it will succeed. Plus, running out of power during an update is risky.

              Just wanted to chime in that I ran into this problem on my Pixel 7. Up until the update around a month ago everything went smoothly. Then I got the No valid OS found error when I did the update. Got it to reboot after a couple tries and it seemed to download and install the update properly. Since then I have continued to occasionally run into the booting issue.

              The phone has so far always managed to eventually reboot. Attaching it to a power supply seems to help it happen faster. I'm not technically proficient but I've read up on the process of sideloading and feel I could try that in Rescue mode if it fails and normal rebooting doesn't seem to work. I'm not inclined to experiment with it though just to see what happens.

              In the meantime I've backed up onto a flash drive and have taken to avoiding rebooting unless I'm in at home. I have considered if this is related to a hardware failure though the phone being less then a year old and the coincidence of it running perfectly up until that update has made me kind of wonder about that.

              +1-ing this with a pixel 6.
              My events were:
              -1 day staying on completely dead battery
              -after plugging it in i saw 2 restart until the "battery with bolt" appeared, then when wanted to load in (holding the power button) again 2 restarts until i saw the "sparking percents".
              -Battery 100%, pulled down.
              -Had to go online, update got pulled, while aurora got the app updates too. Updater promted me to reboot. when everithing finidhed, i rebooted.
              -2 reboot failed, third loaded in.

              A full reinstall would help or not really?

              • de0u replied to this.

                GiftedAccess A full reinstall would help or not really?

                It seems as if that is not necessary or effective, so I don't think it is recommend at present.

                  de0u I thought only to the case when it is an escalating problem, where a value or something non function-critical changing with reboots or something and at the given boot it fails.
                  I heard, saw no defenite explanation of the cause... (ok firmware, but how, what.. [i will have tocheck]).
                  I hope only an interstellar particle hit in the right place, in the right time, and not something what degrades in my phone phisicly... or the firmware will be fixed soon.

                  This morning I experienced the no valid OS issue and could only get it working again by sideloading the update. Luckily it worked out.

                    Mahalo Glad it worked! Which phone model do you have?