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

Search This thread

V0latyle

Forum Moderator
Staff member
It says SP2A.220305.012 Is there any way to boot from the other slot?
I wouldn't try without updating again.

Follow these instructions exactly:
  1. Follow the prompts to download and install the update, or force update via Settings > System > System Update. Do not reboot.
  2. When prompted to reboot, go into Magisk, then tap Install > Install to Inactive Slot. Magisk will prompt you to reboot; follow the prompts.
  3. Device should reboot into updated slot with root. If you get a failure message during OTA, go into Magisk, tap Uninstall, then Restore Images, before trying to update again.
 
  • Like
Reactions: nalpo

nalpo

Member
Jun 4, 2021
9
3
I did what it says exactly, but I always ended up with an old version. But I was able to solve it with your "Update and Root OTA Sideload" method. After flashing booting the old master-root.img, I did the described steps and now I have the newest firmware with root. Thanks :)
 
Last edited:
  • Like
Reactions: Homeboy76

V0latyle

Forum Moderator
Staff member
I did what it says exactly, but I always ended up with an old version. But I was able to solve it with your "Update and Root OTA Sideload" method. After flashing the old master-root.img, I did the described steps and now I have the newest firmware with root. Thanks :)
Don't flash an old boot image after updating. You can temporarily boot it to give Magisk root so that it can patch the new image.
 
  • Like
Reactions: nalpo and Homeboy76

cubandanger05

Senior Member
Dec 22, 2009
528
167
OnePlus 5T
Google Pixel 5
What method did you use?

1. Download the new full factory image
2. Extract the file. Then extract boot.img from the image zip file within.
3. Copy boot.img to your pixel 5
4. Patch it with magisk
5. Move back the patched file, rename it to boot.img
6. Update the original zip file titled image-redfin-r*.zip with the new boot.img file (override the older one)
7. Edit flash-all file by replacing -w with --disable-verification --disable-verity
so it won't wipe your device clean
8. Reboot phone to bootloader and flash with flash-all
 

V0latyle

Forum Moderator
Staff member
1. Download the new full factory image
2. Extract the file. Then extract boot.img from the image zip file within.
3. Copy boot.img to your pixel 5
4. Patch it with magisk
5. Move back the patched file, rename it to boot.img
6. Update the original zip file titled image-redfin-r*.zip with the new boot.img file (override the older one)
7. Edit flash-all file by replacing -w with --disable-verification --disable-verity
so it won't wipe your device clean
8. Reboot phone to bootloader and flash with flash-all
Disabling verification and verity is not necessary, unless you're using a custom kernel.
 

V0latyle

Forum Moderator
Staff member
It's right there...
1657541185132.png

Here's the link for the image: 12.1.0 (SQ3A.220705.003.A1, Jul 2022
But I get every day an OTA update message on my phone.
Current build: SP2A.220505.002
You're on the May update. 220505 = Year 2022, Month 05, Day 05....although they've been using 05 since November, even though the firmware hasn't always been released on the 5th of the month. It's typically the first Monday, sometimes Tuesday.
 
  • Like
Reactions: contaoxxx

contaoxxx

Member
Jan 10, 2018
20
2
Unzip file:
- flash.bat (-w flag remove)
- adb reboot bootloader
- double click flash.bat
==> system broken now>reboot directly to fastboot mode.
Only images without A1 are working
 

V0latyle

Forum Moderator
Staff member
Unzip file:
- flash.bat (-w flag remove)
- adb reboot bootloader
- double click flash.bat
==> system broken now>reboot directly to fastboot mode.
Only images without A1 are working
If you currently have root, try using Pixel Flasher.

If you are not rooted, follow the instructions under Update and root factory image in the OP.
 

V0latyle

Forum Moderator
Staff member
Announcement:

It appears that the July update has broken out of band update patching on the 765G devices (4a 5g, 5, and 5a).

For the time being, you can either use an alternate update method (factory image, sideload OTA, etc), or you can update and re-root following these instructions (you will temporarily lose root!):
  1. Restore images in Magisk
  2. Download and install the update
  3. When prompted to reboot, do not attempt to patch alternate slot in Magisk; instead, just follow prompt to reboot normally
  4. After system reboots, verify you're on the updated firmware (bottom of notification panel or Settings > About > Build Number)
  5. Allow update to finish (there should be a notification and progress bar in the notification panel)
  6. Reboot to bootloader
  7. Live boot a previously patched Magisk image:
    Code:
    fastboot boot <patched image>
  8. When system boots, open Magisk and perform Direct Install.
 

cubandanger05

Senior Member
Dec 22, 2009
528
167
OnePlus 5T
Google Pixel 5
Announcement:

It appears that the July update has broken out of band update patching on the 765G devices (4a 5g, 5, and 5a).

For the time being, you can either use an alternate update method (factory image, sideload OTA, etc), or you can update and re-root following these instructions (you will temporarily lose root!):
  1. Restore images in Magisk
  2. Download and install the update
  3. When prompted to reboot, do not attempt to patch alternate slot in Magisk; instead, just follow prompt to reboot normally
  4. After system reboots, verify you're on the updated firmware (bottom of notification panel or Settings > About > Build Number)
  5. Allow update to finish (there should be a notification and progress bar in the notification panel)
  6. Reboot to bootloader
  7. Live boot a previously patched Magisk image:
    Code:
    fastboot boot <patched image>
  8. When system boots, open Magisk and perform Direct Install.
Keep telling you, my method never fails 🙃
 

V0latyle

Forum Moderator
Staff member
Keep telling you, my method never fails 🙃
Your point is moot. I've always used the factory image as well, although I don't disable dm-verity or vbmeta verification, and I've never had any issues.

The majority of issues with updating seem to be associated with the OTA, and since many users still prefer to update that way, I posted the notice.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Are you guys using Magisk beta or Magisk canary?
    And which do you prefer.

    I've been using canary, but I've considered switching up for beta 25.2
    However, canary has everything that beta does, so is it worth it?

    Also how would I switch?
    Uninstall Magisk, in the Magisk app, uninstall the app, reboot
    Install Magisk beta 25.2, patch and flash the kernek?

    Thank you, sorry if this is a bit off key.
    I've been using Canary.

    Switching from beta to canary is as simple as installing the app. However, since canary is usually a newer version than the beta (current 25201 vs 25200), you'd need to uninstall Canary, then install Beta. If you want to re-patch the kernel with Beta, then you'd need to perform a complete uninstall within Magisk, then boot with a rooted image and perform Direct Install once you've installed the beta. However, it's not really necessary to re-patch the kernel if it's working.

    Alternatively, you could change the update channel in Canary to Stable or Beta, which means you wouldn't get an update until there's a new release on those channels. This would probably be the cleanest and most foolproof way to do it.
    1
    I've been using Canary.

    Switching from beta to canary is as simple as installing the app. However, since canary is usually a newer version than the beta (current 25201 vs 25200), you'd need to uninstall Canary, then install Beta. If you want to re-patch the kernel with Beta, then you'd need to perform a complete uninstall within Magisk, then boot with a rooted image and perform Direct Install once you've installed the beta. However, it's not really necessary to re-patch the kernel if it's working.

    Alternatively, you could change the update channel in Canary to Stable or Beta, which means you wouldn't get an update until there's a new release on those channels. This would probably be the cleanest and most foolproof way to do it.
    Thank you my good Sir.
    I believe I'll stick with the Canary.
    Everything is working wonderfully, though I may need to do a factory reset for the August factory image because Now Playing just won't download the database fully.. it still does find songs.. sometimes, others I need to manually hit the lock screen icon, but it's very annoying to say the least.
    I also pulled a very noob move and disabled all trackers in the Warden app without backing them up, thus some apps aren't sending me notifications anymore.
    Sorry for the last off topic things, just angry that I goofed lol.
    1
    Thank you my good Sir.
    I believe I'll stick with the Canary.
    Everything is working wonderfully, though I may need to do a factory reset for the August factory image because Now Playing just won't download the database fully.. it still does find songs.. sometimes, others I need to manually hit the lock screen icon, but it's very annoying to say the least.
    I also pulled a very noob move and disabled all trackers in the Warden app without backing them up, thus some apps aren't sending me notifications anymore.
    Sorry for the last off topic things, just angry that I goofed lol.
    Relevant

    Looks like Beta and Canary are pretty much the same. Debug builds are only for developers. Canary channel immediately incorporates changes that will be implemented in the next public channel release.
  • 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.

    PixelFlasher by @badabing2003 is an excellent tool that streamlines the update process - it even patches the boot image for you. Please note that root access is required to patch.
    1. Download PixelFlasher and the factory image. You do not need to extract the factory image.
    2. Open PixelFlasher. Point the Android Platform Tools directory (browse for your Platform Tools folder)
    3. Point the Factory Image directory to the factory image package you just downloaded.
    4. Connect your device via USB. Ensure it shows up under ADB Connected Devices.
    5. Click the button to the right of the factory image Browse button (looks like a meat grinder). This will extract the boot image from the factory package.
    6. When the boot image appears in the list, click on it and click Patch. A root request should pop up on your device; this is PixelFlasher requesting shell root access through ADB. Make sure you approve it.
    7. PixelFlasher will automatically copy the boot image to your device, patch it in Magisk, then copy it back to your PC. The patched image should now appear in the boot image list.
    8. Select the patched boot image, the desired flash mode (Keep Data), and click Flash Pixel Phone.
    9. Pixel Flasher will automatically update bootloader, radio, system, then finally flash the patched boot image.
    10. When your device boots, you should be updated with root.

    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).