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

Search This thread

scootley

Senior Member
Nov 10, 2008
60
18
Hi,

Pixel 5 running Android 12 SQ3A.220705.003.A1. Trying to go from stock to vanilla root using Magisk Canary (25202).
Patched stock boot image just fine.
I am trying to just do a temporary root for a single boot using "fastboot boot ..."
Has worked fine many times in the past.

But after fastboot, it seems to try to boot, shows the Google logo, and then shuts down and is charging and showing the percentage charged. (in other words, it won't boot and just shuts down)

Of course I can then power on the device and it boots fine back into stock.

Fastboot command:
Code:
fastboot -v boot magisk_patched-25202_eIqnE.img
Sending 'boot.img' (98304 KB)                      OKAY [  2.688s]
Booting                                            (bootloader) boot.img missing cmdline or OS version
OKAY [  1.560s]
Finished. Total time: 4.321s


Any ideas?

Update: Actually I just got it to boot. Same exact patched image as originally. All I did was pull the USB cable out of the phone right after fastboot completed (was using Linux)

Thanks
 
Last edited:

digger16309

Senior Member
Jul 17, 2014
558
233
OnePlus 5
Google Pixel 6 Pro
I wouldn't say my battery life is much worse but I do see a bit more drain than on A12. Since I did a clean install, I had to go in and change all my apps back to restricted battery, one-by-one. I have a ton of frozen Google apps and processes but I think PLAY Services is a culprit.
 

AnyNameYouWish

Senior Member
Same, it's not "much" worst but I feel like it isn't as good as it used to be on A12
 

Attachments

  • Screenshot_20220901-145215.png
    Screenshot_20220901-145215.png
    169.5 KB · Views: 23
Last edited:

omartins

Senior Member
Jan 31, 2011
242
68
How is everyone's battery life on Android 13? Mine seems to be much MUCH worse.
It is definitely worst. After a few cycles with my standard pattern of usage I see a 10% less deep sleep in CPU state stats (BBS data).
I've now disabled the Adaptive Connectivity feature, let's see if it is related or not...
 

V0latyle

Forum Moderator
Staff member
It is definitely worst. After a few cycles with my standard pattern of usage I see a 10% less deep sleep in CPU state stats (BBS data).
I've now disabled the Adaptive Connectivity feature, let's see if it is related or not...
Where is that?

It's bad enough I'm considering either a full wipe or downgrading
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,844
2,429
How is everyone's battery life on Android 13? Mine seems to be much MUCH worse.
FYI My main phone is Pixel 6 Oriole, and I have not noticed any battery degradation with A13 but this thread is not about Pixel 6, it is about Pixel 5 and I have a Pixel 5 situation that I want to pick your brains on.

Adventures in Pixel 5 with Android 13
My son has a Pixel 5, and until recently he was not rooted (more on that further below), however he was at one point in the A13 Beta program (if it has any relevance), and was stuck there because opt out meant a wipe, and he didn't want that.
With the release of A13, he had the opportunity to opt out without a wipe which he did.

All along his updates were all OTA considering that he was not rooted.

After opting out from Beta and being on A13 August release he wanted to root.
Which I did for him using pf. Basically just flashed a patched boot.img.
All went well and he was using it fine.
As far as I know his only complaint was that reboots were now taking longer than before.

With the September release, I did full factory update on both slots keeping root.
The process had no error messages and everything went fine.

However the phone started having random freezes/hangs, and random reboots, and was getting hot.
I first tried to disable any Magisk modules he had other than SafetyNet Mod, still the same.
Next we decided to flash back the August release (one slot only) to see if going back would fix the issue, in case this was something new with the September release.
We got the dreaded Your device is corrupt message, with the phone rebooting to recovery.

I sideloaded September OTA, and that got the phone running again (not rooted)
But the freeze and reboots returned (the phone wouldn't last 5 minutes without a freeze or reboot)

I tried many ways to go back to the August release
(All without wipe)
  • Factory flash with or without root in pf
  • Factory flash manually
  • OTA sideload
  • Android flash tools (which failed with the following message) for both Sep and Aug releases
1662606348979.png


1662606363244.png
and no matter what I did, I would get the device corrupt message, tried both slots and each slot separately as well.

One thing I noticed is that flashing the bootloader was getting an error, even though the device was already on that bootloader (incidentally, not Aug and Sep have the same version of the bootloader: bootloader-redfin-r3-0.5-8633620.img)

Code:
Sending 'bootloader' (8762 KB)                     OKAY [  0.233s]Writing 'bootloader'                               FAILED (remote: 'No such file or directory')
fastboot: error: Command failed
Rebooting into bootloader                          OKAY [  0.002s]

Whereas a successful flashing of bootloader would output

Code:
Sending 'bootloader_b' (8762 KB)                   OKAY [  0.349s]
Writing 'bootloader_b'                             (bootloader) Flashing Pack version r3-0.5-8633620
(bootloader) Flashing partition table for Lun = 0
(bootloader) Flashing partition table for Lun = 1
(bootloader) Flashing partition table for Lun = 2
(bootloader) Flashing partition table for Lun = 4
(bootloader) Flashing partition table for Lun = 5
(bootloader) Flashing partition xbl_b
(bootloader) Flashing partition xbl_config_b
(bootloader) Flashing partition aop_b
(bootloader) Flashing partition tz_b
(bootloader) Flashing partition hyp_b
(bootloader) Flashing partition abl_b
(bootloader) Flashing partition keymaster_b
(bootloader) Flashing partition devcfg_b
(bootloader) Flashing partition qupfw_b
(bootloader) Flashing partition uefisecapp_b
(bootloader) Flashing partition featenabler_b
(bootloader) Flashing partition logfs
OKAY [  0.251s]
Finished. Total time: 0.862s

So I didn't have a choice other than flashing back the September release and trying to figure out what was causing the freezes and reboots. Yucks

Long story short, I was able to narrow it down to a program called Greenify that he had been using, for whatever reasons that App on September release was causing the hangs and reboots.

Now he has patched September release flashed to both slots, and I haven't seen him for a while, which should be a good sign :)

My questions:
Does anyone know anything about not being able to downgrade to A13 August release? what would cause that issue?

And also why bootloader flashing was often causing that error, even though what was being flashed was already the exact same thing that was on the system.

I know it is not the fastboot drivers, that was the first thing I checked, everything else kept on flashing just fine.

Sorry for long winded post, I didn't want risk leaving out any detail that might be relevant.
 

doras100p

Member
Dec 26, 2014
6
0
Perhaps someone could help me with this as I can't find myself in this thread -

I have a Pixel 5 that I rooted when it was on Android 12.
Then at some point it forced an OTA security update, after which it no longer seemed rooted and Google Wallet stopped working.
Then it was OTA updated to Android 13 (this time by me, not forcefully by the device)

I no longer need it to be rooted, but I do wish to go back to using Google Wallet, is there anything I can do that doesn't require formatting my phone?
If I do format my phone, is there any special percussions I should take?

Thanks!
 

V0latyle

Forum Moderator
Staff member
Perhaps someone could help me with this as I can't find myself in this thread -

I have a Pixel 5 that I rooted when it was on Android 12.
Then at some point it forced an OTA security update, after which it no longer seemed rooted and Google Wallet stopped working.
Then it was OTA updated to Android 13 (this time by me, not forcefully by the device)

I no longer need it to be rooted, but I do wish to go back to using Google Wallet, is there anything I can do that doesn't require formatting my phone?
If I do format my phone, is there any special percussions I should take?

Thanks!
If your bootloader is still unlocked, you have two choices:
1. Lock the bootloader (which will wipe data)
2. Re-root and use the modified Universal SafetyNet Fix module by @Displax

Otherwise, the device will fail security requirements, and there is no way around it.
 

Regys

Senior Member
Sep 10, 2012
239
18
Hi,

I did the last update, perfect, but I would like to do a deep hard reset.

How do I proceed please ?
 

Regys

Senior Member
Sep 10, 2012
239
18
That still doesn't answer my question.

The most you can really do is a factory reset, which wipes /data and /storage.
ok only by the system, hard reset is not possible

1/ Factory Reset is deep format than Hard Reset ?
2/ Factory Reset redefines the bootloader?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    If I install OTA, can I downgrade to Android 11 later if I don't like it or it is not possible anymore?
    AFAIK there is nothing preventing rollback on the Pixel 5. However I doubt your issue with Play Store certification has anything to do with Android version.
    An update- I installed this mod https://github.com/Displax/safetynet-fix/releases
    instead of the "official" 2.4 and now both safety checks pass all the time in YASNAC, and both device & basic check pass in the other app all the time.

    ..but g play still shows that the device is not certified, and still can not see Revolut in play store when I search for it.

    Anyone managed to get Revolut in play store on rooted Pixel 5 ? Could it be that Revolut requires the 3rd type of check to pass, the one that is hardware-backed?
    Wipe data for Play Store and restart.

    For further support regarding Play Integrity please ask your questions in this thread. Be sure to specify what other mods you're using, if any
  • 16
    If you are looking for my guide on a different Pixel, find it here:
    For best results, use the latest stable Magisk release.
    Discussion thread for migration to 24.0+.
    Note: Magisk prior to Canary 23016 does not incorporate the necessary fixes for Android 12+.


    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 force basic attestation instead of hardware, 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_20230323-072859-3-png.5870161
    • "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 @badabing2003 , @pndwal , @Displax , @Az Biker , @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).