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

userwaldo

Senior Member
Aug 21, 2011
72
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
72
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.
 

TheSayaMan

Senior Member
Sep 12, 2016
349
167
Not really. You can't switch slots without a PC, which you could use to reflash the unpatched boot image if you needed to.
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.
 

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
123
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
280
94
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.
  • 1
    Testing out the flow for July ... the OTAs are so slow to install. I think that the full images install faster over USB.
    1
    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.
    This is basically what I had done last release (June) and I did it again (July) and root is working again.
    Thanks for always testing and verifying the flow.
  • 21
    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!
    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
    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
    Got my 5a for couple of days. Should be rooted again after 10 years. Can't wait to go back Galaxy S2 generation.
    I came to the Pixel 2 from the Galaxy S6. I'll never go back to Samsung if I can help it. To each his own, though.
    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!