How To Guide Method to upgrade every month, without wiping data and retaining root

Search This thread

V-Ripper

Member
Mar 23, 2016
29
9
Hello, I want to install the January update.
Any Germans here who can help me?

With the December update I had to do a full wipe after a bootloop...
I would like to avoid that!

Thank you
 
  • Like
Reactions: erktheerk

eracet

Senior Member
Nov 27, 2010
220
31
January update gives me this error when running this command
fastboot --disable-verity --disable-verification --skip-reboot update image-raven-sq1d.220105.007.zip
Writing sparse 'product_a' 1/11 (bootloader) image size (2797854720) biffer than partition size (27499970
FAILED (remote: 'failed to flash partition (product_a)')

Since it kept failing , I tried rolling back the update.
Was able to flash radio and bootloader, Then when trying to patch the old update , again it gave me a new error.
(bootloader) failed to write chunk #0
FAILED (remote: 'failed to flash partition (product_a)')

So I skipped that part and did a
fastboot flash --disable-verity --disable-verification vbmeta vbmeta.img

Then flashed the magisk modified img and restarted

Now its stuck on the G screen

My original method was the flash all bat was messed up, bad typos etc.
So I did a rewritten one.
As suggested in XDA discord

Flash bootloader
fastboot flash bootloader bootloader-raven-slider-1.0-8013568.img
fastboot reboot-bootloader

:: Flash Radio/Modem
fastboot flash radio radio-raven-g5123b-93368-211225-b-8029609.img
fastboot reboot-bootloader

:: Flash update, don't reboot and disable dm-verity
fastboot --disable-verity --disable-verification --skip-reboot update image-raven-sq1d.220105.007.zip
fastboot reboot-bootloader

:: Flash modified boot.img
fastboot flash boot magisk_patched.img
fastboot reboot


This gave the image "biffer" error

I tried running it one command at a time and it didnt change anything.

So after getting stuck again, I decided to try the november img since that was what was already on my phone.
 
Last edited:

eracet

Senior Member
Nov 27, 2010
220
31
January update gives me this error when running this command
fastboot --disable-verity --disable-verification --skip-reboot update image-raven-sq1d.220105.007.zip
Writing sparse 'product_a' 1/11 (bootloader) image size (2797854720) biffer than partition size (27499970
FAILED (remote: 'failed to flash partition (product_a)')

Since it kept failing , I tried rolling back the update.
Was able to flash radio and bootloader, Then when trying to patch the old update , again it gave me a new error.
(bootloader) failed to write chunk #0
FAILED (remote: 'failed to flash partition (product_a)')

So I skipped that part and did a
fastboot flash --disable-verity --disable-verification vbmeta vbmeta.img

Then flashed the magisk modified img and restarted

Now its stuck on the G screen

My original method was the flash all bat was messed up, bad typos etc.
So I did a rewritten one.
As suggested in XDA discord

Flash bootloader
fastboot flash bootloader bootloader-raven-slider-1.0-8013568.img
fastboot reboot-bootloader

:: Flash Radio/Modem
fastboot flash radio radio-raven-g5123b-93368-211225-b-8029609.img
fastboot reboot-bootloader

:: Flash update, don't reboot and disable dm-verity
fastboot --disable-verity --disable-verification --skip-reboot update image-raven-sq1d.220105.007.zip
fastboot reboot-bootloader

:: Flash modified boot.img
fastboot flash boot magisk_patched.img
fastboot reboot


This gave the image "biffer" error

I tried running it one command at a time and it didnt change anything.

So after getting stuck again, I decided to try the november img since that was what was already on my phone.

Now considering doing a full flash update to december, then re rooting it. Will I lose data?

Tried to go into recovery mode and it shows no command.
 
Last edited:

Lughnasadh

Senior Member
Mar 23, 2015
3,331
3,298
Google Nexus 5
Huawei Nexus 6P
Now considering doing a full flash update to december, then re rooting it. Will I lose data?

Tried to go into recovery mode and it shows no command.
You don't need to disable verity & verification if you use the latest Canary Magisk (23017).

Make sure your Platform Tools are up-to-date https://developer.android.com/studio/releases/platform-tools

Why update to December? Why not January where a lot of bugs were allegedly fixed?

You've done so much I would just start fresh with the flash-all method. You can remove the -w to keep your data, but honestly I would start fresh and just leave that in so it wipes everything.

Also, if you still have problems, try different cables and ports.
 
  • Like
Reactions: roirraW "edor" ehT

eracet

Senior Member
Nov 27, 2010
220
31
You don't need to disable verity & verification if you use the latest Canary Magisk (23017).

Make sure your Platform Tools are up-to-date https://developer.android.com/studio/releases/platform-tools

Why update to December? Why not January where a lot of bugs were allegedly fixed?

You've done so much I would just start fresh with the flash-all method. You can remove the -w to keep your data, but honestly I would start fresh and just leave that in so it wipes everything.

Also, if you still have problems, try different cables and ports.
I did the january one first and it failed. This is why I did the rollback. because of the issue. And the November update was the current one ,
When the magisk modified image was done it was done with 23017,

Does this look right for flash all bat file?

fastboot flash bootloader bootloader-raven-slider-1.0-8013568.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot flash radio radio-raven-g5123b-93368-211225-b-8029609.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot update image-raven-sq1d.220105.007.zip
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot flash boot magisk_patched.img
fastboot reboot



I got it going with this method. Did all commands one at a time instead of flash all

:: Flash bootloader
fastboot flash bootloader bootloader-raven-slider-1.0-8013568.img
fastboot reboot-bootloader

:: Flash Radio/Modem
fastboot flash radio radio-raven-g5123b-93368-211225-b-8029609.img
fastboot reboot-bootloader

:: Flash update, don't reboot and disable dm-verity
fastboot --skip-reboot update image-raven-sq1d.220105.007.zip
fastboot reboot-bootloader

:: Flash modified boot.img
fastboot flash boot magisk_patched.img
fastboot reboot
 
Last edited:

A.Priori

Senior Member
May 26, 2011
449
101
Does anyone know which version of magisk is needed for the jan patch or is it the same?
 

westhaking

Senior Member
Jan 18, 2009
215
83
Google Pixel 2
Google Pixel 6 Pro
Made my phone unbootable when trying to do this with the January update. Maybe edit your post OP? So that, you know, people don't have to wipe their phone.

this method works as plenty of users can attest to including me. Granted, instruction need to be updated to include Linux users but it does work. Sorry for your loss
 
  • Like
Reactions: roirraW "edor" ehT

roirraW "edor" ehT

Forum Moderator
Staff member
I can confirm this still works.
I updated directly from October to January using magisk v23.0 (23015)

Thank you!
You want to use a newer Magisk than 23 with the Pixel 6 Pro. Usually 23016 or newer, but preferably at this point the latest Magisk Stable, which is 24.1 (24001).
 
  • Like
Reactions: Lughnasadh

Lughnasadh

Senior Member
Mar 23, 2015
3,331
3,298
Google Nexus 5
Huawei Nexus 6P
1644260946003.png


Once again I'd like to ask before I do, this looks good right? to go to february build?
 

Dataman100

Senior Member
Nov 23, 2010
83
59
you forgot the --skip-reboot fastboot --skip-reboot update image-raven-sq1d.220205.003.zip

Also, make sure you use the actual name of the patched boot.img file in the last 'fastboot flash boot <image_name>' command. Each time it gets created with a different name. That is, if you didn't rename it when you copied it back from your phone.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    I don't know why folks continue to have issues updating when a new Android update is released. Despite Magisk having the option to install to an inactive slot for easy OTA updating, I simply avoid it and go the old-school route of updating via sideload to prevent any issues.

    In hopes of putting to rest issues some of you face, here is what I do:

    • Make a backup of all my important files in case something goes wrong
    • Disable any Magisk modules if it makes you feel any safer
    • Download the OTA image online and NOT from the system update!
    • Reboot to recovery and sideload the OTA by using:
    Code:
    adb reboot sideload
    • Then, in recovery I load up the file by using:
    Code:
    adb sideload "insert OTA file name here.zip"
    • Once it finishes, you will be in recovery mode. Select "Reboot to system now".
    • Once the system reboots, I unlock the device and let it finish completing the update before anything else.
    I then proceed to root the device as I normally would, by:
    • Getting the NEW boot.img file from the full factory image
    • Copy it to my mobile device
    • Open up Magisk and patch the boot.img file
    • Copy the patched file to my PC
    • Reboot into bootloader using:
    Code:
    adb reboot bootloader

    Then, patch the new boot.img using:

    Code:
    fastboot flash boot "patched_boot.img"

    Reboot / Done.

    I have not had it fail once using this process on stable Magisk and NO "disable" tags. The only reason I can see for anyone to use Canary versions of Magisk or "disable" tags, is if its absolutely required for some modules, ROMs, or kernels you are using. If it's not needed, just leave it alone.

    You could technically just dirty flash the entire full factory image using the Android Flash Tool or flash-all.bat script on your PC, but the script file is where I find most folks mess up because they copy and pasted instructions improperly, or there's a line of code they forgot to add or remove without proofreading before running the script. I'd rather take matters into my own hands, even if it means completing more steps to make sure things go smoothly.

    Anyway, I hope this helps someone!
    4
    What version of magisk are you using?

    I updated the App, (but not the actual Magisk) to 24306 right before I started. I then copied over the boot.img, patched it with the new App, and copied it back to the PC. I then followed the instructions in the OP.

    FYI. I still have "--disable-verity --disable-verification" in my update command line. I know it's not required with the new Magisk, but it's been working since the beginning and I see no reason to change it as I've had zero problems updating every month with it in there.

    Best of luck!
    3
    So, it was a bit different for me this time. I was experimenting and was rooted with Magisk Alpha (t.me/magiskalpha) on 13 Beta 1 when Beta 2 was released. So, I decided to go back on official Magisk Canary, but I didn't re-root Beta 1 with official Canary. However, I installed the latest Canary apk on Beta 1 and patched Beta 2 boot.img and updated using the method I posted in OP.

    I booted fine in Beta 2 but could not open Canary app (as was the case with everyone). I tried clearing data of the Canary app, tried reflashing patched boot.img, tried patching boot.img with Alpha and flashing on both slots before realizing that root wasn't working for anyone on Beta 2.

    When update to Canary was announced, I simply downloaded the latest Canary apk, patched Beta 2 boot.img and flashed it in bootloader. Now, I haven't wiped my device in a long time and my verity and verification are not disabled (if there is any way to show that, please let me know and I will share it with everyone).

    I was fortunate for not having to disable verity or verification (and in the process wipe data) like others on Beta 1.
    3
    I updated the App, (but not the actual Magisk) to 24306 right before I started. I then copied over the boot.img, patched it with the new App, and copied it back to the PC. I then followed the instructions in the OP.

    FYI. I still have "--disable-verity --disable-verification" in my update command line. I know it's not required with the new Magisk, but it's been working since the beginning and I see no reason to change it as I've had zero problems updating every month with it in there.

    Best of luck!
    Thanks for the heads up!
    For anyone wondering, I was successfully able to update to the May patch with magisk canary 24307.
    2
    I don't know why folks continue to have issues updating when a new Android update is released. Despite Magisk having the option to install to an inactive slot for easy OTA updating, I simply avoid it and go the old-school route of updating via sideload to prevent any issues.

    In hopes of putting to rest issues some of you face, here is what I do:

    • Make a backup of all my important files in case something goes wrong
    • Disable any Magisk modules if it makes you feel any safer
    • Download the OTA image online and NOT from the system update!
    • Reboot to recovery and sideload the OTA by using:
    Code:
    adb reboot sideload
    • Then, in recovery I load up the file by using:
    Code:
    adb sideload "insert OTA file name here.zip"
    • Once it finishes, you will be in recovery mode. Select "Reboot to system now".
    • Once the system reboots, I unlock the device and let it finish completing the update before anything else.
    I then proceed to root the device as I normally would, by:
    • Getting the NEW boot.img file from the full factory image
    • Copy it to my mobile device
    • Open up Magisk and patch the boot.img file
    • Copy the patched file to my PC
    • Reboot into bootloader using:
    Code:
    adb reboot bootloader

    Then, patch the new boot.img using:

    Code:
    fastboot flash boot "patched_boot.img"

    Reboot / Done.

    I have not had it fail once using this process on stable Magisk and NO "disable" tags. The only reason I can see for anyone to use Canary versions of Magisk or "disable" tags, is if its absolutely required for some modules, ROMs, or kernels you are using. If it's not needed, just leave it alone.

    You could technically just dirty flash the entire full factory image using the Android Flash Tool or flash-all.bat script on your PC, but the script file is where I find most folks mess up because they copy and pasted instructions improperly, or there's a line of code they forgot to add or remove without proofreading before running the script. I'd rather take matters into my own hands, even if it means completing more steps to make sure things go smoothly.

    Anyway, I hope this helps someone!
    Thanks for the guide bro, very useful. Out of curiosity, which Magisk did you use to patch the May boot.img?
    Cheers
  • 66
    Caution: I originally wrote this guide when it was necessary to disable verity and verification before flashing patched boot.img. Now Magisk has overcome this requirement and some users have reportedly flashed updates without disabling verification and verity and did not have to wipe their phones, but request everyone, who have verification and verity disabled and using this guide, make sure you backup all the data and post your results here (I suggest backing up data anyway for everyone).

    Following is a guide to update Pixel 6 Pro (perhaps all Pixel devices) every month, without wiping and retaining root. I tested it on my Pixel 6 Pro from 12.0.0 (SD1A.210817.015.A4, Oct 2021) to 12.0.0 (SD1A.210817.036, Nov 2021). There is no reason that it should not work on subsequent monthly patches, but just take the backups to be sure.

    1) Download the latest factory image for your device and platform-tools from the official Google site and extract them in one folder.

    2) Extract the boot.img from image-raven-xxxxxxx.zip which was extracted from the image in the above step and patch it in Magisk Manager (latest canary build from https://github.com/topjohnwu/Magisk) on your phone and copy it back to the folder where you extracted the factory image and platform-tools. Rename the copied file to magisk_patched.img

    3) Open flash-all.bat in notepad, add --skip-reboot and remove -w from the fastboot update line. Also add the following lines after the fastboot update line to flash the Magisk patched boot.img automatically:

    fastboot reboot-bootloader
    ping -n 5 127.0.0.1 >nul
    fastboot flash boot magisk_patched.img
    fastboot reboot

    After editing, the edited part of your flash-all.bat should look something like this:

    Code:
    fastboot --skip-reboot update [****image_name****]
    fastboot reboot-bootloader
    ping -n 5 127.0.0.1 >nul
    fastboot flash boot magisk_patched.img
    fastboot reboot
    
    echo Press any key to exit...

    Note: [****image_name****] is just a placeholder and needs to be the name of zip file which was originally there in flash-all.bat, do not change that. Be careful to rename the Magisk patched boot.img to magisk_patched.img or in the alternative make appropriate modifications in the flash-all.bat

    4) Open command prompt and go the folder where you extracted factory image and platform-tools. Type the following commands:

    adb reboot bootloader
    flash-all.bat

    Your device should be upgraded to the latest factory image, while retaining root, without wiping data.

    Update 1: I updated from 12.0.0 (SD1A.210817.036, Nov 2021) to 12.0.0 (SD1A.210817.037, Nov 2021) successfully using my method, without loosing data and root.

    Update 2: I updated from 12.0.0 (SD1A.210817.037, Nov 2021) to 12.0.0 (SQ1D.211205.016.A1, Dec 2021) successfully using my method, without loosing data and root.

    Update 3: I updated from 12.0.0 (SQ1D.211205.016.A1, Dec 2021) to 12.0.0 (SQ1D.220105.007, Jan 2022) successfully using my method, without loosing data and root.

    Update 4: I updated from 12.0.0 (SQ1D.220105.007, Jan 2022) to 12.0.0 (SQ1D.220205.003, Feb 2022) successfully using my method, without loosing data and root.

    Update 5: I updated from 12.0.0 (SQ1D.220205.003, Feb 2022) to Android 12L DP 3 successfully using my method, without loosing data and root.

    Update 6: I updated from Android 12L DP 3 to Android 13 DP successfully using my method, without loosing data and root.
    9
    Just tried this on my P6Pro. Managed to update from .015 to .036 and retained root.
    Also still passing SafetyNet with USNF 2.2 beta
    8
    I don't know why folks continue to have issues updating when a new Android update is released. Despite Magisk having the option to install to an inactive slot for easy OTA updating, I simply avoid it and go the old-school route of updating via sideload to prevent any issues.

    In hopes of putting to rest issues some of you face, here is what I do:

    • Make a backup of all my important files in case something goes wrong
    • Disable any Magisk modules if it makes you feel any safer
    • Download the OTA image online and NOT from the system update!
    • Reboot to recovery and sideload the OTA by using:
    Code:
    adb reboot sideload
    • Then, in recovery I load up the file by using:
    Code:
    adb sideload "insert OTA file name here.zip"
    • Once it finishes, you will be in recovery mode. Select "Reboot to system now".
    • Once the system reboots, I unlock the device and let it finish completing the update before anything else.
    I then proceed to root the device as I normally would, by:
    • Getting the NEW boot.img file from the full factory image
    • Copy it to my mobile device
    • Open up Magisk and patch the boot.img file
    • Copy the patched file to my PC
    • Reboot into bootloader using:
    Code:
    adb reboot bootloader

    Then, patch the new boot.img using:

    Code:
    fastboot flash boot "patched_boot.img"

    Reboot / Done.

    I have not had it fail once using this process on stable Magisk and NO "disable" tags. The only reason I can see for anyone to use Canary versions of Magisk or "disable" tags, is if its absolutely required for some modules, ROMs, or kernels you are using. If it's not needed, just leave it alone.

    You could technically just dirty flash the entire full factory image using the Android Flash Tool or flash-all.bat script on your PC, but the script file is where I find most folks mess up because they copy and pasted instructions improperly, or there's a line of code they forgot to add or remove without proofreading before running the script. I'd rather take matters into my own hands, even if it means completing more steps to make sure things go smoothly.

    Anyway, I hope this helps someone!
    7
    So I notice there are some people, like me, that are a bit confused on how to exactly do this process. I like to be nice every once in a while, so this is my time. I will try to do a step by step process with exactly how I did after reading, and re-reading all the comments on how to do it (with pictures cuz I need pictures to learn haha).

    These are the exact steps I took when I updated from .36 to .37

    I downloaded the .37 zip, the one for your phone, mine is an unlocked version.
    LaL2hSk_0qyLp5oaPEuURPDf5vItZ4YnlNFR2UPtQMRGIvceVoBc8nGvxpmu90RonBslivQblX8-YrygqYIrtbz1B7AvAPk8lKQ4z5jctSVh97hWwkzuO2kK2Os7doqxiUK-HJrx


    Slapped the .37 zip file into a folder by itself so I can extract it inside that same folder. It should look like this once its extracted inside the same folder.

    1637794601085.png


    Then I opened another folder/window with the Platform-tools so I can easily navigate between the 2 folders.

    Then I opened the flash-all.bat from the zipped folder, to see what it contains, noticed that it flashes 3 files/images.
    “bootloader-raven-slider”
    “radio-raven”
    “Image-raven-sd1a”
    b-Lrwcu7O5sU1Yges_LPc33ynTBNbVMki5KPtndnhgTLKp05njPQO_uoik6Tw11_tDyM7jCAlm0SjBbzK6b7MOkoKSOku9uhclnTclBZPDDfHumwjqLNrtHKRJ2yUoRf1B_y8EPW

    Then close the file as we dont need it right now.

    So with this I know that I will need to add those 3 files to the platform-tools folder when I go to actually run the command.

    I actually took the .37 boot.img and copied it into my pixel with version .36 still running.
    The boot.img is inside the zipped folder and when you extracted it, it will now be viewable along with other files and the zipped folder still there.
    1637794847696.png


    copy this boot into the main folder of the pixel
    1637795054884.png


    On your Pixel, open Magisk and click install then select patch file, navigate to the boot.img file in your internal storage.
    Patch it with Magisk and then take the patched boot.img (which that file will actually be in your downloads folder in your Pixel) and copied it back to my computer.

    So as of now, it seems we are able to patch boot.img with current build without having to update then patch then flash. We can just patch on the current build then copy the patch to the computer and run the rest of the steps.

    Now that I have the patched boot.img on my computer, I will take all the highlighted files in the picture, plus the patched boot.img over to the Platforms-tools folder and just copy them in that folder.
    Here, I’m not sure how everyone else has their folder since I rarely use those tools, so I just add the files and then delete them after I’m done flashing. See picture of all copied in files. (dont forget your patched boot.img)

    -Q2fqEHQmA5DPStoBV4ht9FVinUy7MD2GF4bi38EhGlItokhERTlrJAknwjGtSGXeMTVPnQn-6FZwXFqLJljCjYmrh3rYl4XPrDdLoyBO4QSOaaact8E2FvXwxjCZRfudWUgt_3m


    Now I will open the flash-all.bat that's inside the Platform-tools using Notepad ++ (personal preference).
    Edit this file exactly like in the picture. Add the lines exactly how it shows in the picture.
    **NOTE** that you need to type the exact patched boot file in there. So, like in this picture, but with YOUR patched "magisk_patched" file as this will have your own ID after 23014.
    1637734768289.png

    once you made the edits on this file, dont forget to save it before you run the commands!

    Now plug in your phone to the computer.
    Make sure you have USB debugging turned on.
    Press shift and right click inside the Platform-tools folder and open Command Prompt.
    run these 2 commands:
    adb reboot bootloader
    flash-all.bat

    When it's all done, your phone will boot up and you will be on the new .37
    Nothing else to add here as it will literally run through everything for you and boot up and you're done.

    Hope this helps someone, as I am a visual learner myself.
    7
    couldnt we just add step 5 into the flash-all file? for example:
    fastboot reboot-bootloader
    fastboot flash boot magisk_patched-xxxxx.img
    fastboot reboot

    like in the picture? or would it not actually run that way?
    View attachment 5465521
    holy poop that worked!! i was scared to try it myself but since i have a backup phone with all my data on it, it wouldnt be so bad to wipe the pixel if i messed it up doing it this way! But hey, it actually worked!!
    here is the modified flash-all and yes you will need the "ping" line after the update line.
    1637619349812.png


    so with this, no need to type extra stuff, just add it all in the flash-all file and run the first 2 commands:
    adb reboot bootloader
    flash-all.bat

    and thats it, the only time consuming part is patching the boot, putting it in the folder with the platform-tools.