yashsingh1/xdaforums huggingface dataset:
[Google Pixel 6] Mississip:
My Pixel 6 was rooted, with the last android 12 OTA installed, when I removed Magisk to take the Android 13 OTA. It failed a couple of times, but finally installed Android 13. I did not root again, but saw that I still had the Skvalex call recorder apps, which I thought would be deleted with Magisk, and the device still would record calls, which I assume might be the reason the phone could not later successfully install the November security update. I tried sideloading to install 13 in the other slot, but while in recovery mode got confused by the steps and ended up factory resetting and rebooting even though the phone warned me it might fail to boot because the last install failed. It did reboot to the October update, but I assume I still have 12 on the other slot. I turned automatic updates off because I feared what might happen with 12 in the other slot if something goes wrong installing the November update. My phone says an update is available, but I'm afraid to proceed before getting advice from wiser heads. I would really appreciate being pointed to very simple step-by-step directions.
[Google Pixel 6] V0latyle:
Manually flash the Android 13 bootloader to both slots, then update using the method of your choosing. My guide on the Pixel 6 is linked in the OP.
[Google Pixel 6] Mississip:
I've read all the posts and watched some youtube videos and hope I have the procedure right, this time, Could someone please confirm the following is correct?

-Extract the contents of the factory ROM .zip file for the Android 13 build in the current slot

-Copy the bootloader image in the extracted file to Platform-Tools

(This would be the img file 'bootloader-oriole-slider-1.2-8895132.img', not 'boot.img' in image-oriole- tp1a.221005.002.zip, correct?)

-With USB debugging on connect phone to PC

-Initiate CMD prompt in Platform-Tools folder

Execute the following commands:

adb reboot bootloader(enter)

fastboot --slot=other flash bootloader bootloader-oriole-slider-1.2-8895132.img(enter)

fastboot set_active other(enter)

fastboot reboot bootloader(enter)

fastboot set_active other(enter)

fastboot reboot bootloader(enter)

fastboot reboot(enter)

EDIT: I proceeded successfully and didn't see a response here, yet, so I revised to a simple thanks, apparently just as I got a reply, so I put my original comments back. Thanks!
[Google Pixel 6] V0latyle:
Don't really have to copy anything, you can drag and drop the file into your command window. Useful for keeping files segregated to keep your platform tools folder clean.

Correct. The boot image contains the recovery and system kernel. The bootloader image is completely separate and is in the root folder.

Yep, or type fastboot flash bootloader --slot=other <leave a space, then drag and drop the bootloader image into the command window>

I'm not sure what you're trying to do here. All you should need is

fastboot flash bootloader <bootloader image> #Flashes current bootloader slot
fastboot flash bootloader --slot=other <bootloader image> #Flashes inactive slot
fastboot reboot bootloader #Reboot to ensure the version shown on the screen is updated

You can also use fastboot continue which instructs the bootloader to continue normal boot.
[Google Pixel 6] Lughnasadh:
https://xdaforums.com/t/warning-rea...de-to-android-13-stable.4482091/post-87792519
[Google Pixel 6] in_dmand:
Quick question... So if I want to update to android 13 couldn't I just Uninstall magisk and reboot (to basically make it factory android 12 again without root) then I could go through the official update that is default on my phone. After that I could simply root android 13 correct? I would have an unlocked bootloader the whole time
[Google Pixel 6] V0latyle:
If you're asking about updating and re-rooting, please ask this question in the guide I linked at the top of the OP.

This thread specifically concerns the anti rollback. If you are updating to Android 13 for the first time, you want to ensure you flash the new bootloader to both slots.
[Google Pixel 6] in_dmand:
Thanks, I guess that's my question... Why would I need to flash the new bootloader to both spots, shouldn't that happen naturally when doing the native Android 13 update?
[Google Pixel 6] V0latyle:
No. Please read the OP again. This has been explained ad nauseam.
[Google Pixel 6] in_dmand:
Thanks, ok I did and followed the instructions. Now I'm basically just trying to follow instructions you posted on verifying that it's been updated on both slots, but when I use ADB to reboot the bootloader into fastboot mode and get to the correct fastboot screen (red triangle w/ an exclamation point in the middle and says 'Fastboot Mode' w/ info underneath) the fastboot commands don't work. such as when I enter 'fastboot getvar current-slot', it just keeps saying 'waiting for any device'.

Any ideas? maybe I need to update my platform tools or something.

*Edit* nvm I'm good I just updated my USB drivers for the Pixel 6 and it's working now so I'm all set
[Google Pixel 6] 2Wires:
I was on 0905 and wanted to update to 1205 with the Pixel Flasher. I patched the boot.img and let it do its magic.

After the update my P6 was boot looping. Since that happened before with the Pixel Flasher, I decided to manually flash 1205 again. I think it got interrupted at some point and couldn't finish. I tried flashing 0905 again but no luck. I got some corrupted data errors and after a while the phone didn't boot anymore.

It's a brick now. I've tried all kinds of button combinations for different amounts of time, up to hours. With USB, without USB, no change. No sign of life.

Could that have happened because slot A and B may have different bootloaders?

I assume the device can't be recovered? I don't live for from Google, maybe I should visit them :)
[Google Pixel 6] V0latyle:
If both bootloaders are Android 13, it shouldn't matter. But yes, if the bootloader screen doesn't even come up, you're going to have to have it repaired.
[Google Pixel 6] kiwigi:
I had an error when I wanted to change slot; "Setting current slot to 'b' FAILED (remote: 'command (set_active:) is not allowed when locked')"

Does it mean that I would have to unlock before checking the bootloader version?
[Google Pixel 6] V0latyle:
Bootloader version is displayed on the bootloader screen. Since you are locked, the only way to update is via OTA, so if you have updated at least once since the August update, both slots should be OK.
[Google Pixel 6] kiwigi:
Thanks @V0latyle

The P6 updated itself last week during a try of GrapeneOS. I only own this phone for approx 3 weeks.

Its on TQ1A.221205.011

Eventually I like to root and stay with stock. Just have to get knowledgeable around the 2 slots and if and what image needs to be flashed to the non active one.
[Google Pixel 6] V0latyle:
You don't have to have anything in particular flashed to the inactive slot; just make sure the inactive bootloader slot is Android 13.

If you go back to a stock ROM from a custom ROM it would be wise to flash both slots simply to avoid any weirdness should a boot failure occur and the device tries to reboot to custom software
[Google Pixel 6] anawilliam850:
Thanks for the recommendation and warning.
[Google Pixel 6] V0latyle:
Did you mean to quote my post and ask a question?
[Google Pixel 6] xabier-bo:
Hi @V0latyle

What would be the best way to proceed in this situation...?

- Rooted Xiaomi Mi 11 5G NE (A/B)

- I've accepted upgrade to Android 13, thinking I was only downloading OTA, that is, expecting a confirmation before the 2 phases. But it has started automatically to install it... :(

- So I've decided the best I could do was to follow the standard procedure about Magisk & OTA (uninstall Magisk-restore stock images / wait until installation finishes / install Magisk inactive slot)

- And I've stopped here...

Is there anything that can be done before restarting?

I mean how could I flash A13 bootloader in both slots, before upgrading?
[Google Pixel 6] V0latyle:
Your device is not a Pixel 6, your question does not belong here. You've been a member of XDA long enough to know better, my friend.

The anti-rollback discussed in this thread applies ONLY to the Google Pixel 6, 6 Pro, and 6a.
[Google Pixel 6] xabier-bo:
I missed at some point the ONLY clause 😅

Said that, thanks for your answer, I was on the move, I broke out in a sweat 😂, and I didn't check anymore.
[Google Pixel 6] alexdownar:
Pixel 6. Help me figure out how to solve the problem. I installed the latest February version of your firmware to the January official one. All the works, but there is no menu for turning on Volte and Vowifi, and there is also no call recording option.
[Google Pixel 6] V0latyle:
It's stock Google firmware, if you don't see those options they probably aren't available in your region
[Google Pixel 6] shaadamin4:
You're actually right. In my region It's not available.
[Google Pixel 6] darkerm:
I just got a New Pixel 6 today. This is the version its currently running and there is a New Android 13 update.

what should I do to I can Root and install custom ROM? Please Help
[Google Pixel 6] V0latyle:
Why did you blank out your baseband and kernel versions? There is no identifiable information in those lines.

The only purpose of this thread is to inform people of the anti-rollback incorporated into the Android 13 bootloader. This is not the place to ask about custom ROMs.

However, I strongly recommend you flash the latest update to both slots before doing anything else.
[Google Pixel 6] darkerm:
I thought sharing baseband number is risky (correct me if I am wrong).

how do I flash it? Do I need to unlock the Bootloadeer 1st? Thanks
[Google Pixel 6] darkerm:
here it is mate. so can you tell me what to do so I can root and flash custom ROM anytime I want?
[Google Pixel 6] V0latyle:
Baseband version is the same for everyone who is on the same update. It's not really relevant in this context, I can see you're on SP2A.220305, which is the March 2022 release.

You don't want to share your IMEI.

Yes, you would need to unlock your bootloader first. But, again, this thread is not a guide for doing so, this is only a warning PSA for those upgrading to Android 13 for the first time.

For instructions with rooting and updating, see the link posted at the top of the OP.
[Google Pixel 6] darkerm:
Thanks mate
[Google Pixel 6] S.N.@.K.3:
@V0latyle, I m new to this device since I have bought this cellphone from my friend and when I bought it by the time it was already on Android 13, I dont know how many ota he took since also I have updated to current OTA May patch...

So created a thread, I was in a verse, I was understanding and learning tht how should I flash this device, so yesterday I have posted on flashing thread and they referred to this thread...

So should I unlock I bootloader? And Flash the rest ota image and apply magisk patching and so on.... Or should I use ur OP?

I m now very confused... Help needed...
[Google Pixel 6] V0latyle:
What is so confusing? Whether or not you unlock the bootloader is completely up to you, and has nothing to do with the anti-rollback protection. The only difference it makes is how you update the bootloader if needed; if the bootloader is unlocked, you can directly update it using the factory image, or you can use the OTA. If it is locked, you can only use the OTA.

The only thing you need to do is make sure both slots have Android 13 bootloaders.

I answered all these questions in the OP (first post of this thread). Why didn't you read it?
[Google Pixel 6] S.N.@.K.3:
Thanks for replying, don't take it wrong, its been a long since I have unlocked bootloader and rooted, only thing new to me are these new commands for bootloader and the other are slots A and B...

I will test it and will let u know...

And the last thing I need to ask tht I m gonna start from the scratch so I need these commands before unlocking bootloader?

fastboot --set-active=a or b #Use this to switch to the inactive slot - if current slot is A, set to B or vice versa.

fastboot getvar current-slot

fastboot getvar version-bootloader

fastboot --set-active=b or a (set to original slot) #Set active slot back to what it was before. If you started on slot A, make sure you switch back to slot A.

fastboot getvar current-slot

fastboot continue #Commands device to resume boot, same function as selecting "Start" in the bootloader menu. "

?
[Google Pixel 6] V0latyle:
The bootloader must be unlocked to change anything. This will wipe your data.

The only commands that will work on a locked bootloader are getvar, reboot, continue

If the OEM Unlocking toggle has been enabled, flashing unlock will unlock the bootloader

What exactly are you trying to accomplish? If you just want to update to the latest release, flash the factory image to both slots.

If however you intend on using a custom ROM, extract the bootloader image from the factory image, and flash it to both slots: fastboot flash bootloader --slot=all <path to bootloader image>

Again you won't be able to flash anything without unlocking the bootloader.
[Google Pixel 6] S.N.@.K.3:
I need to unlock the bootloader first thts I know I m asking the steps which u have written in the OP are for what? Thts confusing me, beside if I need to unlock the bootloader and put all these commands to unlock the bootloader

adb reboot bootloader

fastboot flashing unlock

Now my bootloader is unlock now what? Cause its not safe and like it gonna brick my device if I flash the ota/root/update?

Just for now I need to unlock the bootloader safely and have to root the device.... Next steps again are confusing for me... Need noob guidance without the quotes if possible.. Thanks
[Google Pixel 6] V0latyle:
@S.N.@.K.3 this thread is specifically concerning the anti-rollback introduced with the Android 13 bootloader. Let's move the conversation to the other thread.
[Google Pixel 6] namitutonka:
Thank you for safeguarding my Pixel 6. It has Android 13 in both A & B slots. My Pixel 6 has always been stock, taking the OTA from 12 to 13, and taking the subsequent OTA security updates, the latest one being this month of May 2023.

I'm not planning to, but if I (or anyone with both A & B slots having Android 13) were to do a factory data reset, besides the loss of user data/apps, would this factory data reset, restore the phone with the Android 13 OS?
[Google Pixel 6] V0latyle:
The only thing a factory reset does is wipe the /data partition, erasing all user data and settings from the device. The OS is untouched. Android does not have any sort of "restore point" function that can roll back the device to a previous version; the only thing Android CAN do, on A/B devices, is recycle back to the "old" slot if the "new" slot fails to boot following an OTA update. That's why this anti-rollback issue is important.

Seamless updates work like this:

Critical partitions all have 2 slots: bootloader_a/_b, radio_a/_b, boot_a/_b, system_a/_b, etc

Device is running on Slot A (could be B, doesn't matter).

When OTA is available, the update engine downloads, unpacks, and installs the update to whichever slot is not active (in this case, B)

Once installation is complete, the update engine sets the updated slot as active, so when the device reboots, it will boot to that slot.

Once boot reaches a certain stage, the updated slot is marked "successful boot".

Since the "old" slot has not been touched, if the update fails to boot for whatever reason, the device can automatically cycle back to the old slot.

This has two main benefits:

Reduced downtime - since the update can be downloaded and installed while Android is running, the user can continue to use their device until time for reboot. Contrast this with A only devices (Samsung): the device boots into recovery and installs the update from recovery, meaning the user cannot use the device while the update is in progress.

Failsafe - since there are two slots, the OS can switch back to the "old" slot after an update failure so the device remains useable. Contrast this with A only devices: if the update fails, the device will not boot and is not usable.

This is all by design. However, Google was a little hasty in "plugging the leak" by fixing the exploit in the Android 12 bootloader, which makes the following scenario possible:

Device is running Android 12 on slot A - bootloader_a has the Android 12 bootloader

Device installs the Android 13 OTA update to slot B - bootloader_b has the new Android 13 bootloader with the anti-rollback

Device commands a reboot to the updated slot

Slot B boots successfully, at least to the point where the anti-rollback protection counter is incremented, but soon fails

After several boot failures, device attempts to recycle back to slot A

Because the anti-rollback counter has been set, the Android 12 bootloader on slot A fails to boot, device is now permanently bricked.
[Google Pixel 6] namitutonka:
Thorough explanation from a knowledgeable developer. I searched the OP for 'reset', and then searched Google for 'what happens to Android OS after a reset', No definitive results until now. Thank you V0latyle. Now if all the lamers wishing to install a custom ROM , etc., would read throughout this thread, then explanations "ad nauseum" would go away, and your thread would stay on track and to the point.
[Google Pixel 6] V0latyle:
I appreciate the compliment but I am not at all a developer. I don't know the first thing about building ROMs, I don't know code, I don't even know how to identify a kernel. I understand a lot about the workings of Android, but only as much as I've read, which outside of boot flow and bootloaders has pretty much only been in reference to Play Integrity
[Google Pixel 6] namitutonka:
The AT&T OTA update to Android 14, is happening. After the update would it be advisable to side load the Android 14 OS into the other slot, as this thread advises for version 13?
[Google Pixel 6] V0latyle:
Not unless you want to. The only bootloader update that incremented the anti-rollback was August 2022, initial Android 13 release.
[Google Pixel 6] pables123:
so it means if youre already on android 14 no need to flash same bootloader to an inactive slot?
[Google Pixel 6] V0latyle:
Only if you updated from Android 12 to Android 14 and skipped 13 entirely
[Google Pixel 6] namitutonka:
pables123,

I think there's a chance, from what V0latyle said, that skipping Android 13 and jumping from 12 to 14, might still leave your inactive slot on Android 12. As per the OP, there might be the possibility of bricking by the anti-rollback mechanism of the later 13 and 14 Android operating systems. That's my guess. That's what this thread is all about.
[Google Pixel 6] V0latyle:
Correct, there's only a problem if you only just recently upgraded from Android 12. If you've stayed up to date since the Android 13 update, you're fine.
[Google Pixel 6] nutzfreelance:
are there any other anti-rollback releases other then the android 12-13 update?

ie can i downgrade from any a14 to any 13 roms?
[Google Pixel 6] V0latyle:
Yes, this issue only applies to 12>13. To my knowledge no ARB measures were implemented in any other update.

Note that this means that ANY update from Android 12 to 13 or 14 will increment the ARB if not incremented already, but once done it will not be incremented again.
[HTC Vox] harry_01:
Any wm6 rom to a phone without having to remove the cid-lock

???
[Google Pixel 6 Pro] V0latyle:
***Note: THIS IS NOT A ROOT GUIDE. For updating and root instructions, check out my guide here.***

From the Pixel Images page:

View attachment 5969895

This applies to ALL Pixel 6 devices, regardless of whether or not you're rooted!

This does NOT affect other Pixel generations, and the Android 14 update did not increment the bootloader anti-rollback.

What this means:

Once Android 13 Stable boots after the FIRST update to Android 13, it updates an anti-rollback counter in the device hardware to prevent rolling back the bootloader. This will prevent previous versions of the bootloader from starting.

Why this is a problem

:

The OTA only updates one slot, then reboots into that slot. It does not update both slots at once. If there is a boot failure after updating to Android 13, the device may attempt to "recycle" back to the old slot. If this other slot has a previous version of the bootloader, the bootloader will not start, rendering the device a brick.

How do I make sure this doesn't happen to me?

If you updated via OTA, simply sideload the OTA again. Since you are currently on the Android 13 slot, this will overwrite your old Android 12 slot with the new bootloader.

If you have an unlocked bootloader and prefer to update using the factory image, you can flash the bootloader to both slots:

fastboot flash bootloader --slot=all <bootloader image> It's highly recommended you do this BEFORE updating, but if you didn't, do it as soon as possible.

I've updated several times since the August 2022 update, am I still at risk?

If you've updated via OTA at least once since you first updated to Android 13, you should be fine. Instructions to check bootloader versions are further down this post.

The initial Android 13 release bootloader version is slider-1.2-8739948. As long as your bootloader is equal to or higher than this, you should be fine.

What if I was on the Android 13 Beta?

Same as above - the beta did not incorporate the anti-rollback, and the beta bootloaders are still considered "old".

Will the new bootloader prevent me from flashing and running Android 12?

The short answer is YES. Android 12 will not run properly on the Android 13 bootloader. Contrary to what the warning above says, you CAN flash Android 12 on the Android 13 bootloader, and though it will boot, it will not run properly. See this post.

If you MUST use Android 12, you can use a Developer Support Image.

How do I check my current bootloader version?

Spoiler content hidden.
[Google Pixel 6 Pro] Namelesswonder:
Android 12 party is over, DRM APEX isn't functional when the Android 13 bootloader is installed.

You won't be able to use WebView or browsers, and anything that wants to check DRM like streaming applications are going to crash.

Maybe at some point a developer can look into cooking up a custom Android 12 ROM with Android 13 APEXs or patched ones.
[Google Pixel 6 Pro] heij20032003:
If I have used the basic function of Pixel Flasher to flash A13 successfully, what else should I do in this case?
[Google Pixel 6 Pro] stalls:
But does flashing on Android flash tool flash both partitions?
[Google Pixel 6 Pro] Sigray:
+1. I flashed the A13 via Android flash tool (from Google) and its working fine. Switched from Calyx OS.
[Google Pixel 6 Pro] Lughnasadh:
No it doesn't flash to both slots .
[Google Pixel 6 Pro] KHANrad_SIN:
So the OP says to flash the new bootloader to both slots BEFORE updating. The thing is, I already updated to A13 and I didn't flash to both slots. Everything is working fine for me but my question is will this affect me later on? possible when I flash the next monthly update?

Also, can I simply flash the new bootloader to both slots right now without it affecting anything?
[Google Pixel 6 Pro] Lughnasadh:
You should flash the bootloader to the inactive slot now.
[Google Pixel 6 Pro] alexaell:
POV: you see this right after you upgrade to Android 13 :(
[Google Pixel 6 Pro] KHANrad_SIN:
I see, went ahead and flashed the new bootloader to both slots.
[Google Pixel 6 Pro] fil3s:
I read google are updating flashtool soon to make it flash to both slots.
[Google Pixel 6 Pro] V0latyle:
Source? This would be nice. I still think Pixel Flasher is superior in most ways
[Google Pixel 6 Pro] sjgoel:
I flashed the Android 13 update via Pixel Flasher as usual, all good and my phone is working fine.

Should I worry if the bootloader was flashed to both slots, OR not since all went well and the phone is working normally on A13?
[Google Pixel 6 Pro] fil3s:
Google posts additional instructions for Pixel 6 owners that flashed Android 13

In addressing that Pixel 6 vulnerability, another problem might arise and Google has released instructions if you flashed Android 13...

9to5google.com

View attachment 5691443
[Google Pixel 6 Pro] V0latyle:
Did you read the OP? It's up to you whether you want to risk a brick should the device boot loop.

Nice, thank you.