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

Search This thread

V0latyle

Forum Moderator
Staff member
Great - thanks for that.

I assume that your instruction to reboot into the bootloader can be accomplished with this command:
Code:
fastboot reboot bootloader
And IIUC both slots will end up with the current patch level, the active slot rooted and the inactive not.

Is this correct?
Yes.

As an alternative, you could patch the boot image, then flash it to both slots:
Code:
fastboot flash boot --slot all <patched boot image>
 

userwaldo

Senior Member
Aug 21, 2011
73
31
@V0latyle thanks for the all the information on installing and updating Root on the Pixel 5a "barbet" with Magisk.

I got behind and was still on Jan Update. I had tried the OTA update flow to go to May Update, but that failed, it would always fall back to the Jan Update at boot time. So I used the sideload OTA option to install the April Update. Once that was working, with root, I then tried the OTA again only this time going from the April Update to the May Update, and it updated, but root wasn't installed for some reason. I just used the master boot option and was able to do a direct install.

The one comment I have that installing the updates, both from OTA or the sideload OTA sure seemed slow compared to my late few devices when I use using Linage OS where the updates seemed to go pretty quickly. I guess its because these images keep getting bigger and bigger.

Glad to finally be on the latest update. Hope if fixes some of the stability issues I was seeing with Bluetooth.
 
Last edited:

V0latyle

Forum Moderator
Staff member
@V0latyle thanks for the all the information on installing and updating Root on the Pixel 5a "barbet" with Magisk.

I got behind and was still on Jan Update. I had tried the OTA update flow to go to May Update, but that failed, it would always fall back to the Jan Update at boot time. So I used the sideload OTA option to install the April Update. Once that was working, with root, I then tried the OTA again only this time going from the April Update to the May Update, and it updated, but root wasn't installed for some reason. I just used the master boot option and was able to do a direct install.

The one comment I have that installing the updates, both from OTA or the sideload OTA sure seemed slow compared to my late few devices when I use using Linage OS where the updates seemed to go pretty quickly. I guess its because these images keep getting bigger and bigger.

Glad to finally be on the latest update. Hope if fixes some of the stability issues I was seeing with Bluetooth.
The updates are not incremental; you could have simply installed the May update.

It does seem like OTA is rather slow compared to the factory image. I believe it's because the OTA script has to evaluate the existing system before it updates, whereas the factory image simply extracts to the relative partitions regardless of what's already there.
 

V0latyle

Forum Moderator
Staff member
I updated my wife's 5a via automatic OTA, but she hit the Reboot button before I had a chance to get back into Magisk to patch inactive slot. No big deal, I let it boot and finish the update, then I booted the patched June boot image for my Pixel 5 (kernel is the same) and used Direct Install in Magisk.
 

userwaldo

Senior Member
Aug 21, 2011
73
31
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.
 
  • Like
Reactions: V0latyle

V0latyle

Forum Moderator
Staff member
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.
"Install to inactive slot" only works with the automatic OTA; if you sideload the OTA, it does not work.
You have to perform the inactive slot patch after the update has downloaded, BEFORE you reboot.
 

userwaldo

Senior Member
Aug 21, 2011
73
31
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.
 
  • Like
Reactions: V0latyle

V0latyle

Forum Moderator
Staff member
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.
Yeah. It's a pretty specific process you have to follow, and the steps have to be done in the right order.
  1. Restore images in Magisk - "unpatches" the boot images in the /boot partitions; however, root remains active in the running kernel
  2. Download and install the OTA - Android system downloads the package and extracts the contents to the appropriate areas of the inactive slot
  3. When prompted to reboot, return to Magisk, and perform patch to inactive slot. Magisk patches the newly extracted boot image in the inactive slot, then commands a reboot to that slot.
  4. Device reboots to new slot and loads patched boot image with root.
There are 3 ways this can go wrong:
  • If you restore images in Magisk, but forget to update and try to patch to inactive slot, the device may fail to boot due to rollback protection. I do not know how to get around this other than sideloading an OTA.
  • If you restore images in Magisk but reboot without doing anything else, the device will boot the now unpatched boot image, and you won't have root.
  • If you install the update but forget to use Magisk to patch the inactive slot, the device will reboot to the new slot without root.
 

V0latyle

Forum Moderator
Staff member
Technically you can if you have twrp on your device. Advanced, reboot, and choose slot a or b. Also, you can flash magisk.apk in twrp, making patching completely unnecessary.
Except that TWRP lives in the boot image, same as Magisk, so if you take an OTA update and forget to patch, you lose both TWRP and Magisk when you reboot. Probably the one thing I don't like about moving away from a dedicated recovery partition. I haven't used TWRP since I started using Pixels.
 

Mchlbenner51

Senior Member
Dec 10, 2020
148
27
OnePlus 6T
OnePlus 8 Pro
I'm thinking about buying this device I have a rooting question in general I don't update.
When I get this phone can unlock bootloader then can I patch boot and flash to get root? I'm aware of the magisk I need to use.
 

CarinaPDX

Senior Member
Jun 30, 2013
290
99
Google Pixel 5a
The last couple of monthly updates I tried to remove Magisk, take the OTA, then re-install and it didn't work. The OTA stops after download but before install; to proceed click "Reboot" and then it installs and reboots in one go - no chance to patch. If instead I went to Magisk and patched the boot image then rebooted from Magisk with its install then the OTA didn't install. Returning to the OTA installer to reboot loses Magisk. Perhaps I did something wrong but as it is I don't see how to take the OTA and patch in one go. This isn't a problem because it is really easy to 1) uninstall Magisk, 2) take the OTA with reboot, 3) shut down and reboot into bootloader (could do 2+3 with fastboot), 4) boot into a patched image from a computer with USB, and 5) use Magisk to re-install (Magisk picks up on the situation and offers to patch). It is almost like a fresh install but I don't see anything easier. The July OTA was a bit over 15MB so much less downloading than the factory image.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 21
    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!
    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
    3
    Are the steps the same for Android 13? Had to RMA my phone and Google sent me the phone with 13 installed. I see guides for the 6 with 13, just want to make sure there aren't any issues when I get home to get everything set back up again.
    Everything is exactly the same. Don't try to use an older version of Magisk. No special instructions for barbet.
    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!