[GUIDE] Pixel 5 "redfin": Unlock Bootloader, Update, Root, Pass SafetyNet

Search This thread

puterboy

Member
Jun 24, 2012
47
22
The purpose here is to have a patched image that you can boot after every update and use it to root your phone directly with Magisk. This should work at least until Android 13, regardless of how old the image is.

That being said, you can always manually patch the new boot image if you prefer to do it that way, but that will require downloading the factory zip every time there's an update. Temp booting a master image makes it easier to re-root post OTA.
So just confirming that you only need to patch the boot image ONCE per Android version and that you can 'fastboot boot' the same patched version after each subsequent update of the same Android version.

Thanks!
 

puterboy

Member
Jun 24, 2012
47
22
OTA does work on a rooted device - just not very reliably. If you absolutely have to use the OTA, sideload will always work. I personally prefer to use the factory image; if you don't already have a patched boot image handy, you will need it anyway.
I updated by Pixel 5a manually to rooted Android 12 and now have Magisk 23016 working.
I tried to take an OTA update for the January update but it fails -- presumably reflecting your "just no very reliably" statement.

  1. Do you have any sense of when/why OTA works and when it fails?
  2. Is there anything I can do on my device to make OTA more likely to work?
  3. If OTA won't work, what is the recommended next best (and least hassle) approach from the options you mention at the top of the thread?
 

V0latyle

Forum Moderator
Staff member
So just confirming that you only need to patch the boot image ONCE per Android version and that you can 'fastboot boot' the same patched version after each subsequent update of the same Android version.

Thanks!
That's the idea, yes.

I updated by Pixel 5a manually to rooted Android 12 and now have Magisk 23016 working.
I tried to take an OTA update for the January update but it fails -- presumably reflecting your "just no very reliably" statement.

  1. Do you have any sense of when/why OTA works and when it fails?
  2. Is there anything I can do on my device to make OTA more likely to work?
  3. If OTA won't work, what is the recommended next best (and least hassle) approach from the options you mention at the top of the thread?
1. No.
2. Return to complete stock and don't root?
3. Dirty flash the factory image.
 
  • Like
Reactions: elong7681

puterboy

Member
Jun 24, 2012
47
22
3. Dirty flash the factory image.
Any reason not to use the "Update and Root using the Android Flash Tool" method if using an official Google build?
It seems super easy and there is not need to download anything since the update can be done directly from the browser plus it seems to be super easy to select from multiple (official) builds.
 

elong7681

Senior Member
May 23, 2015
515
174
40
US
Moto X4
Google Pixel 2 XL
Naive question perhaps, but is "Dirty flash the factory image" the same as the method listed as "Update and Root Factory Image" on the initial thread post?

Mosti importantly, thanks for the help and all you do for the community.
Dirty flash means removing the -w from the flash-all.bat script which in turn will allow you to keep your data so no factory reset
 

elong7681

Senior Member
May 23, 2015
515
174
40
US
Moto X4
Google Pixel 2 XL
Any reason not to use the "Update and Root using the Android Flash Tool" method if using an official Google build?
It seems super easy and there is not need to download anything since the update can be done directly from the browser plus it seems to be super easy to select from multiple (official) builds.
no reason at all not to use it just don't check the box for the factory reset option
 

V0latyle

Forum Moderator
Staff member
Naive question perhaps, but is "Dirty flash the factory image" the same as the method listed as "Update and Root Factory Image" on the initial thread post?

Mosti importantly, thanks for the help and all you do for the community.
"Dirty flash" means flashing the factory image without wiping data. You can flash the factory image 3 ways:
  1. Manually via ADB
  2. Script/batch file via ADB
  3. Android Flash Tool
Any reason not to use the "Update and Root using the Android Flash Tool" method if using an official Google build?
It seems super easy and there is not need to download anything since the update can be done directly from the browser plus it seems to be super easy to select from multiple (official) builds.
Since I choose to manually patch the new boot image every month, I manually flash via ADB. But, if you're live booting the master image after update, it doesn't matter. The Android Flash Tool can be somewhat dummy proof since you don't have to understand how ADB works or how to use the commands; it's as simple as selecting the build and checking the boxes for the options you want.

Also, instead of posting multiple questions, please try to keep your comments to one post. XDA Forum Rules point 5.

Dirty flash means removing the -w from the flash-all.bat script which in turn will allow you to keep your data so no factory reset
It has nothing to do with the script, but yes - flashing the new factory image on top of existing system without wiping data.
no reason at all not to use it just don't check the box for the factory reset option
Same as above, try to keep your comments to one post.

Hint: You can use the Quote button to select posts you want to quote, or you can click Reply on each one to insert the quote where your cursor is.
 
  • Like
Reactions: elong7681

Regys

Senior Member
Sep 10, 2012
195
10
Hi,

I've got a big problem. I installed the update by Android Flash Tool. Everything went well, I think.

Subsequently I installed Magisk Canary to flash the boot.img to master root.img.

I flashed master root.img, but he stayed on bootloader and reboot on it.

I wanted to move the boot.img original and there I'm on an image "No command"

how I do now ?

EDIT: This is correct ?

Capture.PNG
 
Last edited:

V0latyle

Forum Moderator
Staff member
Hi,

I've got a big problem. I installed the update by Android Flash Tool. Everything went well, I think.

Subsequently I installed Magisk Canary to flash the boot.img to master root.img.

I flashed master root.img, but he stayed on bootloader and reboot on it.

I wanted to move the boot.img original and there I'm on an image "No command"

how I do now ?

EDIT: This is correct ?

View attachment 5511477
Yes, that command would temporarily boot the master root image.

I specifically outlined in the instructions do not flash the master root image.

If you have questions about the instructions, please ask.
 

Regys

Senior Member
Sep 10, 2012
195
10
Yes, that command would temporarily boot the master root image.

I specifically outlined in the instructions do not flash the master root image.

If you have questions about the instructions, please ask.
So I do not know how, but my phone to restart. I am well with the last update, no rooted

I think I have followed the instructions. I do not understand, what is the use of Master Root if we do not have to flash ?

So what do I do now to root it?
 

V0latyle

Forum Moderator
Staff member
So I do not know how, but my phone to restart. I am well with the last update, no rooted

I think I have followed the instructions. I do not understand, what is the use of Master Root if we do not have to flash ?

So what do I do now to root it?
Temporarily boot it:
Code:
fastboot boot <master root image>
When phone boots, open Magisk
Tap Install > Direct Install
Reboot device
 

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    I updated to June the way I always have:
    • Patched new boot image in Magisk
    • Reboot to bootloader
    • Flash bootloader and radio
    • Reboot to bootloader
    • Dirty flash factory image (--skip-reboot --slot=all)
    • Flash patched boot image to both slots
    • Reboot; update complete.
    1
    No, still on the Android 12 beta which I had to install to get out of a mess that you helped me with back in January (see post #128).
    Oh, okay. You should be able to update to the latest release using the method of your choice. I would personally recommend dirty flashing the factory image.
  • 15
    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.
    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 --slot=all <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.

    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.

    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:
    To check SafetyNet 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!
    6
    Magisk Canary was updated to 23016 last night. This includes a fix for the vbmeta header issue, meaning that disabling verity/verification should no longer be required, and we should be able to root as we did before. This needs testing, make sure you back up your data and photos before you try this!

    Q: "If verity/verification are disabled, do I need to enable them now?"
    A: No. The only thing you have to do is update to Magisk 23016.
    Q: "Will enabling verity/verification wipe my data?"
    A: No.

    I will be updating the OP to reflect this.
    4
    For those who are wondering, this is how I updated my Pixel 5 (and my wife's 5a):
    1. Download and extract the factory image
    2. Extract boot.img from the factory update image
    3. Copied boot.img to device, patched in Magisk, copied patched boot image back to update folder
    4. Reboot device to bootloader
    5. Apply update:
      Code:
      fastboot update device-image-buildnumber.zip
    6. Let device boot and finish update; reboot to bootloader
    7. Boot patched image:
      Code:
      fastboot boot magisk_patched-23016_xxxxx.img
    8. Open Magisk, tap Install, Direct Install, then reboot.
    9. Done.
    You can potentially save a couple steps by using --skip-reboot when applying the update, then simply rebooting to bootloader and flashing the patched boot image.

    Note: I manually patched the boot image because I didn't have a 23016 boot image handy.
    4
    For those who are wondering, this is how I updated my Pixel 5 (and my wife's 5a):
    1. Download and extract the factory image
    2. Extract boot.img from the factory update image
    3. Copied boot.img to device, patched in Magisk, copied patched boot image back to update folder
    4. Reboot device to bootloader
    5. Apply update:
      Code:
      fastboot update device-image-buildnumber.zip
    6. Let device boot and finish update; reboot to bootloader
    7. Boot patched image:
      Code:
      fastboot boot magisk_patched-23016_xxxxx.img
    8. Open Magisk, tap Install, Direct Install, then reboot.
    9. Done.
    You can potentially save a couple steps by using --skip-reboot when applying the update, then simply rebooting to bootloader and flashing the patched boot image.

    Note: I manually patched the boot image because I didn't have a 23016 boot image handy.
    Confirmed working

    Just applied January update like how I have always been doing on Android 11. This wouldn't be possible without Magisk version 23016
    4
    @TKruzze @V0latyle If you're using USNF it doesn't matter if you add the necessary gms components to the Deny listh. The module will always remove them since keeping them on the list will actually keep USNF from doing it's thing.

    For simple SafetyNet pass Universal SafetyNet Fix is all you need (and possibly MagiskHide Props Config if you need to spoof a device fingerprint).