How To Guide April 2, 2024 AP1A.240405.002 Global - Root Pixel 6 Pro [Raven]

Search This thread

roirraW "edor" ehT

Senior Moderator
Staff member
Is this going to be a concern with every bootloader going forward or just this initial one for A13?
We cannot tell the future. :)

Seriously, though, the only information we have is about what's currently available. The reason that Google did it was very specific, and I agree that it was justified. Since Android 12 runs just fine on the Android 13 bootloader, if you decide to downgrade everything but the bootloader (since the bootloader can't be downgraded), there's no real issue except for the users who, unfortunately, try to boot Android 12 (including Android 12 bootloader) on the other slot after the active slot is upgraded to Android 13, which is when a permanent brick is encountered.

Further in the OP are shared posts regarding the reasoning why Google did it.

Having said all that, it's fully expected that the answer to your question is "just the initial one for A13". The reason my explanation is complicated is that we have no way of knowing if, for example, a serious downgrade vulnerability will be found to exist in this build of Android 13's bootloader. If that is discovered eventually (days, weeks, months...years from now), then it won't surprise me if they implement the same non-downgradeable bootloader policy yet again.

I hope this all makes sense.
 
Last edited:
D

Deleted member 6200352

Guest
Is this going to be a concern with every bootloader going forward or just this initial one for A13?
I would like to think Google is learning the errors of their ways from this debacle and we will probally see the next ARB on A15. I can see them not doing it for A14. But we cannot see the future. It's ironic that Google is going after Apple over the whole "we need to make SMS between IOS and Android better"--as if it's come kind of closed vs open dichotomy, which it seems Google is becoming more like Apple every day in that respect.
 

roirraW "edor" ehT

Senior Moderator
Staff member
My wife's unlockable but locked, stock, and non-rooted Pixel 6 Pro is getting the Android 13 OTA right now. It's been taking a while, but our Wi-Fi has also been a little funky the last few hours, so I think it's been interrupted at least once.
1660934347063.png
 

roirraW "edor" ehT

Senior Moderator
Staff member

roirraW "edor" ehT

Senior Moderator
Staff member
I did this: phone updated to A13 and booted, then I flashed full OTA via adb. Now I should have the full image on both slots, right?

New news for you.

From @Lughnasadh's update linked below:
Check out the new instructions on the factory image download page. Maybe a day late and a dollar short but at least it's there now.


You did exactly right (according to Option 1 at the link):
Option 1 (recommended): After a successful boot into Android 13 for the first time, sideload the full OTA image corresponding to that build and reboot the device to ensure that both slots have a bootable image.

Option 2 (using factory images): If you flashed your device with the factory image after unlocking the bootloader, after a successful boot into Android 13 for the first time
 
D

Deleted member 6200352

Guest
Thanks! Putting this in the OP (with a modified URL to point to the "Updating..." section).
Wow. They (Google) wrote a whole essay on this **CENSORED**. Yeah that's good and all for those with good attention spans. This is NOT going to go well for Google. I see way more bricks to come unfortunately. What google should do is take the firmware links off that page. Then force the user to read ALL the steps and their essay then click button to go to the image downloads. Help try to minimize people who may have their own way of flashing things but not how Google wants/needs you to do on ARB builds. Yeah this is gonna bite them. Most people will be on A13 ok. But I think you will have a larger than usual percentage with bricked devices. Not just from rooters/modders but just everyday users. I think google F'd this one up on their lack of communication. The fact they had to update the steps and include that essay speaks volumes. Just my $0.02.


*Thank you to the moderator for NOT even giving me a chance to edit my post to conform to your questionable policies. Proof: You remove the 'CF' but not the 'F'd" up. I expect you to further edit this against my will. As you can see I censored the previously censored "CF".Why? to prove my poiint. Have a good day.
 
Last edited by a moderator:

Namelesswonder

Senior Member
Jan 26, 2014
432
739
Google Pixel XL
Google Pixel 7 Pro
@roirraW "edor" ehT @Lughnasadh @V0latyle
So after reading some threads of people failing to flash their devices with --slot all update I decided to update as I'll probably be getting a Pixel 7 before the disclosure on the vulnerability in the bootloader is released. After trying it I found that the Pixel 6 can't have update use --slot all.

Extremely weird, because on every other Pixel device they can flash all partitions to all slots no problem.

Well it turns out this is what is causing the issue:
Code:
Sending 'super' (4 KB)                             OKAY [  0.000s]
Updating super partition                           OKAY [  0.015s]
Resizing 'product_a'                               OKAY [  0.003s]
Resizing 'product_b'                               OKAY [  0.002s]
Resizing 'system_a'                                OKAY [  0.003s]
Resizing 'system_b'                                OKAY [  0.002s]
Resizing 'system_ext_a'                            OKAY [  0.002s]
Resizing 'system_ext_b'                            OKAY [  0.003s]
Resizing 'vendor_a'                                OKAY [  0.003s]
Resizing 'vendor_b'                                OKAY [  0.003s]
Resizing 'vendor_dlkm_a'                           OKAY [  0.003s]
Resizing 'vendor_dlkm_b'                           OKAY [  0.004s]

The super partition holding the sizes of each partition is used, however the opposite slot for each partition is being resized to the same size and this isn't leaving enough space left. With several opposite slots being larger than they should be, like the system slot, or other slots being included when they shouldn't is messing things up.

A proper dynamic partitioning should be these:
Code:
Sending 'super' (4 KB)                             OKAY [  0.000s]
Updating super partition                           OKAY [  0.013s]
Resizing 'product_a'                               OKAY [  0.005s]
Resizing 'system_a'                                OKAY [  0.004s]
Resizing 'system_ext_a'                            OKAY [  0.002s]
Resizing 'system_b'                                OKAY [  0.002s]
Resizing 'vendor_a'                                OKAY [  0.002s]
Resizing 'vendor_dlkm_a'                           OKAY [  0.002s]
Resizing 'vendor_b'                                OKAY [  0.002s]

So with this in mind the proper instructions would be to update from Android 12 with fastboot:
  1. adb reboot bootloader
  2. fastboot --slot all flash bootloader bootloader.img
  3. fastboot --slot all flash radio radio.img
  4. fastboot reboot bootloader
  5. fastboot --skip-reboot update image.zip
  6. fastboot --set-active=other
  7. fastboot reboot bootloader
  8. fastboot update image.zip
    1. If using Magisk instead use fastboot --skip-reboot update image.zip
    2. fastboot reboot bootloader
    3. Use the flash or boot method on your Magisk patched boot image.
Or with adb sideload:
  1. adb reboot sideload
  2. adb sideload ota.zip
  3. adb reboot sideload - can be done from within the recovery
  4. adb sideload ota.zip
The directions for if you are already on Android 13 are still steps 1-4 for fastboot or just steps 1-2 for adb.

@roirraW "edor" ehT Check out the new instructions on the factory image download page. Maybe a day late and a dollar short but at least it's there now.

Thanks! Putting this in the OP (with a modified URL to point to the "Updating..." section).

There's actually one minor issue with Google's steps for option 2:
>adb reboot fastboot
They're having people reboot into fastbootd which can't flash the bootloader, so if the people try to continue from within fastbootd they'll have that issue.
 
Last edited:

Namelesswonder

Senior Member
Jan 26, 2014
432
739
Google Pixel XL
Google Pixel 7 Pro
So their following the unfixed instructions and putting everyone where i was yesterday ?
Yep.
Wow. They (Google) wrote a whole essay on this. Yeah that's good and all for those with good attention spans. This is NOT going to go well for Google. I see way more bricks to come unfortunately. What google should do is take the firmware links off that page. Then force the user to read ALL the steps and their essay then click button to go to the image downloads. Help try to minimize people who may have their own way of flashing things but not how Google wants/needs you to do on ARB builds. Yeah this is gonna bite them. Most people will be on A13 ok. But I think you will have a larger than usual percentage with bricked devices. Not just from rooters/modders but just everyday users. I think google messed this one up on their lack of communication. The fact they had to update the steps and include that essay speaks volumes. Just my $0.02.
And they didn't even correctly write the essay. :LOL:
 
Last edited by a moderator:

Top Liked Posts