How To Guide [GUIDE] Pixel 6 Pro "raven": Unlock Bootloader, Update, Root, Pass SafetyNet

Search This thread

V0latyle

Forum Moderator
Staff member
Sounds to me like he might be a novice user , that's why I recommended Pixel Flasher to him. Everything is done for you with that program. I'm sure he'll figure it out, you gotta learn somehow.
Pixel Flasher is not a one click does all application. As @badabing2003 stresses in his OP, it simply automates ADB commands. It's still extremely important for anyone trying to modify their device to learn the details of how to patch and flash their device.
 
Pixel Flasher is not a one click does all application. As @badabing2003 stresses in his OP, it simply automates ADB commands. It's still extremely important for anyone trying to modify their device to learn the details of how to patch and flash their device.
I agree, but if you don't know how to patch and flash your device, using a program like Pixel Flasher simplifies the process and by doing some reading helps you understand how things are done (at least that's the way I see it). I was just trying to help the guy out, just giving a little advice. You can't learn this stuff overnight.
 

pojr

Senior Member
Dec 18, 2016
71
23
Slider? This seems odd....Are you sure you have the right firmware for your device?
Yikes. I may not have the right firmware. I have an unlocked bootloader and rooted device, so seems like things are running fine, but would not be surprised if I messed something up. Any idea what slider is? Ever seen something like this before? Not sure where I may have messed up.

Edit: I'll be honest, I feel like I followed the instructions to unlock the bootloader and root verbatim. So I'm not sure why the bootloader versions would be incorrect. Not saying I didn't mess up somewhere though.

No - boot.img is not the same as bootloader.img. Getting this wrong can brick your device. The image you need is in the root of the factory package, and is titled bootloader-raven-1.x-xxxxxxx.img

Here is an example using firmware for my Pixel 5:
View attachment 5763207

See above. The boot image only contains kernel and ramdisk, and is contained in the image-device-buildnumber.zip. This is what you patch in Magisk.
I had a feeling boot.img wasn't the right way to go LOL.

I'm a little lost then, because I never needed to flash a bootloader update before. In the rooting instruction from This Thread, it says to grab the boot.img from the factory image, then patch with magisk, then "fastboot flash boot" that same boot image (which is now magisk patched). But we shouldn't use boot.img in the bootloader? Not trying to disagree, just wondering because clearly I'm a doofas lol. What would the magisk patched boot.img actually be for then??

Edit: Actually I think I understand. I can use boot.img in fastboot mode , but I just can't use the "bootloader" command for it while in fastboot, that should be for the bootloader img file that you referenced. That makes sense, if I understand.

Tensor devices do not seem to permit using --slot all so the proper way to update bootloader on the Pixel 6 series is thus:
Code:
fastboot flash bootloader_a <bootloader image>
fastboot flash bootloader_b <bootloader image>
fastboot reboot bootloader
Got it, so I should use fastboot flash boot_a and fastboot flash boot_b to update the fastboot version then?

Edit: Sorry, can't read. You said bootloader_a and bootloader_b, not boot_a and boot_b.

Anyway I greatly appreciate the help. If you want me to post in the other thread instead of here, I can do that. Trying to learn, but sometimes I break stuff in the process lol.

Edit: And yeah, the PixelFlasher looks cool. Might start using that for now on.
 
Last edited:

Lughnasadh

Senior Member
Mar 23, 2015
4,721
5,352
Google Nexus 5
Huawei Nexus 6P
Yikes. I may not have the right firmware. I have an unlocked bootloader and rooted device, so seems like things are running fine, but would not be surprised if I messed something up. Any idea what slider is? Ever seen something like this before? Not sure where I may have messed up.


I had a feeling boot.img wasn't the right way to go LOL.

I'm a little lost then, because I never needed to flash a bootloader update before. In the rooting instruction from This Thread, it says to grab the boot.img from the factory image, then patch with magisk, then "fastboot flash boot" that same boot image (which is now magisk patched). But we shouldn't use boot.img in the bootloader? Not trying to disagree, just wondering because clearly I'm a doofas lol. What would the magisk patched boot.img actually be for then??


Got it, so I should use fastboot flash boot_a and fastboot flash boot_b to update the fastboot version then?

Anyway I greatly appreciate the help. If you want me to post in the other thread instead of here, I can do that. Trying to learn, but sometimes I break stuff in the process lol.
Slider is the correct name used in the bootloader name for this device. Don't worry about that.

You should be able to use --slot all (or --slot=all) to flash the bootloader to both slots. For Tensor devices, you can't use --slot all (or --slot=all) when updating the whole firmware (e.g. when putting that command in update line in the flash-all.bat file when updating to a new monthly build). It will error out when you do that. But using --slot all (--slot=all) for flashing individual images/partitions should work.
 
Last edited:
  • Like
Reactions: V0latyle

V0latyle

Forum Moderator
Staff member
Yikes. I may not have the right firmware. I have an unlocked bootloader and rooted device, so seems like things are running fine, but would not be surprised if I messed something up. Any idea what slider is? Ever seen something like this before? Not sure where I may have messed up.

Edit: I'll be honest, I feel like I followed the instructions to unlock the bootloader and root verbatim. So I'm not sure why the bootloader versions would be incorrect. Not saying I didn't mess up somewhere though.


I had a feeling boot.img wasn't the right way to go LOL.

I'm a little lost then, because I never needed to flash a bootloader update before. In the rooting instruction from This Thread, it says to grab the boot.img from the factory image, then patch with magisk, then "fastboot flash boot" that same boot image (which is now magisk patched). But we shouldn't use boot.img in the bootloader? Not trying to disagree, just wondering because clearly I'm a doofas lol. What would the magisk patched boot.img actually be for then??
This is where you need to understand the difference.

Bootloader is the first thing that starts on your phone when you power it on. It is responsible for finding and loading the system kernel - literally, it boots and loads - as well as writing images to partitions when flashing. If this is damaged or corrupted, the phone will not work at all, because the bootloader won't start and won't load the kernel (which is in the boot image). Therefore, bootloader is an absolutely critical partition, because if something goes wrong with this, the entire phone is useless. I cannot stress this enough, you DO NOT want to do something wrong when flashing the bootloader.

The boot image contains the system kernel, the recovery kernel, and ramdisk. This is what the bootloader loads from memory. This is what you patch in Magisk - the patching process modifies ramdisk. If something goes wrong with your boot image, your device will fail to boot, but fixing it should be as easy as reflashing it.
Edit: Actually I think I understand. I can use boot.img in fastboot mode , but I just can't use the "bootloader" command for it while in fastboot, that should be for the bootloader img file that you referenced. That makes sense, if I understand.
You flash both in bootloader mode. The difference is which image you're using and which partition you're flashing it to. While the bootloader is running, it is able to update its own partitions, as well as write, modify, and reformat any other partition on the device.

To use my Pixel 5 as an example again:

This is how I update bootloader:
Code:
fastboot flash bootloader bootloader-redfin-r3-0.5-8906128.img
fastboot reboot bootloader
Reboot is necessary when updating the bootloader; it loads the new bootloader after rebooting.

The syntax here is thus:
  • fastboot is the program you are using to interface with the bootloader over USB; fastboot only works in bootloader mode and fastbootd mode, while adb is used in recovery and Android system
  • flash is telling the bootloader what you want to do - in this case, you want to flash a partition
  • bootloader is the partition you want it to flash, in this case /bootloader. This can be any partition that exists on the device: /bootloader, /radio, /system, /vbmeta, /boot, /dtbo, etc
  • bootloader-device-buildnumber.img is the name of the file you're instructing the bootloader to flash to the specified partition. It is your responsibility to make sure the right binary goes in the right partition; the bootloader is "dumb" and will simply attempt to flash the specified partition with whatever binary you tell it to, even if it's wrong.

To flash the boot image:
Code:
fastboot flash boot boot.img <<< assuming I wanted to flash the factory boot image
fastboot flash boot magisk_patched-25200_xxxxx.img <<< in this case, I'm flashing the patched boot image
Similar to above, this is the syntax:
  • fastboot is the program you're using to interface with bootloader
  • flash is the command
  • boot is the partition, in this case /boot
  • boot.img is the name of the file you want to flash to the specified partition

Got it, so I should use fastboot flash boot_a and fastboot flash boot_b to update the fastboot version then?

Edit: Sorry, can't read. You said bootloader_a and bootloader_b, not boot_a and boot_b.
Honestly, you're starting to scare me a bit. If you don't know or understand the difference between these two, as I've tried to make abundantly clear, you should not be doing this. Get someone who knows what they're doing to help you.
Anyway I greatly appreciate the help. If you want me to post in the other thread instead of here, I can do that. Trying to learn, but sometimes I break stuff in the process lol.

Edit: And yeah, the PixelFlasher looks cool. Might start using that for now on.
It is helpful because it automates the commands, but it is NOT a substitute for knowing what you are doing.
Slider is the correct name used in the bootloader name for this device. Don't worry about that.

You should be able to use --slot all (or --slot=all) to flash the bootloader to both slots. For Tensor devices, you can't use --slot all (or --slot=all) when updating the whole firmware (e.g. when putting that command in update line in the flash-all.bat file when updating to a new monthly build). It will error out when you do that. But using --slot all (--slot=all) for flashing individual images/partitions should work.
Thanks for clarifying, I felt like I was missing something.
 
Last edited:

pojr

Senior Member
Dec 18, 2016
71
23
This is where you need to understand the difference.

Bootloader is the first thing that starts on your phone when you power it on. It is responsible for finding and loading the system kernel - literally, it boots and loads - as well as writing images to partitions when flashing. If this is damaged or corrupted, the phone will not work at all, because the bootloader won't start and won't load the kernel (which is in the boot image). Therefore, bootloader is an absolutely critical partition, because if something goes wrong with this, the entire phone is useless. I cannot stress this enough, you DO NOT want to do something wrong when flashing the bootloader.
Thank you for explaining this. Not gonna lie, I only had a VERY basic understanding of a bootloader. It lets you change partitions. That's really all I knew. I still don't get everything that you're saying here (too advanced for me).

You flash both in bootloader mode. The difference is which image you're using and which partition you're flashing it to. While the bootloader is running, it is able to update its own partitions, as well as write, modify, and reformat any other partition on the device.

To use my Pixel 5 as an example again:

This is how I update bootloader:
Code:
fastboot flash bootloader bootloader-redfin-r3-0.5-8906128.img
fastboot reboot bootloader
Reboot is necessary when updating the bootloader; it loads the new bootloader after rebooting.

The syntax here is thus:
  • fastboot is the program you are using to interface with the bootloader over USB; fastboot only works in bootloader mode and fastbootd mode, while adb is used in recovery and Android system
  • flash is telling the bootloader what you want to do - in this case, you want to flash a partition
  • bootloader is the partition you want it to flash, in this case /bootloader. This can be any partition that exists on the device: /bootloader, /radio, /system, /vbmeta, /boot, /dtbo, etc
  • bootloader-device-buildnumber.img is the name of the file you're instructing the bootloader to flash to the specified partition. It is your responsibility to make sure the right binary goes in the right partition; the bootloader is "dumb" and will simply attempt to flash the specified partition with whatever binary you tell it to, even if it's wrong.

To flash the boot image:
Code:
fastboot flash boot boot.img <<< assuming I wanted to flash the factory boot image
fastboot flash boot magisk_patched-25200_xxxxx.img <<< in this case, I'm flashing the patched boot image
Similar to above, this is the syntax:
  • fastboot is the program you're using to interface with bootloader
  • flash is the command
  • boot is the partition, in this case /boot
  • boot.img is the name of the file you want to flash to the specified partition
This is VERY helpful information, this I understand. You pointed this all out in a clear, concise manner and I appreciate this. Never realized fastboot was within bootloader mode. Not gonna lie. I know what a partition is, but didn't know what partitions existed within Android, and didn't realize there were 5+ of them. But still, a lot of this makes sense.

Honestly, you're starting to scare me a bit. If you don't know or understand the difference between these two, as I've tried to make abundantly clear, you should not be doing this. Get someone who knows what they're doing to help you.
I'm actually glad you stated this, because it's a wake up call to me. Maybe I shouldn't be doing any of this.

Also small comment: seems like Lineage OS is easier to deal with than Stock. Is that just me? I haven't had near as many problems with Lineage OS as I have with Stock, but again, could just be me.

That last comment "Get someone who knows what they're doing to help you". Should I just give up? It's saying a lot when the teacher gives up on the student lol (I say teacher because you made this thread to begin with) but I don't blame you. I've rooted a few devices in the past and updated them with minimal problems, but I've always just followed the instructions from tutorials without understanding exactly what I'm doing. Anyone can write "fastboot flash boot_a boot.img", but doesn't mean they understand what it means or why they're doing it. That's where I'm at.

It is helpful because it automates the commands, but it is NOT a substitute for knowing what you are doing.
I know that. Because if anything goes wrong, or the program gets discontinued, or if I need to cease use of the program for whatever reason, I won't be able to do anything on my own. Would that be a fair assessment?

Nonetheless, I really do appreciate your time. I apologize for wasting your time. If you do have a way I can donate or something, I will do that.
 

V0latyle

Forum Moderator
Staff member
Thank you for explaining this. Not gonna lie, I only had a VERY basic understanding of a bootloader. It lets you change partitions. That's really all I knew. I still don't get everything that you're saying here (too advanced for me).


This is VERY helpful information, this I understand. You pointed this all out in a clear, concise manner and I appreciate this. Never realized fastboot was within bootloader mode. Not gonna lie. I know what a partition is, but didn't know what partitions existed within Android, and didn't realize there were 5+ of them. But still, a lot of this makes sense.
There's actually closer to 20 partitions. Fortunately we generally only have to concern ourselves with three: /bootloader, /radio, and /boot.
I'm actually glad you stated this, because it's a wake up call to me. Maybe I shouldn't be doing any of this.
It just means you have more to learn. Don't be afraid to ask questions. While I have a multitude of technical knowledge, I'm not the best teacher. Fortunately, we have tons of other people here who can help explain things. None of this really comes naturally; while I'm a technically minded person, I've also been doing this for more than a decade, when the original Motorola Droid came out. I had to essentially relearn everything when I started using HTC devices, then again when I started using Samsung, and finally when I switched to Google.
Also small comment: seems like Lineage OS is easier to deal with than Stock. Is that just me? I haven't had near as many problems with Lineage OS as I have with Stock, but again, could just be me.
I suppose it would depend on the device. LineageOS seems to work okay on my tablet; I just use the stock firmware with root on my Pixel 5.
That last comment "Get someone who knows what they're doing to help you". Should I just give up? It's saying a lot when the teacher gives up on the student lol (I say teacher because you made this thread to begin with) but I don't blame you. I've rooted a few devices in the past and updated them with minimal problems, but I've always just followed the instructions from tutorials without understanding exactly what I'm doing. Anyone can write "fastboot flash boot_a boot.img", but doesn't mean they understand what it means or why they're doing it. That's where I'm at.
No, don't give up. Just make sure you have a clear understanding of what you want to try to do, and how everything works. I would recommend not trying until you're at the point where you have a solid grasp of things, but sometimes we just have to yeet it because YOLO or whatever the kids say these days...
I know that. Because if anything goes wrong, or the program gets discontinued, or if I need to cease use of the program for whatever reason, I won't be able to do anything on my own. Would that be a fair assessment?
I don't think @badabing2003 will be discontinuing PixelFlasher anytime soon, but it is always wise to understand the concepts involved.
pojr said:
Nonetheless, I really do appreciate your time. I apologize for wasting your time. If you do have a way I can donate or something, I will do that.
You aren't wasting my time. If I'm not able to help you learn somrthing, what am I really doing here?

As far as I know, moderators can't accept donations. I could be wrong. Still, I have never bothered to set anything up to receive donations, mostly because I take the most enjoyment out of simply being able to help others figure things out. The best way you can help me is by learning as much as you can and helping everyone else on XDA.
 

V0latyle

Forum Moderator
Staff member
Is there a way to change IMEI on pixel 6
So far Im unable to find any method
This question isn't relevant to the scope of this thread. Furthermore, as changing IMEI is illegal in many countries, we do not permit discussing it on XDA.
 

73sydney

Senior Member
Pixel Flasher is not a one click does all application. As @badabing2003 stresses in his OP, it simply automates ADB commands. It's still extremely important for anyone trying to modify their device to learn the details of how to patch and flash their device.

Yup everyone should know how to do the process manually for a good base understanding of what theyre doing and what the process is doing, before letting a program or app do it

Trying to do things quickly and the easy way often disappoints, and i for one hate trying to troubleshoot an app wrapping a known process, when troubleshooting a known process is far easier...

Having said that, with plenty of Pixel (and general ROM) flash points under my belt i am looking forward to trying Pixel Flasher at some point soon
 

jackuphill

Member
Sep 22, 2013
25
5
Hi
My Pixel 6 was on A13 build P1A.221105.002, Nov 2022.
I then rooted the phone using Steps given for intial root with Master Root Image and Magisk. Used Magisk version 25.2.
Before updating with Dec OTA chad checked the current slot and it was "b"
For updating to Dec OTA followed the "Update and Root Automatic OTA" using Magisk. (inactive slot method).
After rebooting from Magisk got the error "your device is corrupt. It can't be trusted and may not work properly." with option to press power button to continue. But before I could press the power button the phone went blank and got switched off. So I turned it on again and now it booted normally, (with only warning of unlocked bootloader)
But now Magisk showed N/A and also the build was on P1A.221105.002, Nov 2022 itself and later when I checked the current slot, it was still slot "b"
As the Dec OTA and Magisk got installed in slot "a" and now that it is corrupted how to correct the inactive slot "a" so that slot "a" returns to the state before Magisk and OTA was installed to the inactive slot.
 

V0latyle

Forum Moderator
Staff member
Hi
My Pixel 6 was on A13 build P1A.221105.002, Nov 2022.
I then rooted the phone using Steps given for intial root with Master Root Image and Magisk. Used Magisk version 25.2.
Before updating with Dec OTA chad checked the current slot and it was "b"
For updating to Dec OTA followed the "Update and Root Automatic OTA" using Magisk. (inactive slot method).
After rebooting from Magisk got the error "your device is corrupt. It can't be trusted and may not work properly." with option to press power button to continue. But before I could press the power button the phone went blank and got switched off. So I turned it on again and now it booted normally, (with only warning of unlocked bootloader)
But now Magisk showed N/A and also the build was on P1A.221105.002, Nov 2022 itself and later when I checked the current slot, it was still slot "b"
As the Dec OTA and Magisk got installed in slot "a" and now that it is corrupted how to correct the inactive slot "a" so that slot "a" returns to the state before Magisk and OTA was installed to the inactive slot.
If the update fails, the device automatically recycles back to the last working slot. You do not need to do anything to Slot A. You can try the OTA update again, maybe sideload it this time, or you can update via the factory image method.
 

fil3s

Senior Member
Aug 30, 2014
1,608
463
44
bendigo
mobiledevices11.blogspot.com
Hi
My Pixel 6 was on A13 build P1A.221105.002, Nov 2022.
I then rooted the phone using Steps given for intial root with Master Root Image and Magisk. Used Magisk version 25.2.
Before updating with Dec OTA chad checked the current slot and it was "b"
For updating to Dec OTA followed the "Update and Root Automatic OTA" using Magisk. (inactive slot method).
After rebooting from Magisk got the error "your device is corrupt. It can't be trusted and may not work properly." with option to press power button to continue. But before I could press the power button the phone went blank and got switched off. So I turned it on again and now it booted normally, (with only warning of unlocked bootloader)
But now Magisk showed N/A and also the build was on P1A.221105.002, Nov 2022 itself and later when I checked the current slot, it was still slot "b"
As the Dec OTA and Magisk got installed in slot "a" and now that it is corrupted how to correct the inactive slot "a" so that slot "a" returns to the state before Magisk and OTA was installed to the inactive slot.

I'd use flashtool then fastboot boot the patched image, direct install. Safest and easiest way.
 

jackuphill

Member
Sep 22, 2013
25
5
If the update fails, the device automatically recycles back to the last working slot. You do not need to do anything to Slot A. You can try the OTA update again, maybe sideload it this time, or you can update via the factory image method.
Thanks, will try the factory image method. One doubt I suppose I can flash the December build instead of the November build.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    This is one of the best threads on XDA. Mostly because the people here are helpful, patient, and knowledgeable. I appreciate it.
    2
    If you're asking if you need to use a patched Pixel Pro 7 boot image to root on QPR2 Beta 2.1, then yes.

    Thank you for 1) clarifying my question and 2) answering my question. If I can hit like twice I would lol.

    I guess I'll also download the P7P image and patch its boot for my P6P.
    1
    Does the January QPR patch still have the boot issues like December?
    If you're asking if you need to use a patched Pixel Pro 7 boot image to root on QPR2 Beta 2.1, then yes.
    1
    Hi all, I installed the Bliss 16.3 yesterday, it is rooted with Magisk. Now I have an update available in System -Updater and wanted to install it with root. I am on Magisk Uninstall-Restore Image. Then I installed the update since it hasn't restarted yet, went to Magisk and click Install on inactive slot and click Let's go in the top right and the device reboots. When it starts, it doesn't install anything and where it has restarted, there is still a new update available under System Updater Bliss 16.3 from 01/14/2023. I've tried it 3 times today but the update is always there. What am I doing wrong? somehow the update doesn't seem to grab it.
    This thread is for the stock firmware, we do not provide support for custom ROMs
  • 97
    ⚠️⚠️⚠️ WARNING! IF YOU ARE UPDATING TO ANDROID 13 FOR THE FIRST TIME, READ THIS FIRST!⚠️⚠️⚠️

    If you are looking for my guide on a different Pixel, find it here:
    Update 6-20-22: Magisk 25.1 is recommended as this includes fixes for OTA updates, as well as support for the Android 13 beta.
    Discussion thread for migration to 24.0+.

    DO NOT use any version of Magisk lower than Canary 23016 as it does not yet incorporate the necessary fixes for Android 12 and your device.


    WARNING: YOU AND YOU ALONE ARE RESPONSIBLE FOR ANYTHING THAT HAPPENS TO YOUR DEVICE. THIS GUIDE IS WRITTEN WITH THE EXPRESS ASSUMPTION THAT YOU ARE FAMILIAR WITH ADB, MAGISK, ANDROID, AND ROOT. IT IS YOUR RESPONSIBILITY TO ENSURE YOU KNOW WHAT YOU ARE DOING.

    Prerequisites:


    Android Source - Setting up a device for development


    1. Follow these instructions to enable Developer Options and USB Debugging.
    2. Enable OEM Unlocking. If this option is grayed out, unlocking the bootloader is not possible.
    3. Connect your device to your PC, and open a command window in your Platform Tools folder.
    4. Ensure ADB sees your device:
      Code:
      adb devices
      If you don't see a device, make sure USB Debugging is enabled, reconnect the USB cable, or try a different USB cable.
      If you see "unauthorized", you need to authorize the connection on your device.
      If you see the device without "unauthorized", you're good to go.
    5. Reboot to bootloader:
      Code:
      adb reboot bootloader
    6. Unlock bootloader: THIS WILL WIPE YOUR DEVICE!
      Code:
      fastboot flashing unlock
      Select Continue on the device screen.

    1. Install Magisk on your device.
    2. Download the factory zip for your build.
    3. Inside the factory zip is the update zip: "device-image-buildnumber.zip". Open this, and extract boot.img
    4. Copy boot.img to your device.
    5. Patch boot.img with Magisk: "Install" > "Select and Patch a File"
    6. Copy the patched image back to your PC. It will be named "magisk_patched-23xxx_xxxxx.img". Rename this to "master root.img" and retain it for future updates.
    7. Reboot your device to bootloader.
    8. Flash the patched image:
      Code:
      fastboot flash boot <drag and drop master root.img here>
    9. Reboot to Android. Open Magisk to confirm root - under Magisk at the top, you should see "Installed: <Magisk build number>

    1. Before you download the OTA, open Magisk, tap Uninstall, then Restore Images. If you have any Magisk modules that modify system, uninstall them now.
    2. Take the OTA update when prompted. To check for updates manually, go to Settings > System > System Update > Check for Update
    3. Allow the update to download and install. DO NOT REBOOT WHEN PROMPTED. Open Magisk, tap Install at the top, then Install to inactive slot. Magisk will then reboot your device.
    4. You should now be updated with root.

    1. Download the OTA.
    2. Reboot to recovery and sideload the OTA:
      Code:
      adb reboot sideload
      Once in recovery:
      Code:
      adb sideload ota.zip
    3. When the OTA completes, you will be in recovery mode. Select "Reboot to system now".
    4. Allow system to boot and wait for the update to complete. You must let the system do this before proceeding.
    5. Reboot to bootloader.
    6. Boot the master root image (See note 1):
      Code:
      fastboot boot <drag and drop master root.img here>
      Note: If you prefer, you can download the factory zip and manually patch the new boot image, then flash it after the update. Do not flash an older boot image after updating.
    7. Your device should boot with root. Open Magisk, tap Install, and select Direct Install.
    8. Reboot your device. You should now be updated with root.
    Note: You can use Payload Dumper to extract the contents of the OTA if you want to manually patch the new boot image. However, I will not cover that in this guide.

    Please note that the factory update process expects an updated bootloader and radio. If these are not up to date, the update will fail.
    1. Download the factory zip and extract the contents.
    2. Reboot to bootloader.
    3. Compare bootloader versions between phone screen and bootloader.img build number
      Code:
      fastboot flash bootloader <drag and drop new bootloader.img here>
      If bootloader is updated, reboot to bootloader.
    4. Compare baseband versions between phone screen and radio.img build number
      Code:
      fastboot flash radio <drag and drop radio.img here>
      If radio is updated, reboot to bootloader.
    5. Apply update:
      Code:
      fastboot update --skip-reboot image-codename-buildnumber.zip
      When the update completes, the device will be in fastbootd. Reboot to bootloader.
    6. Boot the master root image (See note 1):
      Code:
      fastboot boot <drag and drop master root.img here>
      Note: If you prefer, you can manually patch the new boot image, then flash it after the update. Do not flash an older boot image after updating.
    7. Your device should boot with root. Open Magisk, tap Install, and select Direct Install.
    8. Reboot your device. You should now be updated with root.
    Note: If you prefer, you can update using the flash-all script included in the factory zip. You will have to copy the script, bootloader image, radio image, and update zip into the Platform Tools folder; you will then have to edit the script to remove the -w option so it doesn't wipe your device.
    The scripted commands should look like this:
    Code:
    fastboot flash bootloader <bootloader image name>
    fastboot reboot bootloader
    ping -n 5 127.0.0.1 > nul
    fastboot flash radio <radio image name>
    fastboot reboot bootloader
    ping -n 5 127.0.0.1 > nul
    fastboot update  --skip-reboot <image-device-buildnumber.zip>
    Once this completes, you can reboot to bootloader and either boot your master patched image, or if you patched the new image, flash it at this time.

    PixelFlasher by @badabing2003 is an excellent tool that streamlines the update process - it even patches the boot image for you.
    The application essentially automates the ADB interface to make updating and rooting much easier. However, it is STRONGLY recommended that you still learn the "basics" of using ADB.

    For instructions, downloads, and support, please refer to the PixelFlasher thread.

    1. Follow the instructions on the Android Flash Tool to update your device. Make sure Lock Bootloader and Wipe Device are UNCHECKED.
    2. When the update completes, the device will be in fastbootd. Reboot to bootloader.
    3. Boot the master root image (See note 1):
      Code:
      fastboot boot <drag and drop master root.img here>
      Note: If you prefer, you can download the factory zip and manually patch the new boot image, then flash it after the update. Do not flash an older boot image after updating.
    4. Your device should boot with root. Open Magisk, tap Install, and select Direct Install.
    5. Reboot your device. You should now be updated with root.

    SafetyNet has been deprecated for the new Play Integrity API. More information here.

    In a nutshell, Play Integrity uses the same mechanisms as SafetyNet for the BASIC and DEVICE verdicts, but uses the Trusted Execution Environment to validate those verdicts. TEE does not function on an unlocked bootloader, so legacy SafetyNet solutions will fail.

    However, @Displax has modified the original Universal SafetyNet Fix by kdrag0n; his mod is able to bypass TEE, meaning that the device will pass BASIC and DEVICE integrity.

    Mod available here. Do not use MagiskHide Props Config with this mod.

    This is my configuration that is passing Safety Net. I will not provide instructions on how to accomplish this. Attempt at your own risk.

    Zygisk + DenyList enabled
    All subcomponents of these apps hidden under DenyList:
    • Google Play Store
    • GPay
    • Any banking/financial apps
    • Any DRM media apps
    Modules:
    • Universal SafetyNet Fix 2.3.1 Mod - XDA post
    To check SafetyNet status:
    To check Play Integrity status:
    I do not provide support for Magisk or modules. If you need help with Magisk, here is the Magisk General Support thread. For support specifically with Magisk v24+, see this thread.

    Points of note:
    • The boot image is NOT the bootloader image. Do not confuse the two - YOU are expected to know the difference. Flashing the wrong image to bootloader could brick your device.
    • While the Magisk app is used for patching the boot image, the app and the patch are separate. This is what you should see in Magisk for functioning root:
      screenshot_20211218-194517-png.5486339
    • "Installed" shows the version of patch in the boot image. If this says N/A, you do not have root access - the boot image is not patched, or you have a problem with Magisk.
    • "App" simply shows the version of the app itself.
    • If you do not have a patched master boot image, you will need to download the factory zip if you haven't already, extract the system update inside it, then patch boot.img.
    • If you prefer updating with the factory image, you can also extract and manually patch the boot image if desired.
    • Some Magisk modules, especially those that modify read only partitions like /system, may cause a boot loop after updating. As a general rule, disable these modules before updating. You are responsible for knowing what you have installed, and what modules to disable.


    Credits:
    Thanks to @ipdev , @kdrag0n , @Didgeridoohan , and last but not least, @topjohnwu for all their hard work!
    9
    Magisk Stable is now at version 24.1, so I will no longer be providing any Magisk updates.

    You can use any version of Magisk now - Stable, Beta, or Canary. as long as it is 23016 or newer.

    Once again, if you want to switch versions of Maagisk, it is HIGHLY RECOMMENDED that you "Complete Uninstall" within Magisk before installing the new version. Multiple instances of Magisk can break root.

    If you simply want to update Magisk, the best way to do so is from within the app.


    Once the February update is out, I will perform some testing with installing to inactive slot, and if it works, I will update this guide.

    Given the low activity on this thread, I will probably close it if everything goes well with the next update.

    Thank you all for your testing and contributions.
    8
    My update process is to remove vbmeta.img (in addition to removing the -w flag in the flash-all script) from the factory zip before I flash it in fastboot. Seems to have worked so far, ymmv.
    7
    Now THIS is a useful thread! Thanks 👍

    I might try to root my P6P this week-end.

    If I already took the OTA from Google, can I just go to #6? (there's no data on my phone yet, just BL unlocked)

    "6. Reflash vbmeta to disable boot verification"
    7
    Magisk Canary updated to 23019
    Changes:
    - [Zygisk] Skip loading modules into the Magisk app to prevent conflicts
    - [MagiskBoot] Change `zopfli` to a more reasonable config so it doesn't take forever
    - [General] Several `BusyBox` changes

    Preferred method of update is from within Magisk app.


    If installing for the first time, here is the APK Download