How To Guide Android 13 is OUT! (August 15, 2022 - TP1A.220624.021) - Unlocking the Pixel 6 Pro bootloader & central repository of relevant links

Search This thread

Forsh

Senior Member
Jan 7, 2010
130
33
I'm signed up to the 12.1 QPR beta and currently on the May release. I still don't have the prompt to update to June. Do I need to opt out of the beta to get it or just wait a bit longer for my turn to update? I'd like to update and go back to stable releases without wiping.
 
  • Like
Reactions: roirraW "edor" ehT

Lughnasadh

Senior Member
Mar 23, 2015
3,624
3,775
Google Nexus 5
Huawei Nexus 6P
I'm signed up to the 12.1 QPR beta and currently on the May release. I still don't have the prompt to update to June. Do I need to opt out of the beta to get it or just wait a bit longer for my turn to update? I'd like to update and go back to stable releases without wiping.
You don't need to opt out to get it. You should get it in time. With the June Stable QPR3 release, the QPR Beta program for Android 12 has ended. You will automatically be unenrolled in the coming weeks or you can unenroll manually. Thus, once on the June build you will be on the Stable releases.
 

roirraW "edor" ehT

Forum Moderator
Staff member
I clicked on the windows download link, and it came up to save the file as 33.0.2 :unsure: Maybe I'm just lucky ;) Try it direct link . hover over the hyperlink and you can see the address.

Interesting, thanks for letting us know. Indeed, they haven't updated their changelog yet.

I now also have Aignes Website-Watcher set correctly to look out for a new version of the zip file, even without an updated changelog.
 
  • Like
Reactions: jcp2

roirraW "edor" ehT

Forum Moderator
Staff member
Platform Tools is updated to v33.0.2 everyone! No updated changelog yet, and 33.0.1 worked for me (and others) for the June update. And thanks to @jcp2 for the discovery.
  • You'll need this if you're going to unlock the bootloader on your Pixel 6 Pro: SDK Platform Tools (download links for Windows, Mac, and Linux). Note that you can find links to download the tools elsewhere, but I wouldn't trust them - you never know if they've been modified. Even if the person providing the link didn't do anything intentionally, the tools could be modified without them being aware. Why take a chance of putting your phone security further at risk?
  • For Windows, get Google's drivers here Get the Google USB Driver (ADB will likely work while the phone is fully booted, but if you're like me, you'll need these drivers for after you "adb reboot-bootloader", to be able to use ADB and Fastboot.
 
Last edited:

Lughnasadh

Senior Member
Mar 23, 2015
3,624
3,775
Google Nexus 5
Huawei Nexus 6P
Just a PSA for those on Android 13 Beta 2.1:

Starting with Canary 24314, updating to a new Magisk version via direct install results in a bootloop. This behavior has continued with the latest Beta 25/Canary 25001. Patching the boot image, however, allows the phone to boot as expected.

An issue was opened but unfortunately closed as "not planned". So for those on Android 13 Beta 2.1 (and beyond most likely), when updating Magisk you'll want to avoid the direct install method and patch and flash the boot image instead to avoid a bootloop until they decide to resolve this issue.

 

roirraW "edor" ehT

Forum Moderator
Staff member
  • Like
Reactions: jcp2 and Lughnasadh

LLStarks

Senior Member
Jun 1, 2012
1,922
1,133
Just a PSA for those on Android 13 Beta 2.1:

Starting with Canary 24314, updating to a new Magisk version via direct install results in a bootloop. This behavior has continued with the latest Beta 25/Canary 25001. Patching the boot image, however, allows the phone to boot as expected.

An issue was opened but unfortunately closed as "not planned". So for those on Android 13 Beta 2.1 (and beyond most likely), when updating Magisk you'll want to avoid the direct install method and patch and flash the boot image instead to avoid a bootloop until they decide to resolve this issue.

That's what that bullshit was? Had to deal with that a few times and eventually figured it out.

Looks like the other issue was closed for a more official one.
 
  • Like
Reactions: roirraW "edor" ehT

Lughnasadh

Senior Member
Mar 23, 2015
3,624
3,775
Google Nexus 5
Huawei Nexus 6P
That's what that bullshit was? Had to deal with that a few times and eventually figured it out.

Looks like the other issue was closed for a more official one.
Yep. Even though she closed that initial issue as "not planned", her and Canyie seem to be working on it, so that's good news. At least she won't close her own issue without fixing it first, you would think.
 
  • Like
Reactions: roirraW "edor" ehT

Lughnasadh

Senior Member
Mar 23, 2015
3,624
3,775
Google Nexus 5
Huawei Nexus 6P
Just a PSA for those on Android 13 Beta 2.1:

Starting with Canary 24314, updating to a new Magisk version via direct install results in a bootloop. This behavior has continued with the latest Beta 25/Canary 25001. Patching the boot image, however, allows the phone to boot as expected.

An issue was opened but unfortunately closed as "not planned". So for those on Android 13 Beta 2.1 (and beyond most likely), when updating Magisk you'll want to avoid the direct install method and patch and flash the boot image instead to avoid a bootloop until they decide to resolve this issue.

Looks like the issue may have been fixed with these commits...

 
Last edited:

roirraW "edor" ehT

Forum Moderator
Staff member
are people sticking with 24.2 Magisk instead of updating while still on stock A12 firmware?
or is Magisk 25 fine and does not need you to disable verity and vbmeta?
I've stuck with Magisk Stable 24.3. Others have updated to Magisk Beta 25 and they wrote they updated to June and flashed at least the Kirisakura custom kernel just fine without disabling Verity and Verification. Personally, I'm going to continue sticking with Stable over Beta (or Canary).
 

Lughnasadh

Senior Member
Mar 23, 2015
3,624
3,775
Google Nexus 5
Huawei Nexus 6P
are people sticking with 24.2 Magisk instead of updating while still on stock A12 firmware?
or is Magisk 25 fine and does not need you to disable verity and vbmeta?
Depends on your reason to disable verity and verification. Magisk no longer strips avb from fstab so custom kernels had a problems booting on Canary 24303+, including Beta 25, but that has been fixed and incorporated into the kernels/AK3 themselves now so you can use Beta 25 with custom kernels, even though Magisk continues to strip avb from fstab.

There may be other reasons you want to disable verity and verification, such as avoiding the corrupt message issue, although there are now ways to overcome that as well.

Also, it has been discovered that disabling verity alone, without disabling verification, avoids the problems of the current Magisk version as it relates to custom kernels (or modifying any of the avb partitions in fstab) without having to wipe.

I'm one of those who continue to disable verity and verification just because Magisk and Google are continuously changing things, but whether you do or not is up to you. It's not required.
 

Top Liked Posts

  • 8
    Thanks for the detailed explanation. I wonder why this is the first time we are hearing of the e-fuse? It also makes one wonder why Google is taking such permanent measures, given their generally open attitude towards developers on Pixel/Nexus devices...like, who cares if someone was able to downgrade?

    As far as what it does and what it changes, it sounds like this is something we'll have to find out for ourselves unfortunately. But for the time being I would think it's safe to say that everyone updating should flash the A13 bootloader to both slots just to be safe in case of a alternate slot bootloop.
    I don't know why, but it could be because of this: https://blog.quarkslab.com/attacking-titan-m-with-only-one-byte.html

    The time frame lines up, antirollback commit was implemented in the days after Google told the researcher they are developing a fix.

    And it's pretty big, allowing the ex-filtration of the secret keys inside the Titan and doing arbitrary code execution right on the Titan, a complete permanent compromise of the device. This is probably why Google is trying to stop people from downgrading to Android 12. Understandable why this is the first time Google is doing this, someone can resell this permanently compromised device to anyone, or do this to someone's phone. It's too late though, any Tensor device not updated to Android 13 could be forever compromised, so really the security theater of Pixel devices has just been torn down. We'll see if the Pixel 7 or Titan M3 fares better. Previous Pixel phones do not implement these OTP bit checks inside their bootloaders so I believe they are never going to have to worry about being stopped from downgraded, although they are susceptible to compromise.

    The average person should never brick their phone from this, the GrapheneOS tester only had this happen because they were testing GrapheneOS on Android 13 and were capable of flashing a borked ROM.
    But yes if you're updating to Android 13 manually via fastboot just run

    1. fastboot --slot all flash bootloader bootloader.img
    2. fastboot --slot all flash radio radio.img
    3. Reboot the phone
    4. fastboot --skip-reboot update image.zip
    5. Select reboot to bootloader from inside fastbootd
    6. fastboot --set-active=other
    7. fastboot update image.zip
    8. If using Magisk then add a --skip-reboot to then boot back into the bootloader to flash your patched image.
    6
    I guess I'm splitting hairs then, because there's still no physical fuse that gets physically destroyed...but what you described has the same effect, permanently writing a 1.

    Question is, when exactly is blow_ar called? What does this change/how is it used? Does this simply mean the bootloader will reject older bootloader images, or that it will reject all images older than the bootloader date?
    There actually is a physical object being destroyed. Yes, there isn't a typical fuse being blown, as a typical fuse blows and opens the circuit. Instead what is implemented is an antifuse. These are the opposite of fuses ("anti") and are normally open. When enough voltage is passed they blow closed, and they actually do blow, they use oxide-breakdown cells that physically break down when the voltage threshold is met. This is more favorable for integrated circuits as blocking flow is a 0 and flowing is a 1. Old terminology hangs around and still refers to these as a fuse, from IBM's technology they named "eFuses" even though they perform opposite of a fuse. The modern terminology is to call them One-Time Programmable memory, or OTP memory. Modern processors have plenty of these. I don't know how many OTP bits are included on Tensor, but another ARM SoC the Rockchip RK3399 has 2 kibibits worth of OTP.

    You can read more about them in this PDF, page 31 chapter 6 section 3.

    There are OTP cells being blown, inside boot_control it is invoking a system monitor call with what I think are called contexts or secure applications, SMC_CM_OTP_CONTROL (0xC2001014UL).
    OTP_CONTROL being One-Time Programmable Control.
    The other things being passed are CMD_W_ANTIRBK_NS_AP (0x7UL) and CMD_W_ANTIRBK_S_AP (0x9UL), which are the bits (7 and 9) being blown. I can only infer that the NS and S are for the normal world (NS) and secure world (S).

    As for when /sys/kernel/boot_control/blow_ar is being blown, it is blown inside BootControl::markBootSuccessful, which is what is setting both the fuse and writing to devinfo that the slot had booted successfully. I don't know when exactly a boot is successful, but it is being ran by a service after Android boots up enough to be considered a success.

    What does it change and how does the bootloader use this? Well, we'll never know. We're not privileged enough to know this. The source code for the many (there's something like four) bootloaders are kept closed source. Anything below the kernel and device tree we just don't know. Given that there is a bricked Pixel 6 out there due to the bits being blown on A13 and the slot switched back to A12, it isn't just the Android bootloader checking this, it's below that in either the BL1 or BL2 boot firmware. This I assume lines up with the bits being blown for normal world and secure world, as BL1 operates in the secure world while the Android bootloader operates in the normal world.

    What can we do about this? Really, nothing.
    4
    It also makes one wonder why Google is taking such permanent measures, given their generally open attitude towards developers on Pixel/Nexus devices...like, who cares if someone was able to downgrade?

    tweet-about-not-being-able-to-downgrade-from-android-13-png.5687733
    3
    If I reflash the bootloader to both slots, I would have to re flash magisk patched image correct?
    Just to be clear, the bootloader is not boot.img (kernel). The boot.img is what gets patched by Magisk. If, for example, you're still on Android 12, you update ONLY the bootloader to Android 13 Stable's bootloader, then you'll still have root because you haven't overwritten boot.img.

    So just to verify, the boot image that has to be flashed to both slots would be the bootloader-raven-slider-1.2-8739948.img not the boot.img file that we use to patch with magisk correct?
    Boot image does not equal bootloader. Don't confuse the two.

    Boot image = kernel

    Bootloader is just the bootloader.
    3
    Right, I saw that. Unless there's a major exploit in the Pixel 6/6 Pro/6a bootloader that would allow downgrading even if locked, I can't imagine anything being more severe than that.
  • 9
    I think this just means you won't be able to downgrade the bootloader itself. Don't take my word for it but I suspect that one could still run older versions on the new bootloader.

    To test this, just download the factory zip and update the bootloader only.
    You are correct.

    I did:

    Code:
    adb reboot bootloader
    fastboot flash bootloader bootloader-raven-slider-1.2-8739948.img
    fastboot reboot

    And I'm booted into Android 12 still just fine. Below is the command prompt output:
    S:\platform-tools>adb reboot bootloader
    * daemon not running; starting now at tcp:5037
    * daemon started successfully

    S:\platform-tools>fastboot flash bootloader bootloader-raven-slider-1.2-8739948.img
    Sending 'bootloader_b' (11554 KB) OKAY [ 0.047s]
    Writing 'bootloader_b' (bootloader) Flashing pack version slider-1.2-8739948
    (bootloader) flashing platform gs101
    (bootloader) Validating partition ufs
    (bootloader) Validating partition ufs
    (bootloader) Validating partition partition:0
    (bootloader) Validating partition partition:1
    (bootloader) Validating partition partition:2
    (bootloader) Validating partition partition:3
    (bootloader) Validating partition bl1_b
    (bootloader) Validating partition pbl_b
    (bootloader) Validating partition bl2_b
    (bootloader) Validating partition abl_b
    (bootloader) Validating partition bl31_b
    (bootloader) Validating partition tzsw_b
    (bootloader) Validating partition gsa_b
    (bootloader) Validating partition ldfw_b
    (bootloader) Flashing partition ufs
    (bootloader) Flashing partition ufs
    (bootloader) Flashing partition partition:0
    (bootloader) Flashing partition partition:1
    (bootloader) Flashing partition partition:2
    (bootloader) Flashing partition partition:3
    (bootloader) Flashing partition bl1_b
    (bootloader) Flashing partition pbl_b
    (bootloader) Flashing partition bl2_b
    (bootloader) Flashing partition abl_b
    (bootloader) Flashing partition bl31_b
    (bootloader) Flashing partition tzsw_b
    (bootloader) Flashing partition gsa_b
    (bootloader) Flashing partition ldfw_b
    (bootloader) Loading sideload ufsfwupdate
    OKAY [ 2.766s]
    Finished. Total time: 2.825s

    S:\platform-tools>fastboot reboot
    Rebooting OKAY [ 0.001s]
    Finished. Total time: 0.002s

    S:\platform-tools>

    Note to anyone, if after upgrading to 13 you want to downgrade to 12 using a full factory image's flash-all.bat, you'll at minimum have to either remove Android 12's bootloader flash line from the file, or replace it with fastboot flash bootloader bootloader-raven-slider-1.2-8739948.img (and have the right bootloader file in the same folder). Either should work fine.
    8
    Thanks for the detailed explanation. I wonder why this is the first time we are hearing of the e-fuse? It also makes one wonder why Google is taking such permanent measures, given their generally open attitude towards developers on Pixel/Nexus devices...like, who cares if someone was able to downgrade?

    As far as what it does and what it changes, it sounds like this is something we'll have to find out for ourselves unfortunately. But for the time being I would think it's safe to say that everyone updating should flash the A13 bootloader to both slots just to be safe in case of a alternate slot bootloop.
    I don't know why, but it could be because of this: https://blog.quarkslab.com/attacking-titan-m-with-only-one-byte.html

    The time frame lines up, antirollback commit was implemented in the days after Google told the researcher they are developing a fix.

    And it's pretty big, allowing the ex-filtration of the secret keys inside the Titan and doing arbitrary code execution right on the Titan, a complete permanent compromise of the device. This is probably why Google is trying to stop people from downgrading to Android 12. Understandable why this is the first time Google is doing this, someone can resell this permanently compromised device to anyone, or do this to someone's phone. It's too late though, any Tensor device not updated to Android 13 could be forever compromised, so really the security theater of Pixel devices has just been torn down. We'll see if the Pixel 7 or Titan M3 fares better. Previous Pixel phones do not implement these OTP bit checks inside their bootloaders so I believe they are never going to have to worry about being stopped from downgraded, although they are susceptible to compromise.

    The average person should never brick their phone from this, the GrapheneOS tester only had this happen because they were testing GrapheneOS on Android 13 and were capable of flashing a borked ROM.
    But yes if you're updating to Android 13 manually via fastboot just run

    1. fastboot --slot all flash bootloader bootloader.img
    2. fastboot --slot all flash radio radio.img
    3. Reboot the phone
    4. fastboot --skip-reboot update image.zip
    5. Select reboot to bootloader from inside fastbootd
    6. fastboot --set-active=other
    7. fastboot update image.zip
    8. If using Magisk then add a --skip-reboot to then boot back into the bootloader to flash your patched image.
    6
    I guess I'm splitting hairs then, because there's still no physical fuse that gets physically destroyed...but what you described has the same effect, permanently writing a 1.

    Question is, when exactly is blow_ar called? What does this change/how is it used? Does this simply mean the bootloader will reject older bootloader images, or that it will reject all images older than the bootloader date?
    There actually is a physical object being destroyed. Yes, there isn't a typical fuse being blown, as a typical fuse blows and opens the circuit. Instead what is implemented is an antifuse. These are the opposite of fuses ("anti") and are normally open. When enough voltage is passed they blow closed, and they actually do blow, they use oxide-breakdown cells that physically break down when the voltage threshold is met. This is more favorable for integrated circuits as blocking flow is a 0 and flowing is a 1. Old terminology hangs around and still refers to these as a fuse, from IBM's technology they named "eFuses" even though they perform opposite of a fuse. The modern terminology is to call them One-Time Programmable memory, or OTP memory. Modern processors have plenty of these. I don't know how many OTP bits are included on Tensor, but another ARM SoC the Rockchip RK3399 has 2 kibibits worth of OTP.

    You can read more about them in this PDF, page 31 chapter 6 section 3.

    There are OTP cells being blown, inside boot_control it is invoking a system monitor call with what I think are called contexts or secure applications, SMC_CM_OTP_CONTROL (0xC2001014UL).
    OTP_CONTROL being One-Time Programmable Control.
    The other things being passed are CMD_W_ANTIRBK_NS_AP (0x7UL) and CMD_W_ANTIRBK_S_AP (0x9UL), which are the bits (7 and 9) being blown. I can only infer that the NS and S are for the normal world (NS) and secure world (S).

    As for when /sys/kernel/boot_control/blow_ar is being blown, it is blown inside BootControl::markBootSuccessful, which is what is setting both the fuse and writing to devinfo that the slot had booted successfully. I don't know when exactly a boot is successful, but it is being ran by a service after Android boots up enough to be considered a success.

    What does it change and how does the bootloader use this? Well, we'll never know. We're not privileged enough to know this. The source code for the many (there's something like four) bootloaders are kept closed source. Anything below the kernel and device tree we just don't know. Given that there is a bricked Pixel 6 out there due to the bits being blown on A13 and the slot switched back to A12, it isn't just the Android bootloader checking this, it's below that in either the BL1 or BL2 boot firmware. This I assume lines up with the bits being blown for normal world and secure world, as BL1 operates in the secure world while the Android bootloader operates in the normal world.

    What can we do about this? Really, nothing.
    6
    Android 13 looks to be OUT!

    13.0.0 (TP1A.220624.021, Aug 2022)FlashLinkd8ddfdca3af0b97b3b99460afdab3cf95a741f988dccd5122564c855a64baa36
    6
    Woah! Not August but two new July images here. (not saying that @spotmark isn't getting the August OTA)

    12.1.0 (SQ3A.220705.003.A3, Jul 2022, Verizon, Verizon MVNOs)FlashLink5651ee94a61222e2c03ca55b76f4aa452c5eed9e43ad8aabb7060739177e1689
    12.1.0 (SQ3A.220705.004.A1, Jul 2022, Softbank)FlashLink6b60f5a6401b35c635408494b54323825a8bcf5c85384a7cc2c241849a2d7413
  • 58
    Android 13 is OUT!

    My tiny, early, very mini-review of Android 13 is here.

    NOTE that if you use the full factory image to flash, to be safe, you'll want to flash to your current slot, change slots, and then flash again to the new slot.
    Thanks to @Lughnasadh for sharing the news about this, starting here.

    Also see here for the reason this was done:



    I've been following the android 13 upgrade postings and I'm surprised not more people know this.
    If you add --force to fastboot update "fastboot --force update image-*" you can downgrade back to Android 12 as long as you wipe data.
    I tried this as soon as I upgraded to 13 and yes you can downgrade down to Android 12 after upgrading with no noticable issues. The radio and every other image but the bootloader can be downgraded. But I only tried 003, 004 July images for oriole so I don't know about anything lower personally.

    How to flash both slots using the full factory image BOTH SLOTS at the same time
    I don't know why, but it could be because of this: https://blog.quarkslab.com/attacking-titan-m-with-only-one-byte.html

    The time frame lines up, antirollback commit was implemented in the days after Google told the researcher they are developing a fix.

    And it's pretty big, allowing the ex-filtration of the secret keys inside the Titan and doing arbitrary code execution right on the Titan, a complete permanent compromise of the device. This is probably why Google is trying to stop people from downgrading to Android 12. Understandable why this is the first time Google is doing this, someone can resell this permanently compromised device to anyone, or do this to someone's phone. It's too late though, any Tensor device not updated to Android 13 could be forever compromised, so really the security theater of Pixel devices has just been torn down. We'll see if the Pixel 7 or Titan M3 fares better. Previous Pixel phones do not implement these OTP bit checks inside their bootloaders so I believe they are never going to have to worry about being stopped from downgraded, although they are susceptible to compromise.

    The average person should never brick their phone from this, the GrapheneOS tester only had this happen because they were testing GrapheneOS on Android 13 and were capable of flashing a borked ROM.
    But yes if you're updating to Android 13 manually via fastboot just run

    1. fastboot --slot all flash bootloader bootloader.img
    2. fastboot --slot all flash radio radio.img
    3. Reboot the phone
    4. fastboot --skip-reboot update image.zip
    5. Select reboot to bootloader from inside fastbootd
    6. fastboot --set-active=other
    7. fastboot update image.zip
    8. If using Magisk then add a --skip-reboot to then boot back into the bootloader to flash your patched image.

    How to flash both slots using the full factory image ONE SLOT at a time
    I use the full Pixel 6 Pro Factory Image to update each month. Use the same official latest ADB/Fastboot (SDK Platform Tools) you normally use. Edit the flash-all.bat (if on Windows - if on something else, edit the appropriate flash-all script file) and remove the "-w" and re-save it. If you want to keep the flash-all.bat from rebooting automatically after the update so that you can change slots and flash again, add fastboot --skip-reboot in the flash-all.bat after the fastboot update image-raven-xyNz.YYMMDD.BBB.zip line. Thanks, @Homeboy76 and @Lughnasadh!

    Re-open the script file and confirm that you saved it with the "-w" removed, so it doesn't wipe your device.

    From running Android:
    Code:
    adb reboot bootloader
    (Let it reboot into Fastboot mode.  Make note of which active slot is listed on the Fastboot screen, third item from the bottom.)
    
    flash-all.bat
    (WITH "-w" removed.  Let it flash everything, will take several minutes.)
    
    Let it boot up (and check the notifications for the update process to finish while Android is running)
    
    adb reboot bootloader
    
    On the Fastboot screen, change to the opposite slot with either:
    
    fastboot --set-active=a
    (If you're on slot b)
    
    or
    
    fastboot --set-active=b
    (If you're on slot a)
    
    flash-all.bat
    (again)

    13.0.0 (TP1A.220624.021, Aug 2022)FlashLinkd8ddfdca3af0b97b3b99460afdab3cf95a741f988dccd5122564c855a64baa36

    Note that this is mainly for the officially listed "Unlocked" Pixel 6 Pro, available directly from the Google Store. All of this will also apply to any other (carrier-specific) variant of the Pixel 6 Pro which you can achieve an unlocked bootloader on. This includes T-Mobile and AT&T variants. It's likely Verizon variants will never be able to unlock their bootloader, or if so it will require paying the right person to do so.

    Feel free to ask about general questions, but for anything that's specific to your variant, you should use one of the other already existing threads. You'll find Verizon, AT&T, and T-Mobile-related threads in those respective search results.

    Here there be dragons. 🐉 I am not responsible for anything at all. 😹

    Unlocking or locking the bootloader will wipe the device every single time, so be sure to have your data backed up before doing so, or better yet, just unlock it as soon as you get the device.


    Keep in mind that unlocking the bootloader or rooting might affect your phone's capability to use banking apps such as Google Pay, your local bank's app, or even the ability to install some apps like NetFlix. See @Pekempy's thread Working SafetyNet with Pixel 6 Pro Android 12

    If you're going to re-lock the bootloader, make sure the ROM you have on your phone is completely stock (by flashing the latest official firmware) BEFORE re-locking it.

    There are no negative consequences if you unlock or re-lock the bootloader other than it will wipe your phone, and while unlocked you get a brief screen when you boot the phone telling you (and anyone who sees your phone at the time) that the bootloader is unlocked. You will also continue to receive updates (if you've merely unlocked the bootloader, you can take updates as normal) unlike Samsung, Sony, et cetera, which have permanent major consequences with reduced functionality even if you un-root and re-lock your bootloader. If you're actually rooted (not just bootloader unlocked), you'll have to perform extra steps to manually update each month, and to keep root/re-root.


    All posts about Google Pay or banking will be reported to be deleted. Please keep this thread on-topic. There are at least one or two other How To Guide threads in this section in which folks discuss how to get around banking app restrictions when you're rooted or just have an unlocked bootloader. See @Pekempy's thread Working SafetyNet with Pixel 6 Pro Android 12
    If users persist in discussing banking apps in this thread, I will have this thread locked and only update this first post when there is new and updated information regarding the subjects of the title of the thread: Unlocking the Pixel 6 Pro bootloader, rooting, and TWRP. See @Pekempy's thread Working SafetyNet with Pixel 6 Pro Android 12

    Honorable mention to @Jawomo's aodNotify - Notification Light / LED for Pixel 6 Pro! (XDA link) / Notification light / LED for Pixel - aodNotify (Play Store link), which in my opinion restores useful functionality missing in most phones these days. It also solves some subjective issues some folks have with AOD (Always On Display), and/or solves/works around the problem where AOD is required for the optical fingerprint reader to work without the screen being on.​


    Check warranty status - *may* reveal if a phone is refurbished, only if the phone was refurbished through Google - thanks to @Alekos for making me aware of the site.
    Official Google Pixel Update and Software Repair (reported as of January 23, 2022 to still not be updated for the Pixel 6/Pro yet)

    Google's Help Page for Find problem apps by rebooting to safe mode - this can be a lifesaver and keep you from having to do a restore to 100% complete stock or even from having to do a factory reset. This will deactivate all Magisk modules, and they'll remain deactivated even after you boot normally after briefly booting to safe mode. You can reenable the Magisk modules as you wish to try to narrow down the problem if it was caused by a Magisk module. This can even get things working again after a Magisk Module wasn't finished installing and potentially causing a bootloop.

    Official Google Pixel Install fingerprint calibration software (also available at the bottom of the Update and Software Repair page above) - I believe this is only helpful if you've replaced the screen
    Official Google Android Flash Tool (OEM Unlocking needs to be toggled on - you may not have to manually unlock the bootloader - the "site" will do that on its own)
    OEM unlocking in developer options needs to be toggled on. I don't "believe" you have to actually do the "fastboot flashing unlock" command.

    ADB/Fastboot, Windows Drivers, and unlocking the bootloader (thanks @sidhaarthm for confirming unlocking the bootloader works as intended, be sure to thank him in his post)
    • You'll need this if you're going to unlock the bootloader on your Pixel 6 Pro: SDK Platform Tools (download links for Windows, Mac, and Linux). Note that you can find links to download the tools elsewhere, but I wouldn't trust them - you never know if they've been modified. Even if the person providing the link didn't do anything intentionally, the tools could be modified without them being aware. Why take a chance of putting your phone security further at risk?
    • For Windows, get Google's drivers here Get the Google USB Driver (ADB will likely work while the phone is fully booted, but if you're like me, you'll need these drivers for after you "adb reboot-bootloader", to be able to use ADB and Fastboot.
    • Thanks to @96carboard for posting the details of unlocking the bootloader, be sure to thank him in his post. Unlocking or locking the bootloader will wipe the device every single time, so be sure to have your data backed up before doing so, or better yet, just unlock it as soon as you get the device. Keep in mind that unlocking the bootloader or rooting might affect your phone's capability to use banking apps such as Google Pay, or your local bank's app. If you're going to re-lock the bootloader, make sure the ROM you have on your phone is completely stock (by flashing the latest official firmware) BEFORE re-locking it. My experience on my Pixel 1 was that there were no negative consequences if you unlock or re-lock the bootloader other than it will wipe your phone, and while unlocked you get a brief screen when you boot the phone telling you (and anyone who sees your phone at the time) that the bootloader is unlocked. All of this should still be the case. You will also continue to receive updates. Unlike Samsung, Sony, et cetera, which have major consequences with reduced functionality even if you un-root and re-lock your bootloader. If you're actually rooted (not just bootloader unlocked), you'll have to perform extra steps to keep root/re-root.:


      The unlock process works like this:

      1) Take brand new fresh phone out of box. Do NOT put sim card in it, just power it on (you can put a SIM card if you want, you just don't have to).
      2) When it starts harassing you to join Google, hit "skip" and "remind me tomorrow" as applicable until you reach home screen. YOU DO NOT need to plug in a google account.
      3) Settings --> About --> Build number. Repeatedly tap it until it says you're a developer.
      4) Back --> Network --> WiFi and connect it.
      5) Back --> System --> Developer --> OEM unlocking (check), USB debugging (check), plug in USB, authorize on the phone when requested.

      Using the Platform Tools previously mentioned in command line/terminal:
      6) #
      Code:
      adb reboot-bootloader
      7) #
      Code:
      fastboot flashing unlock

      Now that you've unlocked it, it has been wiped, so repeat 1-4, then disable all the google spyware, and go ahead and start using it while waiting for aosp and root.

      Official Instructions for Locking/Unlocking the Bootloader
    Personally, I would always use the official drivers Google provides unless they just don't work for whatever reason: Get the Google USB Driver (this is for Windows). They work for me. They are rarely updated, but they are every once in a great while, sometimes years in-between.
    I agree with this. be careful using drivers or adb/fastboot tools. Some are fine, but there's no need for it really anymore. Google has made it very easy to install drivers and Platform-Tools (adb/fastboot tool).

    Google provides the Fastboot/ADB tool (Platform-Tools) and Google USB Drivers (adb/fastboot interface). This will allow any Pixel to interface with Windows using the fastboot/adb protocol. Official Google USB Driver includes support for both the Fastboot and ADB driver interface. There are 3 main drivers (Fastboot, ADB and MTP/Portable File Transfer). The MTP/Portable File Transfer driver is built-in to Windows 7-11.

    Fastboot/ADB Driver Interface - Official Download Link:
    When flashing a full image or unlocking your bootloader, the fastboot interface is being used.

    First Download official Google USB Drivers (it's a zip file). Extract the zip (important!). Right-click on the android_winusb.inf file and hit install. You can then restart your phone to the Bootloader Screen (hold vol-down while it restarts or turns on). When you plug in your phone, Windows Device Manager will show a new device at the top: Android Device: Android Bootloader Interface.

    Using the ADB interface: It's the same driver. Enable USB Debugging on your phone, then plug it in to your computer. A prompt will appear on your phone (to allow USB Debugging). The driver in Device Manager will appear as Android Device: Android Composite ADB interface.

    Now you can download and use Platform-Tools to flash an Android Image, OTA or run adb/fastboot commands.
    Official Download Page
    "Android SDK Platform-Tools is a component for the Android SDK. It includes tools that interface with the Android platform, such as adb, fastboot, and systrace"

    It's best to make Platform-Tools available system-wide. Download Platform-Tools from the above link and extract it to your C:\ drive - that way you will have a folder to add to the PATH Environment under Window System Properties Menu, Advanced, Environment Variables, System Variables, PATH (google how to do this, very easy). What this does is allow adb/fastboot commands to be run from anywhere in the system, so you don't have to be in the platform-tools folder to run adb/fastboot commands and flash an Android Image (Official or Android Fork such as ProtonAOSP).

    Rooting-related


    No longer applies - Things that make rooting more complicated on Android 12
    @V0latyle posted a new thread with some very important and fascinating information about the increased difficulty to root Android 12: Read this before rooting. Be sure to thank him there.

    A list of the other important guides - be sure to thank the respective OPs
    For all relevant guide threads just click the yellow "How To Guide" quick filter above the list of threads in the Pixel 6 Pro section.


    TWRP (not made for the Pixel 6 Pro yet - will update when it has)
    I would guess that this should be the appropriate URL for official TWRP custom recovery for the Pixel 6 Pro, but who knows when/if that will actually be made available, and it may become available unofficially in these forum sections before being made official. I'll adjust this URL as needed. https://twrp.me/google/googlepixel6pro.html.

    Custom kernels for stock ROM(s)

    Factory Images (requires an unlocked bootloader)
    It's also handy to have to the full official firmware available, whether it's to recovery from accidents or for actual development. Note the official link to the general Factory Images for Nexus and Pixel Devices page. The following link goes directly to the Pixel 6 Pro (Raven) section: Pixel 6 Pro Factory Images. I prefer to actually bookmark a link to the device listed immediately below the device I want the firmware for, because Google dumbly (in my opinion) puts the latest firmware at the bottom of the list for each particular device, and that ends up making you scroll a lot after a year or two of monthly updates.

    Note: You can still get the December 2021 Factory Images and OTA from this thread, if you need them for any reason: Alternate links to December - all full factory images and OTAs available

    Full OTA Images (doesn't require an unlocked bootloader)

    The usefulness of having Verity and Verification enabled (now that it's not needed for root) - post #2 below.

    Regarding P6P 5G model numbers and capabilities - post #3 below.

    List of all Pixel monthly security bulletins and Play System Updates - post #4 below.

    How I root and update (which is identical whether rooting the first time or updating):
    • Use the latest Magisk Stable (in my case, I keep the app "hidden" / renamed)
    • Used the full firmware zip, extracted to the same folder as the latest Platform Tools (S:\platform-tools)
    • Extracted the new boot.img
    • Copied new boot.img to the phone
    • Patched the new boot.img with Magisk Stable
    • Renamed Magisk'd boot.img so I know what version of firmware it's for
    • Copied the Magisk'd boot.img back to the computer
    • Disabled all my Magisk Modules
    • Removed the "-w " from the flash-all.bat
    • Re-edited the flash-all.bat to verify I saved it with the "-w " taken out
    • Open a Command Prompt, navigated to S:\platform-tools
    • adb reboot bootloader
    • flash-all.bat
    • Let phone boot, unlock it, check that it's working, allow the update process to finish (gave it five minutes or so)
    • adb reboot bootloader
    • fastboot flash boot kernel.img (renamed Magisk'd boot.img)
    • fastboot reboot
    • Unlock, check everything's working
    • Re-enabled the most basic Magisk Modules which I was sure wouldn't cause a critical issue
    • Reboot, unlock, made sure everything's working
    Back to modding!

    I may append these first four posts with further useful information or links as needed.
    15
    The unlock process works like this;

    1) Take brand new fresh phone out of box. Do NOT put sim card in it, just power it on.
    2) When it starts harassing you to join google, hit "skip" and "remind me tomorrow" as applicable until you reach home screen. YOU DO NOT need to plug in a google account.
    3) Settings --> About --> Build number. Tap it until it says you're a developer.
    4) Back --> Network --> Wifi and connect it.
    5) Back --> System --> Developer --> OEM unlocking (check), USB debugging (check), plug in USB, authorize when requested.
    6) # adb reboot-bootloader
    7) # fastboot flashing unlock

    Now that you've unlocked it, it has been wiped, so repeat 1-4, then disable all the google spyware, and go ahead and start using it while waiting for aosp and root.
    15
    SDK Platform Tools updated to v33.0.1 (March 2022):

    33.0.1 (March 2022)​

    • adb
      • Fixes Windows mdns crashes.
      • Fixes enable-verity/disable-verity on old devices.
      • Fixes "install multiple" on old devices
      • Improves the help output to include all supported compression methods.
    13
    Just to let everyone know, updating to .037 and re-rooting (without wiping anything) worked with no problems. My method is to just replace -w with --disable-verity --disable-verification in the flash-all.bat file and run the flash-all command. I then let it reboot, patch the boot image, return to bootloader and flash the patched boot image.

    Canary 23014

    EDIT: Thank you @ipdev for confirming my inquiry that this method would work back on Nov. 4 👍
    11
    SDK Platform Tools have been updated to v32.0.0 (January 2022). Update now before you forget and flashing the February update on the 7th gives you hassles. :)

    Direct download for Windows: https://dl.google.com/android/repository/platform-tools-latest-windows.zip

    Revisions​

    32.0.0 (January 2022)​

    • adb
      • Fixed adb w/o args SEGV regression.
    • fastboot
      • Reinstated recovery execution from b/158156979 (removal of preprocessor guards for root/secure).