• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDE] Android 12 Update and Root **READ THE NOTES**

Search This thread

killchain

Senior Member
Oct 6, 2012
326
71
30
Google Pixel 4a 5G
Did you follow the instructions on flashing vbmeta with the disable flags set?
No, I just followed what used to work before with Magisk. My goal is to, if possible, go forward without having to wipe.

Right now I am back with stock boot.img, phone is running fine (but without root).

If I understand you correctly, I should:
  1. Code:
    fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
... right?

Is my understanding correct that this disables verifications for any subsequent images I flash (and me not having done it is why it failed for me)? How do I avoid getting to a corrupt state and having to wipe (what the other dude mentioned)?

At this point, would I be able to boot with the patched boot.img from before?
If yes, will I then be able to do a direct install of Magisk?
If no, do I need to re-patch boot.img after the procedure with vbmeta.img?
 
No, I just followed what used to work before with Magisk. My goal is to, if possible, go forward without having to wipe.

Right now I am back with stock boot.img, phone is running fine (but without root).

If I understand you correctly, I should:
  1. Code:
    fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
... right?

Is my understanding correct that this disables verifications for any subsequent images I flash (and me not having done it is why it failed for me)? How do I avoid getting to a corrupt state and having to wipe (what the other dude mentioned)?

At this point, would I be able to boot with the patched boot.img from before?
If yes, will I then be able to do a direct install of Magisk?
If no, do I need to re-patch boot.img after the procedure with vbmeta.img?
Not to be rude, but it seems to me that you didn't read my instructions, tried to do it your own way, and discovered that it doesn't work the same as before. Please go back and read the guide at the beginning of the post; most of your questions have been answered.

The corruption issue is a new one and we haven't found a solution or a cause yet.
 
  • Like
Reactions: elong7681

killchain

Senior Member
Oct 6, 2012
326
71
30
Google Pixel 4a 5G
Not to be rude, but it seems to me that you didn't read my instructions, tried to do it your own way, and discovered that it doesn't work the same as before. Please go back and read the guide at the beginning of the post; most of your questions have been answered.

The corruption issue is a new one and we haven't found a solution or a cause yet.

No offense taken.

Went ahead again. Flashed vbmeta as per the instructions, now phone is in a corrupt state - first attempt to boot it shows the unlocked bootloader warning and everything, then Google logo shows up for a second, reboots again and then shows me the recovery screen with the corrupt state. I could go back to fastboot with holding VolDn while powering up. What are my options?

Edit: just found out that flashing vbmeta with no flags gets me out of the corrupt state, i.e.

Code:
fastboot flash vbmeta vbmeta.img
 
Last edited:
No offense taken.

Went ahead again. Flashed vbmeta as per the instructions, now phone is in a corrupt state - first attempt to boot it shows the unlocked bootloader warning and everything, then Google logo shows up for a second, reboots again and then shows me the recovery screen with the corrupt state. I could go back to fastboot with holding VolDn while powering up. What are my options?

Edit: just found out that flashing vbmeta with no flags gets me out of the corrupt state, i.e.

Code:
fastboot flash vbmeta vbmeta.img
Interesting. I will have to test when I get home from work.

I assume you're running the stock boot image? Have you tried live booting the patched image?
 

killchain

Senior Member
Oct 6, 2012
326
71
30
Google Pixel 4a 5G
Interesting. I will have to test when I get home from work.

I assume you're running the stock boot image? Have you tried live booting the patched image?
Yes, stock boot.img. Haven't tried live booting. Right now I want to try doing something and at the same time I want to just wait a bit to see if John Wu releases a new version of Magisk dealing with these issues.
 
Yes, stock boot.img. Haven't tried live booting. Right now I want to try doing something and at the same time I want to just wait a bit to see if John Wu releases a new version of Magisk dealing with these issues.
This isn't a Magisk issue.

Try flashing the vbmeta from the beta 5 with the disable flags set.
 

killchain

Senior Member
Oct 6, 2012
326
71
30
Google Pixel 4a 5G
This isn't a Magisk issue.

Try flashing the vbmeta from the beta 5 with the disable flags set.
Tried that, no dice.

If it's not a Magisk issue, what kind of issue is it?

Edit: I managed to boot a patched boot.img after flashing vbmeta with no flags, then succeeded in installing Magisk directly. However, when I rebooted, I was back at the same problem from before (fastboot saying "failed to load/verify boot images"). I had to reflash vbmeta and boot to recover.
 
Last edited:
Tried that, no dice.

If it's not a Magisk issue, what kind of issue is it?
I don't really know where to place the blame, as we don't fully understand the problem.

Previously, on the 12 Beta, simply reflashing flashing vbmeta with the disable flags was enough to disable boot verification so we could flash patched images.
The problem now, at least for some users, is that flashing vbmeta with the disable flags causes a corruption error. It's unknown as to why.

Its not a Magisk issue because -any- modification to the boot image will trip the verification check, and there is literally no way to hide code that has been changed. Dm-verity was developed specifically to prevent this - the code from the actual block devices is hashed, so there's no way for any sort of agent to "spoof" a valid image.

The reason why Magisk Hide worked, at least previously, was because systemless root resides in the kernel - which is the first part of the OS to load. Therefore, Magisk would load with the kernel, with higher privileges than system processes, and could then block those system processes from detecting root.

But, because dm-verity reads the actual code on the hardware, it will always detect a modified boot image. That in of itself isn't a problem, as long as we are able to disable vbmeta verification as well, which essentially "ignores" any differences between the vbmeta image and the hash generated from /boot.
 

rester555

Senior Member
Oct 27, 2010
365
88
@V0latyle @killchain I followed the steps that OP posted and every time I got a corrupt system message through recovery mode. What I ended up doing differently from OPs instructions was putting the following code for the step of disabling dm-verity and verification, fastboot --disable-verity --disable-verification flash --slot=all vbmeta vbmeta.img

I am not sure if this is the correct solution, but I have had bootloops before with magisk when flashing the patched image, so one example from the XDA community was to do --slot=all so that you patch the boot image on slot a and b on pixel devices. This led me to add the same line of code with the disabling flag code that OP posted. This got me out of the corrupt system recovery message on my pixel 5 and booted into A12 as rooted.
 
  • Like
Reactions: elong7681

killchain

Senior Member
Oct 6, 2012
326
71
30
Google Pixel 4a 5G
I don't really know where to place the blame, as we don't fully understand the problem.

Previously, on the 12 Beta, simply reflashing flashing vbmeta with the disable flags was enough to disable boot verification so we could flash patched images.
The problem now, at least for some users, is that flashing vbmeta with the disable flags causes a corruption error. It's unknown as to why.

Its not a Magisk issue because -any- modification to the boot image will trip the verification check, and there is literally no way to hide code that has been changed. Dm-verity was developed specifically to prevent this - the code from the actual block devices is hashed, so there's no way for any sort of agent to "spoof" a valid image.

The reason why Magisk Hide worked, at least previously, was because systemless root resides in the kernel - which is the first part of the OS to load. Therefore, Magisk would load with the kernel, with higher privileges than system processes, and could then block those system processes from detecting root.

But, because dm-verity reads the actual code on the hardware, it will always detect a modified boot image. That in of itself isn't a problem, as long as we are able to disable vbmeta verification as well, which essentially "ignores" any differences between the vbmeta image and the hash generated from /boot.

So... there's something changed between Beta 5 and Stable, and it's unknown yet what exactly?

Also, is it clear what's happening "under the hood" here, i.e. what has happened differently when installing an OTA compared to flashing using Android Flash Tool? As far as I understand, disable verity and disable verification only apply to flashing vbmeta. Maybe it's done before flashing system? If that's so, would it work if I flash vbmeta with flags disabled and then dirty flash system over my current one with no wiping? Is it known why the wiping step is required, i.e. does it necessarily require wiping everything?

I'd be okay to wipe and restore my stuff afterwards if I'm sure that this method will 100% work - but at this point I'm not.

@V0latyle @killchain I followed the steps that OP posted and every time I got a corrupt system message through recovery mode. What I ended up doing differently from OPs instructions was putting the following code for the step of disabling dm-verity and verification, fastboot --disable-verity --disable-verification flash --slot=all vbmeta vbmeta.img

I am not sure if this is the correct solution, but I have had bootloops before with magisk when flashing the patched image, so one example from the XDA community was to do --slot=all so that you patch the boot image on slot a and b on pixel devices. This led me to add the same line of code with the disabling flag code that OP posted. This got me out of the corrupt system recovery message on my pixel 5 and booted into A12 as rooted.

Has root persisted for you after a reboot? Can you (or anyone else) expand on why it might concern both slots?
 
@V0latyle @killchain I followed the steps that OP posted and every time I got a corrupt system message through recovery mode. What I ended up doing differently from OPs instructions was putting the following code for the step of disabling dm-verity and verification, fastboot --disable-verity --disable-verification flash --slot=all vbmeta vbmeta.img

I am not sure if this is the correct solution, but I have had bootloops before with magisk when flashing the patched image, so one example from the XDA community was to do --slot=all so that you patch the boot image on slot a and b on pixel devices. This led me to add the same line of code with the disabling flag code that OP posted. This got me out of the corrupt system recovery message on my pixel 5 and booted into A12 as rooted.
Interesting. Using the --slot-all flag should be unnecessary, because as far as I know, using the flash command without the slot flag will flash all slots in that partition.

Also, did you actually bootloop - as in phone kept rebooting? Or did you get stuck in bootloader with an error message?

Also, I forget, did you wipe data at any point?
 
Last edited:
Pixel 5a here. Was rooted on the latest beta and followed OPs instructions to a corruption error during boot.
Tried reflashing a la --slot-all to the same error. Ultimately reflashed both slots with stock boot.img and vbmeta.img and booted in just fine although without root.
Looking forward to finding out what the issue is and appreciate the banter. :coffee:
 
So... there's something changed between Beta 5 and Stable, and it's unknown yet what exactly?

Also, is it clear what's happening "under the hood" here, i.e. what has happened differently when installing an OTA compared to flashing using Android Flash Tool? As far as I understand, disable verity and disable verification only apply to flashing vbmeta. Maybe it's done before flashing system? If that's so, would it work if I flash vbmeta with flags disabled and then dirty flash system over my current one with no wiping? Is it known why the wiping step is required, i.e. does it necessarily require wiping everything?

I'd be okay to wipe and restore my stuff afterwards if I'm sure that this method will 100% work - but at this point I'm not.
You wouldn't have to reflash vbmeta, just use the flags when you dirty flash the system image:
Code:
fastboot --disable-verity --disable-verification update redfin-image.zip

In the off chance this gives you a data corruption error, then yes you'd reflash vbmeta, but AFTER you dirty flash the factory update - because the zip contains the stock image for vbmeta.

Wiping is required if you update from a previous version of Android using the factory image. It should not be required if you update from 12 Beta.
 
  • Like
Reactions: killchain
Hi ! I make all your thread but doesn't work !!! After sideload and restart it no mistake and restart to bootloader and flash vmbeta and patch boot the phone restart to "try again or wipe all"
Finaly I loose all my data and do flash factory image but big mistake I stay always on fastboot !!! Wont restart ?
Reboot to bootloader (use the buttons on the phone)

Try to reflash vbmeta
Code:
fastboot --disable-verity --disable-verification flash --slot=all vbmeta vbmeta.img

If that doesn't fix it, reflash vbmeta without disabling verification:
Code:
fastboot flash vbmeta vbmeta.img
You'll have to reflash the stock boot image too.

This will get you out of a boot loop, albeit without root, while we try to figure this out.
 

rester555

Senior Member
Oct 27, 2010
365
88
Interesting. Using the --slot-all flag should be unnecessary, because as far as I know, using the flash command without the slot flag will flash all slots in that partition.

Also, did you actually bootloop - as in phone kept rebooting? Or did you get stuck in bootloader with an error message?

Also, I forget, did you wipe data at any point?
@V0latyle I started with flashing the factory image and doing the original patched image flash with magisk and got the error message you describe in op where it says failed to load/verify boot image. I then recovered and flashed and wipred factory. I then came here and read your thread, did your steps, and it boot looped to recovery saying, and I am paraphrasing, system is corrupt, reload or factory reset? Then I went into fastboot and did adb of factory image, this time I got through initial setup and went back to fastboot and did all your steps with the --slot=all command for the flags.
 

Homeboy76

Senior Member
Aug 24, 2012
2,789
1,404
...To update to Android 12 via ADB using the factory image: (Wipe required)

1. Download the factory image to your computer and connect your device via USB, with USB debugging enabled.
2. Extract the contents of the factory ZIP
3. Reboot to bootloader:
Code:
adb reboot bootloader
4. If necessary, update the bootloader: WARNING: IF DONE INCORRECTLY THIS WILL BRICK YOUR DEVICE!
Code:
fastboot flash bootloader [bootloader image]
Reboot back to bootloader.
5. If necessary, update the radio:
Code:
fastboot flash radio [radio image]
Reboot to bootloader.
6. Install the update:
Code:
fastboot --disable-verity --disable-verification -w update [factory image zip]
DATA WIPE IS REQUIRED when updating from an older version of Android.
7. Let the update complete
8. Continue to Patch Boot Image below

Patch Boot Image:

1. Extract boot.img from the factory image ZIP if you haven't done so already
2. Install Magisk on your phone
3. Move the boot image to your phone via USB, and patch it using "Select and Patch a File" in Magisk
4. Move the patched boot image back to your PC
5. Reboot to bootloader
6. Flash the patched boot image:
Code:
fastboot flash boot [patched boot image]
7. Reboot to system. [/spoiler]


For subsequent updates to Android 12:
Either install the update via OTA Sideload, then reflash vbmeta with disable flags set, or dirty flash the factory image with disable flags set.
Live boot your patched boot image from bootloader (as long as you're still on Android 12, the old kernel should work fine):
Code:
fastboot boot [patched boot image]

In system, launch Magisk then select "Direct Install" to patch the stock image in /boot...
Superb Guide

Has anyone successfully preformed this step: To update to Android 12 via ADB using the factory image: (Wipe required)?
 
  • Like
Reactions: V0latyle
Superb Guide

Has anyone successfully preformed this step: To update to Android 12 via ADB using the factory image: (Wipe required)?
I did, on 4a5g, but I just changed the flash-all.bat script inside the zip and add the disable flags.
So far no issue in regards to flashing/root. Working wonderfully. Many thanks @V0latyle
Besides the flags, everything else is the same with what I have been doing on Android 11 stocks
 

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    Or he/you could add this to it when flashing factory image via ADB only. Why? Because it works on the pixel 4a 5(G) and may work on the Pixel 5. It would not confuse anyone, just provide another less complicated option for upgrading/updating those phones. Seems pretty black and white to me.
    Agreed.

    The confusion arises from this:
    PS :
    Pixel 4a 5(G) phone owners need to know for the initial upgrade (Android 11 to Android 12), they do not need the fastboot flash --disable-verity --disable-verification --slot-all vbmeta vbmeta.img step in this case
    This implies that verity and verification need not be disabled when upgrading from Android 11...which if you want permanent root, is not true. This can be omitted if one flashes the factory image, as they can incorporate the flags into the command:
    Code:
    fastboot update -w --disable-verity --disable-verification image-device-buildnumber.zip
    However, if the update is performed via the OTA, then vbmeta must be specifically disabled.

    If you understand what he is saying, why not add the Pixel 4a 5(G) note to the Reminders?
    This is true across ALL affected devices - Pixels on the SD765G and Tensor. It is not specific to one device.

    Still, I will update the notes for the sake of clarity.
    4
    BOOM SHUCK-A-LUCKA!

    Got it.

    So, I followed all of these steps:
    - modified Flash-All.bat file to include --disable-verity, --disable-verification and --skip=reboot. in "fastboot update" line. Also made sure it had the -w flag.
    - saved as Flash-All-modified.bat
    - Rebooted phone into bootloader
    - executed Flash-All-modified.bat
    - All proceeded fine. The phone was left in fastbootd
    - reflashed vbmeta in fastbootd: fastboot flash vbmeta --disable-verity --disable-verification --slot=all vbmeta.img
    - issued "fastboot reboot" command
    - Went through setup steps of phone - only activated network, accepted disclaimers and chose dark theme. Did not restore app data or set up a google account.
    - I then enabled developer mode and usb debugging
    - I then issued "adb install magisk-f822ca5b(23001).apk"
    - I copied the November Update Stock "boot.img" from my PC to the phone and patched using Magisk
    - I copied the patched file back to the PC
    - Issued adb reboot-bootloader command
    - issued fastboot boot magisk-patched-XXX.img command
    - Upon opening Magisk I saw that I was temporarily rooted
    - I then "direct installed" magisk and rebooted
    - The phone now has permanent root

    PROFIT!

    Does the patched boot image have to be created on the phone and android version/build that it will be used on?
    4
    Just dirty flashed pixel 4a5g to Nov update succesfully

    - disable all magisk modules and restore back Magisk app name (obviously restart after that)
    - Edit the command inside flash-all.bat to (without wipe -w) :

    fastboot --disable-verity --disable-verification update image-xxxxxxx.zip

    - put all related files in the platform tools folder (radio, image, bootloader, bat)
    - adb reboot bootloader
    - run "flash-all"
    - once booted, just follow the usual patching boot.img for magisk
    - then can enable back all magisk modules and rename back magisk app

    PS: I am still using magisk 23

    Pixel 4a 5(G) phone owners need to know for the subsequent update does not need to skip the reboot
    fastboot --disable-verity --disable-verification --skip-reboot update image-bramble-sp1a.999999.999.zip
    or flash the vbmeta image:
    fastboot flash --disable-verity --disable-verification --slot-all vbmeta vbmeta.img
    3
    can you post the link to @kdrag0n patreon for the new snf
    3
    Since we have to wipe data no matter what, isn't there a way to backup and restore /data easily so we don't have to re-install and re-setup everything again? I have years of text messages, Xprivacy with all its settings/permissions, netguard, all my other apps, etc... Can I just "adb pull /data" and then follow the upgrade/reroot instructions and then "adb push /data" or what?
    Strongly recommend swift backup. It is in the app store and has added functionality with root. Transfer all backups to PC. It worked flawlessly for me changing from a Pixel 4a to Pixel 5. Note that it doesn't backup photos. Just pull your DCIM folder to your PC.
  • 17
    WARNING: PERMANENT ROOT WHEN UPGRADING FROM ANDROID 11 REQUIRES A DATA WIPE! THERE IS CURRENTLY NO WAY AROUND THIS.


    WARNING: MANUALLY INSTALLING FACTORY UPDATES OR IMAGES REQUIRES AN UNLOCKED BOOTLOADER. If your bootloader is locked, DO NOT ATTEMPT THIS.

    WARNING: MODIFY YOUR DEVICE AT YOUR OWN RISK. YOU ALONE WILL BE RESPONSIBLE FOR MALFUNCTION, DAMAGE, OR LOSS OF ANY KIND IF SOMETHING GOES WRONG.

    Root will be done via Magisk. If you aren't already using it, download and install to your phone.

    Warning: For the sake of simplicity, I frequently will use generalizations when referring to files ("[patched boot image]" instead of "magisk_patched-23001_xxxxx.img" for example). It is YOUR RESPONSIBILITY to ensure you are flashing the correct file. The easiest way to do this is type the command in the command line without the file itself, then drag and drop the file you want to flash into the command line window.



    For those of you with a locked bootloader:

    Simply install the update as usual via OTA, whether automatically through Android Update, or manually via adb sideload.

    First, a bit of information on why you need to follow this guide (See this post)

    Two new Verified Boot features implemented in Android 12 will interfere with attempts to root. A more detailed explanation is below if you would like.

    Dm-verity (device-mapper-verity) is a method by which an image on block devices (the underlying storage layer of the file system) can be checked to determine if it matches an expected configuration, using a cryptographic hash tree. If the hash doesn't match, dm-verity prevents the stored code from loading.

    Vbmeta verification is the other half of this - it provides a cryptographically signed reference hash which is used to verify the integrity of /boot, /system, and /vendor partitions. The vbmeta image is only used to verify /boot, while vbmeta-system is used to verify /system.

    This was implemented to prevent persistent rootkits by means of a hardware level security check, to prevent "potentially harmful applications" such as Magisk from evading detection, as such applications residing within the kernel will have higher privileges than the detection applications.

    What this means is that with these two enabled, a modified boot image will cause a verification error when flashed to the device, preventing boot. Interestingly, this check is not performed against "live" boot images loaded via ADB, so with dm-verity and vbmeta verification enabled, a modified image can be booted as long as the image in /boot is intact.

    The good news is, disabling these features is as easy as using a command switch.
    The bad news, however, is that /data must be clean the first time this is done.


    If you update via automatic OTA: THIS WILL REQUIRE A WIPE EVERY TIME!
    1. Download the factory image (Yes, this is required) to your computer. Connect your device via USB.
    2. Extract the contents of the factory image, then extract both boot.img and vbmeta.img from the image-[device].zip (where [device] is the codename for your device, such as Redfin for Pixel 5
    2. Reboot to bootloader: With device connected via USB, Developer Options enabled and USB Debugging enabled, reboot to bootloader using ADB:
    Code:
    adb reboot bootloader
    3. Continue to Reflash vbmeta below

    To manually install the OTA:
    1. Download the OTA for your device, as well as the factory image (Yes, you need both) to your computer.
    2. Install the OTA
    3. Extract the contents of the factory image, then extract both boot.img and vbmeta.img from the image-[device].zip (where [device] is the codename for your device, such as Redfin for Pixel 5
    4. Let the update complete, and IMMEDIATELY reboot to bootloader.
    5. Continue to Reflash vbmeta below

    Reflash VBmeta
    1. Reflash vbmeta with dm-verity and boot verification disabled:
    Code:
    fastboot --disable-verity --disable-verification flash --slot=all vbmeta vbmeta.img
    2. If this is the first time you are rooting Android 12, you will end up in Recovery with this message: "Can't load Android system. Your data may be corrupt." You will have to perform the factory reset to continue. Once complete, let the device boot Android.
    3. If you have previously wiped and are updating, let the device boot Android.
    Continue to Patch Boot Image below.

    1. Open this link in Google Chrome (DO NOT USE MICROSOFT EDGE OR MOZILLA FIREFOX) Here is the link for beta
    2. Connect your device via USB (make sure USB Debugging is enabled)
    3. Enable ADB access in the browser
    4. Select your device
    5. Select the Android 12 build
    6. IMPORTANT: Click the pencil icon next to the selected build
    7. Ensure Wipe Device, Disable Verification, and Disable Verity are checked. DATA WIPE IS REQUIRED when updating from an older version of Android. Don't lock your bootloader if you want root. Force flash all partitions should not be necessary (but use this if you've run into problems and are starting over). Skip Secondary and Force Debuggable should be unchecked, unless you want to use ADB for root access on the stock kernel for some reason.
    8. Click Install Build.
    9. Wait until the update finishes, including a reboot to Android.
    10. Continue to Patch Boot Image below.

    1. Download the factory image to your computer and connect your device via USB, with USB debugging enabled.
    2. Extract the contents of the factory ZIP
    3. Reboot to bootloader:
    Code:
    adb reboot bootloader
    4. If necessary, update the bootloader: WARNING: IF DONE INCORRECTLY THIS WILL BRICK YOUR DEVICE!
    Code:
    fastboot flash bootloader [bootloader image]
    Reboot back to bootloader.
    5. If necessary, update the radio:
    Code:
    fastboot flash radio [radio image]
    Reboot to bootloader.
    6. Install the update:
    Code:
    fastboot --disable-verity --disable-verification -w update [factory image zip]
    DATA WIPE IS REQUIRED when updating from an older version of Android.
    7. Let the update complete, including a reboot to Android
    8. Continue to Patch Boot Image below

    1. Extract boot.img from the factory image ZIP if you haven't done so already
    2. Install Magisk on your phone
    3. Move the boot image to your phone via USB, and patch it using "Select and Patch a File" in Magisk
    4. Move the patched boot image back to your PC
    5. Reboot to bootloader
    6. Flash the patched boot image:
    Code:
    fastboot flash boot [patched boot image]
    7. Reboot to system.

    For subsequent updates to Android 12:
    DO NOT USE AUTOMATIC UPDATE! DO NOT LET THE DEVICE BOOT BEFORE YOU DISABLE VERITY AND VERIFICATION!

    Follow the same directions as above, except you don't have to wipe.

    Key reminders:
    * The OTA does not have a way to set the disable flags for vbmeta, so if you update via OTA, you will have to reflash vbmeta with the disable flags every time you update.
    * The most critical thing to remember is that once you have disabled verified boot and gained permanent root, YOU MUST NOT let the device boot into Android if /vbmeta is flashed without disabling verity and verification.
    * If you forget to do this and let the device boot into Android, you will end up in Rescue Party: Recovery Mode screen with the message "Can't load Android system. Your data may be corrupt." YOU WILL HAVE TO WIPE TO GET ROOT BACK.



    If you run into problems, or just want to share your results, please feel free to post your method and results in this thread.
    6
    Who is calling you stupid?!?! It's an American expression: for example, your costume is ruined by rain, so, you say: it's the weather stupid.

    Anyway, I am trying to help, so, there is no reason to seek insults where there isn't one.
    It's just the way you worded it is all. I am born in America, and actually thought the same thing when I read it.
    It's confusing to me though..

    I would say, not "it's the weather, stupid"
    but rather
    "it's the stupid weather"

    so reading "It's the bootloader stupid"
    I feel should be,
    "it the stupid bootloader"

    but thank you for clearing up that you aren't passing insults.
    And it's hard to tell through text whose being argumentative, and whose being helpful.
    Glad you're the latter.
    5
    Or he/you could add this to it when flashing factory image via ADB only. Why? Because it works on the pixel 4a 5(G) and may work on the Pixel 5. It would not confuse anyone, just provide another less complicated option for upgrading/updating those phones. Seems pretty black and white to me.
    Agreed.

    The confusion arises from this:
    PS :
    Pixel 4a 5(G) phone owners need to know for the initial upgrade (Android 11 to Android 12), they do not need the fastboot flash --disable-verity --disable-verification --slot-all vbmeta vbmeta.img step in this case
    This implies that verity and verification need not be disabled when upgrading from Android 11...which if you want permanent root, is not true. This can be omitted if one flashes the factory image, as they can incorporate the flags into the command:
    Code:
    fastboot update -w --disable-verity --disable-verification image-device-buildnumber.zip
    However, if the update is performed via the OTA, then vbmeta must be specifically disabled.

    If you understand what he is saying, why not add the Pixel 4a 5(G) note to the Reminders?
    This is true across ALL affected devices - Pixels on the SD765G and Tensor. It is not specific to one device.

    Still, I will update the notes for the sake of clarity.
    4
    For those of you who have not yet wiped data and are using unrooted Android 12:

    As long as your system boots, you should be able to live boot a patched boot image and use that for temporary root:

    fastboot boot patched_boot.img

    If you are currently stuck at the "corrupted data" message in recovery, try sideloading the OTA or dirty flashing the factory image (with NO FLAGS). If that doesn't work, the only fix that I know of that works is to perform a factory reset...but if you get to that point, you might as well clean flash the factory image with both --disable flags:

    fastboot --disable-verity --disable-verification -w update redfin_image.zip

    at which point you should be able to flash and boot the patched boot image.
    4
    Who is calling you stupid?!?! It's an American expression: for example, your costume is ruined by rain, so, you say: it's the weather stupid.

    Anyway, I am trying to help, so, there is no reason to seek insults where there isn't one.
    I didn't seek one, I guess I misunderstood. I have never heard of that expression before, at least not in that context. I'm American too, and I've generally heard it like this:

    "Hey, what's making that howling noise?"
    "It's the wind, stupid!"

    I digress.

    I'll have to pick this up later; it's late, my wife is demanding....attention, and I want to enjoy the weekend.