How To Guide [GUIDE] Pixel 5a "barbet": Unlock Bootloader, Update, Root, Pass SafetyNet

Search This thread
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.

I will be updating the OP to reflect this.
I'm not using Canary and really don't want to (just prefer using Magisk stable). Is the guide above no longer of use for users like us since you've revised the OP?
 

V0latyle

Forum Moderator
Staff member
I'm not using Canary and really don't want to (just prefer using Magisk stable). Is the guide above no longer of use for users like us since you've revised the OP?
Canary is generally quite stable, even if it isn't advertised as such. It's updated much more frequently too.

If you insist on using stable, you're going to have to continue disabling verity and verification every time you update.

For the sake of ease and simplicity, not to mention the potential to lose the ability to root without a data wipe, I highly recommend you upgrade to 23016.
 
  • Like
Reactions: Slim2none4u
Canary is generally quite stable, even if it isn't advertised as such. It's updated much more frequently too.

If you insist on using stable, you're going to have to continue disabling verity and verification every time you update.

For the sake of ease and simplicity, not to mention the potential to lose the ability to root without a data wipe, I highly recommend you upgrade to 23016.
Ugh... ooooook. You've talked me into it. Now I need to find those instructions and link to place in.
 

V0latyle

Forum Moderator
Staff member
Ugh... ooooook. You've talked me into it. Now I need to find those instructions and link to place in.
Link to the latest canary is in the OP.

To pass SafetyNet, this configuration is working for me:
Magisk 23016, Zygisk + DenyList enabled
DenyLIst enabled an all components of Google Play Services and Google Play Store, as well as any financial/DRM apps (these won't trip SafetyNet but sometimes use root detection methods of their own)
Universal SafetyNet Fix 2.2.0 (must use this version with Zygisk)
MagiskHide Props Config 6.1.2 (automatically installed with DenyList I believe)
 
  • Like
Reactions: dungm
Link to the latest canary is in the OP.

To pass SafetyNet, this configuration is working for me:
Magisk 23016, Zygisk + DenyList enabled
DenyLIst enabled an all components of Google Play Services and Google Play Store, as well as any financial/DRM apps (these won't trip SafetyNet but sometimes use root detection methods of their own)
Universal SafetyNet Fix 2.2.0 (must use this version with Zygisk)
MagiskHide Props Config 6.1.2 (automatically installed with DenyList I believe)
My biggest concern has been the loss of MagiskHide. Is DenyList a suitable replacement for you?
 
  • Like
Reactions: V0latyle

undermark5

Member
Oct 5, 2016
14
3
The guide mentions a master root image yet I do not see one offered in the downloads or am I missing something?
 

pbanj

Senior Member
Dec 22, 2011
991
457
i have to ask why you have people doing a bunch of stuff for updating using the factory image. all they have to do is rename the patched boot.img back to boot.img, and toss it back in the zip it was extracted from. then you just remove the -w from the end of the provided install script and run it. no need to flash the radio or bootloader as the install script will do that for you.

removing the -w stops it from wiping the device.
 
  • Like
Reactions: Slim2none4u

V0latyle

Forum Moderator
Staff member
The guide mentions a master root image yet I do not see one offered in the downloads or am I missing something?
You are indeed missing something; keep reading.
i have to ask why you have people doing a bunch of stuff for updating using the factory image. all they have to do is rename the patched boot.img back to boot.img, and toss it back in the zip it was extracted from. then you just remove the -w from the end of the provided install script and run it. no need to flash the radio or bootloader as the install script will do that for you.

removing the -w stops it from wiping the device.
Because not everyone (such as myself) likes to use the flash script. I don't recommend renaming the patched boot image to its original name as it becomes easy to confuse with the original boot image.

Additionally, some folks prefer to update via OTA. Unless you use an unpacker, you can't easily extract the boot image from the OTA; there is a way to dump the boot image from /boot using TWRP and ADB but the point of this guide is simplicity. Having a master boot image means that after installing the OTA, whether through Android or ADB sideload, you can simply boot the rooted image and use Magisk to patch /boot.

This guide is just that - a guide. Anyone including yourself may use the information for their own process. I am not going to change my instructions for the sake of someone else's preference.
 
Last edited:
  • Like
Reactions: GrandAdmiral
You are indeed missing something; keep reading.

Because not everyone (such as myself) likes to use the flash script. I don't recommend renaming the patched boot image to its original name as it becomes easy to confuse with the original boot image.

Additionally, some folks prefer to update via OTA. Unless you use an unpacker, you can't easily extract the boot image from the OTA; there is a way to dump the boot image from /boot using TWRP and ADB but the point of this guide is simplicity. Having a master boot image means that after installing the OTA, whether through Android or ADB sideload, you can simply boot the rooted image and use Magisk to patch /boot.

This guide is just that - a guide. Anyone including yourself may use the information for their own process. I am not going to change my instructions for the sake of someone else's preference.
Yeah. I never rename the boot image just for the sake of ease. I got through everything using the OTA option with no problem.

If I could offer one suggestion, I would suggest notating in the instructions that even if you go the OTA route, you still need the factory image to get the boot image out for patching. Other than that, your guides are great no matter which option selected.
 

V0latyle

Forum Moderator
Staff member
Yeah. I never rename the boot image just for the sake of ease. I got through everything using the OTA option with no problem.

If I could offer one suggestion, I would suggest notating in the instructions that even if you go the OTA route, you still need the factory image to get the boot image out for patching. Other than that, your guides are great no matter which option selected.
If you keep a master boot image, no. The boot image does not necessarily have to be from the same update to work; you can update via OTA, and keep using the same patched boot image to live boot with root (don't flash it) so that you can then Direct Install Magisk to the boot image on the device.
 
  • Like
Reactions: GrandAdmiral
If you keep a master boot image, no. The boot image does not necessarily have to be from the same update to work; you can update via OTA, and keep using the same patched boot image to live boot with root (don't flash it) so that you can then Direct Install Magisk to the boot image on the device.
I will keep that in mind. Thanks for that tip.
 

V0latyle

Forum Moderator
Staff member
Use fastboot boot <drag and drop master root.img here> to temporarily start it, and it fails. Only fastboot flash boot <drag and drop master root.img here>
That works too. If live booting the patched image doesn't work, just manually patch and flash the new boot image from the update.

Again, please keep your questions about your specific device in the relevant forum.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    So I tried the OTA for the June Update and it worked. Somehow I still ended up missing a step somewhere because even though I had updated to the latest Canary (25001) I was unable to see the option to install to the inactive slot. So I just an already patched kernel to boot and then ran Magisk install. And was up and running again.
    1
    So I went back and figured out the problem. I rebooted after restoring image and before taking the OTA, which explains why I didn't have the option to install in the inactive slot.
  • 20
    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!
    3
    Absolutely fantastic! Thanks for this thread and guide!

    As an aside, how is it I didn't know you can drag and drop to the command window? (This tip gets the hero of the day award in my book!)
    Makes things a whole lot easier, don't it?

    I try to stick with the KISS method. Keep It Simple, Stupid!

    Or...Keep it stupidly simple, whatever. :D
    2
    "Install to inactive slot" is no longer supported in Magisk.

    This is extremely old information from September 2020. Install to inactive slot has been re-implemented as of Magisk Canary 23017 {January 20, 2022).

    Please, check your information to ensure it's up to date before you post.
    2
    I'm currently using Magisk Canary build?
    May I Install Magisk Beta and also Magisk Stable build to the latest November 2021 build?
    I honestly don't know. I've used Magisk 22.1, 23.0, Canary 23001 through 23011, all have worked for me.

    The caveat is that Magisk 23010+ is Zygisk, which means that some legacy modules won't work anymore until they're updated - Universal SafetyNet Fix for example.
    Coming from the Pixel 3XL, which bricked out of the blue. I did every update on that phone, but never got to do 12 before the magical brick. I want to update this phone (5a, which I just realized is different than the 5?), but this seems to be missing quite a few steps. Shouldn't there be 4 different files added to your SDK folder and flashed, or has it completely changed, and I need to do more digging? Thanks.
    You don't have to add any files to your SDK folder, you can always drag and drop them into the command line window. We are only working with two files here: vbmeta.img and boot.img.
    Is there any way to do this after already updating? Or do I have to wait for the next update (I prefer flashing factory images).
    You can do this as many times as you want. The critical point to remember is that if you allow Android to boot after not disabling verity/verification, you will have to wipe the next time you disable it.
    I flashed the Nov factory image but forgot to disable the verified boot. Is there any way I can disable it so i can flash the magisk patched boot?
    Yes...but you're going to have to wipe data. Extract vbmeta.img, and reflash it:
    Code:
    fastboot flash vbmeta --disable-verity --disable-verification <drag and drop vbmeta.img here>
    Then, reboot your device. You will end up in Rescue Party, with the option to "Try again" or "Factory data reset". Choose the factory reset.

    The best way to make sure you don't have to wipe your data is to always use --disable-verity --disable-verification when updating via the factory image.
    2
    Followed directions for recommended Android Flash Tool and everything worked flawlessly. If you've already rooted your phone once then you have somewhat of an idea of what you're doing. Just read everything twice and follow the directions. Thank you OP for such a clear path to update and root!