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

Search This thread

Cornloaf

Member
Jul 9, 2007
24
1
Anyone update their rooted Pixel 6 Pro with the Sept 2022 patch? I had issues with the last udpates and they are repeating with the latest update. Here are the steps I took:

Uninstalled Magisk, restore images, ran the OTA within Android, repatched, rebooted. CORRUPT.
Booted into recovery, apply OTA, CORRUPT.
Fastboot, apply full image (TP1A.220905.004, Sep 2022 removed -w from bat file), CORRUPT
Fastboot, apply full image of Android 13 (TP1A.220624.021, Aug 2022) - SUCCESS
Recovery and apply OTA (TP1A.220905.004, Sep 2022), CORRUPT.
Fastboot, apply full image of Android 13 (TP1A.220624.021, Aug 2022) - SUCCESS
Fastboot, apply full image (TP1A.220905.004, Sep 2022), CORRUPT

I am now back on Android 13, Aug 2022 and it's working fine. I have basically tried two methods of OTA and the factory image. I have tried to apply the Sept update to stock Android 13 (TP1A.220624.021, Aug 2022) and it fails.

Am I missing a new step?
 

roirraW "edor" ehT

Forum Moderator
Staff member
Anyone update their rooted Pixel 6 Pro with the Sept 2022 patch? I had issues with the last udpates and they are repeating with the latest update. Here are the steps I took:

Uninstalled Magisk, restore images, ran the OTA within Android, repatched, rebooted. CORRUPT.
Booted into recovery, apply OTA, CORRUPT.
Fastboot, apply full image (TP1A.220905.004, Sep 2022 removed -w from bat file), CORRUPT
Fastboot, apply full image of Android 13 (TP1A.220624.021, Aug 2022) - SUCCESS
Recovery and apply OTA (TP1A.220905.004, Sep 2022), CORRUPT.
Fastboot, apply full image of Android 13 (TP1A.220624.021, Aug 2022) - SUCCESS
Fastboot, apply full image (TP1A.220905.004, Sep 2022), CORRUPT

I am now back on Android 13, Aug 2022 and it's working fine. I have basically tried two methods of OTA and the factory image. I have tried to apply the Sept update to stock Android 13 (TP1A.220624.021, Aug 2022) and it fails.

Am I missing a new step?
Yes, I updated from the August 15 Stable Android 13 release to the September firmware. I never use the OTA method, though. I use the (full) factory image zip method. You could try 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). Just make sure the following boxes are unchecked as indicated if you do that way:
  • Uncheck Wipe
  • Uncheck Force Flash All Partitions (which would also wipe)
  • Uncheck Re-lock Bootloader When Done.
Some or all of those options are unchecked already just depending, but I can't keep track of when they default checked and when not, so best to just make sure they're unchecked. :)

When done with the Android Flash Tool, use the boot.img from the full factory image zip as usual to create a Magisk'd boot.img. I would then:
Code:
adb reboot bootloader
fastboot boot MagiskRootedBoot.img
To live boot the Magisk'd boot.img. Once booted, use the Magisk app once more to Direct Patch the actually installed on device boot.img.

Good luck!
 
  • Like
Reactions: Lughnasadh
This is what I use all the time for a seamless transition:

- Unhide Magisk
- Disable all magisk modules except for safetynet
- Patch the boot.img from the new image.zip with magisk and save it in platform tools folder, lets call this patchedboot.img
- adb reboot-bootloader

Check for fastboot devices detect and get-var current slot just to be sure

- fastboot flash bootloader bootloader.img
- fastboot reboot-bootloader
- fastboot flash radio radio.img
- fastboot reboot-bootloader
- fastboot --disable-verity --disable-verification --skip-reboot update image.zip
This would leave you on the fasbootd screen.
- fastboot reboot-bootloader
- fastboot boot patchedboot.img

Direct install from magisk
reboot
Re-enable Magisk modules.

You can edit the flash-all file but I prefer using the commands manually. I feel in control of each step lol.

Never once has it not worked in the last 10 months.
 
Last edited:

Kennyeni

Member
Mar 12, 2012
27
12
Google Pixel 6 Pro
Is anyone else having issues with the September update on flashing BOTH slots?

$ ./fastboot update --skip-reboot --slot=all ./raven-tp1a.220905.004/image-raven-tp1a.220905.004.zip
.....
Sending sparse 'system_ext_b' 1/2 (262136 KB) OKAY [ 5.962s]
Writing 'system_ext_b' OKAY [ 1.005s]
Sending sparse 'system_ext_b' 2/2 (90760 KB) OKAY [ 2.083s]
Writing 'system_ext_b' OKAY [ 0.412s]
extracting vendor.img (492 MB) to disk... took 1.864s
archive does not contain 'vendor.sig'
Resizing 'vendor_a' FAILED (remote: 'Not enough space to resize partition')
fastboot: error: Command failed

Flash works if only was slot is flashed though (i..e, not --slot=all param sent). This definitely gave me a scare though!
 
Is anyone else having issues with the September update on flashing BOTH slots?



Flash works if only was slot is flashed though (i..e, not --slot=all param sent). This definitely gave me a scare though!
Never has been advised to flash image.zip to both slots using slot=all. Only bootloader flash through slot=all. If you want to update bootloader, radio and image on both slots, please do it one slot at time.
 
  • Like
Reactions: roirraW "edor" ehT

Lughnasadh

Senior Member
Mar 23, 2015
4,347
4,857
Google Nexus 5
Huawei Nexus 6P
Is anyone else having issues with the September update on flashing BOTH slots?



Flash works if only was slot is flashed though (i..e, not --slot=all param sent). This definitely gave me a scare though!
Yeah, flashing to both slots (i.e. --slot=all) when updating the whole system doesn't work on the Pixel 6 series. It does work, however, when flashing individual images such as boot, radio & bootloader, for example.
 

Kennyeni

Member
Mar 12, 2012
27
12
Google Pixel 6 Pro
Never has been advised to flash image.zip to both slots using slot=all. Only bootloader flash through slot=all. If you want to update bootloader, radio and image on both slots, please do it one slot at time.

Yeah, flashing to both slots (i.e. --slot=all) when updating the whole system doesn't work on the Pixel 6 series. It does work, however, when flashing individual images such as boot, radio & bootloader, for example.
Thanks both! I think that the main post in this thread has to be updated. cc @V0latyle

The instructions at:
Spoiler: Update and Root Factory Image

Suggests to flash both slots.
 

V0latyle

Forum Moderator
Staff member
Yeah, he does know about this. Probably just slipped his mind.
Also been crazy busy so while I have 5 min here and there to post replies, haven't had time to edit the OP. Typing this on my phone with my cat staring at me and the shower running, less than 40 min til I have to leave for work

Edited while my breakfast cooks
 
Last edited:

Cornloaf

Member
Jul 9, 2007
24
1
This is what I use all the time for a seamless transition:

- Unhide Magisk
- Disable all magisk modules except for safetynet
- Patch the boot.img from the new image.zip with magisk and save it in platform tools folder, lets call this patchedboot.img
- adb reboot-bootloader

Check for fastboot devices detect and get-var current slot just to be sure

- fastboot flash bootloader bootloader.img
- fastboot reboot-bootloader
- fastboot flash radio radio.img
- fastboot reboot-bootloader
- fastboot --disable-verity --disable-verification --skip-reboot update image.zip
This would leave you on the fasbootd screen.
- fastboot reboot-bootloader
- fastboot boot patchedboot.img

Direct install from magisk
reboot
Re-enable Magisk modules.

You can edit the flash-all file but I prefer using the commands manually. I feel in control of each step lol.

Never once has it not worked in the last 10 months.
I followed these instructions with the exception of flashing to both slots. I got an error message that there was not enough room on the partition when it got to the inactive slot. Went through the procedure again without flashing to both slots and it finally worked. Maybe something is wrong with my phone. Still can't get it to charge over 40% via wireless. Sometimes the phone will refuse to charge wired or wirelessly. This started after stable Android 13 released.
 

roirraW "edor" ehT

Forum Moderator
Staff member
I followed these instructions with the exception of flashing to both slots. I got an error message that there was not enough room on the partition when it got to the inactive slot. Went through the procedure again without flashing to both slots and it finally worked. Maybe something is wrong with my phone. Still can't get it to charge over 40% via wireless. Sometimes the phone will refuse to charge wired or wirelessly. This started after stable Android 13 released.

Code:
fastboot --slot all flash bootloader bootloader.img
Replacing bootloader.img with the exact filename of your bootloader file (not boot.img, has bootloader in the name) should work fine. Is that what you did, or something else? Someone else had tried to flash the kernel (boot.img) to the bootloader partition and got an error too (of course). :)
 
  • Like
Reactions: Lughnasadh

V0latyle

Forum Moderator
Staff member
Code:
fastboot --slot all flash bootloader bootloader.img
Replacing bootloader.img with the exact filename of your bootloader file (not boot.img, has bootloader in the name) should work fine. Is that what you did, or something else? Someone else had tried to flash the kernel (boot.img) to the bootloader partition and got an error too (of course). :)
Instead of trying to perfectly type the image name, you can type the command, then after the last space, just drag and drop the image you want to flash into the command window; it'll automatically populate the file path. Since I have two different phones (redfin and barbet) I keep all the files segregated in their own folders (even though the kernel is the same)
 
  • Like
Reactions: roirraW "edor" ehT

roirraW "edor" ehT

Forum Moderator
Staff member
Instead of trying to perfectly type the image name, you can type the command, then after the last space, just drag and drop the image you want to flash into the command window; it'll automatically populate the file path. Since I have two different phones (redfin and barbet) I keep all the files segregated in their own folders (even though the kernel is the same)
I prefer to copy-paste the filename instead. I'm more of a keyboard buff, but not nearly as much as my older brother, who is more like a keyboard hound.
 
  • Like
Reactions: jcp2 and V0latyle

sonice21

Senior Member
Sep 22, 2012
68
9
Some function is lost when opening the bootloader, such as stop watching netflix in fullhd because I changed the video codec. Sorry for my bad english
 

roirraW "edor" ehT

Forum Moderator
Staff member
Some function is lost when opening the bootloader, such as stop watching netflix in fullhd because I changed the video codec. Sorry for my bad english
Hi. Yes, "opening the bootloader" is confusing terminology. Are you running full Android 13 Stable? Or do you mean you are running Android 12 with the bootloader from Android 13 Stable flashed? If so, then that's expected behavior. If you want to use Android 12 while using a Android 13 compatible bootloader, then you should use one of the Developer Support images for Pixel, which is the only way to use stock Android 12 on an Android 13 compatible bootloader.
 

roirraW "edor" ehT

Forum Moderator
Staff member
I'm in stable android 13, i think to open bootloader for flashing new versión more faster than OTAS
Oh, I see what you mean. Unlocking the bootloader. I don't have Netflix so I have no experience with it, but have you implemented the items in the Pass Safetynet section of the OP? Also, on Android 13 a slightly different Universal SafetyNet Fix might be needed. See How To Guide Rooted, passing SafetyNet, Play Integrity, and GPay/Wallet contactless on A13 stable.

@V0latyle I don't know if you want to include links to the modded version of the SafetyNet fix as linked to from that other thread ^. Others and I found it necessary in order to pass more certification on Android 13 than the official SafetyNet Fix does. Hopefully, the official version implements the necessary fixes eventually.
 

V0latyle

Forum Moderator
Staff member
Oh, I see what you mean. Unlocking the bootloader. I don't have Netflix so I have no experience with it, but have you implemented the items in the Pass Safetynet section of the OP? Also, on Android 13 a slightly different Universal SafetyNet Fix might be needed. See How To Guide Rooted, passing SafetyNet, Play Integrity, and GPay/Wallet contactless on A13 stable.

@V0latyle I don't know if you want to include links to the modded version of the SafetyNet fix as linked to from that other thread ^. Others and I found it necessary in order to pass more certification on Android 13 than the official SafetyNet Fix does. Hopefully, the official version implements the necessary fixes eventually.
I knew there was something I was forgetting...Since I'd have to modify every single one of my 9000 guides, this may take a bit
 

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    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.
    4
    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.
    4
    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.
    4
    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.
    1
    I'm at a loss, I have botted to the nov update so therefore any OTA's don't get installed. Now I keep losing root access and don't understand how to keep it
    Download and use the Pixel Flasher program. Take your time and read the instructions. It's not a difficult program to use, it's actually quite easy once you use it for the first time. It was a life saver for me, I tried to update my Pixel 6 Pro using a method I found on YouTube and ended up losing root also. Once I installed Pixel Flasher on my PC I ran the program, it was fully automated, it installs the November update including the latest version of magisk which automatically patches the boot img and installs without wiping data. Great program badabing created.
  • 94
    ⚠️⚠️⚠️ 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
    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
    7
    I just used this method, (same one described on Magisk website here https://topjohnwu.github.io/Magisk/ota.html) and it worked perfectly, both root and safetynet.
    Can someone explain to me why you see all kind of guide to update which are far more complicated than that ?
    Part of it is due to device differences - non A/B devices can't use seamless updates, so re-rooting is only possible by either patching the boot image directly, or by flashing Magisk in a custom recovery.

    Part of it is also due to user preferences. Some people, like me, prefer to update using the factory images, instead of OTA.

    And part of it is probably a bit of misinformation mixed in with anecdotes, where people who don't fully understand how the process works, but they declare that something has to be done a certain way because of what worked for them.

    I try to stick to the first two. I've spent a lot of time learning about how Android works, so I make a point of providing instructions that align with how everything is supposed to be done, while accommodating alternatives for those who want them.

    Are you 100% sure?

    Cause topjohnwu said that OTA patching from within Magisk was broken for Pixel devices.

    See here

    Notice the date of that post, 16 months ago. Magisk Canary 23017 re-incorporated the ability to install to inactive slots.

    I have been following the commits closely, so when 23017 was released, I announced it in my guides. Had you read back a couple pages, your question has been answered.

    If you don't believe me, check the commits here.