Themes / Apps / Mods PixelFlasher for Google Pixel 6 Support Thread.

Search This thread

manjaroid

Senior Member
Jun 25, 2019
261
111
I'm all ears, what could be done better or differently to minimize the stumbling blocks?
The stumbling was all mine. For instance, when the device wasn't showing up, referring back to the docs about it being a combo box straightened me out. And my Platform Tools wasn't up to date which turned out to be dumb luck because replacing those files is when Magisk finally asked about granting root to shell. Stuff like that and having ducks in a row.

After a couple more updates with PixelFlasher I think it'll be second nature. As far as I can tell you've covered all bases and I have no ideas for improvements. The UI is neat and makes perfect sense after staring at it a while. Whether to flash both slots seems the only question for now but since the 13 bootloader is on both I haven't been concerned about that.
 
  • Like
Reactions: badabing2003

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
PixelFlasher 4.0.0 pre-release:
Sep 25, 2022 v4.0.0 pre-release
  • New Feature: On supported devices, where device is not yet rooted (or adb shell su not allowed), an option to control the Magisk Manager GUI (drive UI) to programmatically control the app through UIAutomator and create a patched boot.img
    See Patching flow chart for details.
  • New Feature: Detect if Magisk Manager is at a higher version than installed Magisk, warn the user of a potential rare corner case and offer a choice of patching method.
  • New Feature: Temporary Root, when flashing if you choose this option, the phone will be flashed with unpatched boot.img, but Live boot to patched boot.img to provide a temporary root.
  • New Feature: Warn the user to flash both bootloader slots if their device is a Tensor device (Pixel 6, Pixel 6a, Pixel 6 Pro), if current version of OS is lower than Android 13.
  • New Feature: Flash to inactive slot. Unlike OTA flashing factory image flashing is always done on the current active slot, with this option selected, PixelFlasher will write to inactive slot. This allows one to revert to current working state in case anything goes wrong. This feature combined with Temporary Flash provides best method to test a new firmware without risking losing current working setup.
    Note: You should avoid this option if you are on a Tensor device and are upgrading from Android 12 to Android 13 (see the previous feature).
  • New Feature: Detect and operate on devices that are in Sideload or Recovery mode.
  • New spinner to indicate PixelFlasher activity.
  • Renamed Reload button to Scan, to better reflect the button's function. After a scan print the count of devices found.
  • PixelFlasher previously used MD5 to uniquely identify boot images (patched or otherwise), with version 4.0.0 PixelFlasher now uses SHA1 instead of MD5.
    This has no bearing on the functionality, it just better aligns with Magisk way of identifying and tagging boot images.
  • PixelFlasher now extracts the embedded SHA1 of a Magisk Patched images (only available in newer devices) and assures that it matches the source boot.img's SHA1.
    This is just an extra validation.
  • Code cleanup / refactoring, adding more validations and exception handling.
  • Print debug details when encountering non compliant Magisk modules.
  • Firmware link now takes you to the device's download page instead of just the general download page.
  • To better reflect the file details, transferred and stored boot.img files are now suffixed by their shortened SHA1, while magisk_patched.img files are now suffixed by shortened SHA1 of their source boot.img.
  • Allow sideload even if bootloader is locked.
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
New Release:
Oct 03, 2022 v4.1.0 release

  • Patching is now fully automatic with or without root.
    PixelFlasher uses installed Magisk Manager binaries to create a patch (root binaries are only used if Magisk Manager is not available / accessible)
    UIAutomator no longer necessary, neither asking the user to manually patch and click ok when done.
  • Added an option to set a hidden Magisk package name so that PixelFlasher can find the Magisk and use it, the user still has a choice to use root binaries.
  • Speed improvements for device property reading.
  • Speed improvements for Magisk modules reading.
 
  • Like
Reactions: Indashio and Jaitsu

tom1807

Senior Member
Ok, so as much as I like the PixelFlasher, the new one is not consistent.
First a description (cosmetic) error.
I have Magisk hidden, so PF is complaining that MagiskManager is not found.
The warning window showing up displays:
....you could set the hidden Magisk package name in PixelFlasher settings
Tiny cosmetic issue, it should write "Advanced Configuration". Not a biggie though, but maybe for new users confusing.

Second after change to the hidden name:
Patching with rooted Magisk: 25.2:25200
- Unpacking boot image
Parsing boot image: [/sdcard/Download/boot_2bde7251.img]
So far so good but then
Looking for magisk_patched*.img in /storage/emulated/0/Download ...
Found /storage/emulated/0/Download/magisk_patched_2bde7251.img
Pulling /storage/emulated/0/Download/magisk_patched_2bde7251.img from the phone to: magisk_patched_2bde7251.img ...
sha1 of magisk_patched_2bde7251.img: 28d674595dd116f76c39ad6b04fd1afbd4feaec5
Extracting SHA1 from magisk_patched_2bde7251.img ...
Getting SHA1 of source boot.img ...
Comparing the two SHA1s ...

2022-10-04 08:01:51 ERROR: Something is wrong with the patched filed.
magisk_patched_2bde7251.img extracted sha1: b336d1c6
boot.img sha1: 2bde7251
They don't match.
Aborting
Restarted and then the following issues:
Transfering C:\Users\tom\AppData\Roaming\PixelFlasher\tmp\pf_patch.sh to the phone [/data/local/tmp/pf_patch.sh] ...
C:\Users\tom\AppData\Roaming\PixelFlasher\tmp\pf_patch.sh: 1 file pushed, 0 skipped. 3.3 MB/s (880 bytes in 0.000s)

Setting /data/local/tmp/pf_patch.sh to executable ...
Executing the extraction script ...
PixelFlasher Patching phone with Magisk: 25.2:25200
/data/local/tmp/pf_patch.sh[12]: cd: /data/local/tmp/pf/assets: No such file or directory
cp: 'classes.dex' not directory
cp: bad '../lib/armeabi-v7a/libmagisk32.so': No such file or directory
/data/local/tmp/pf_patch.sh[23]: ./boot_patch.sh: inaccessible or not found
cp: bad '/data/local/tmp/pf/assets/new-boot.img': No such file or directory

Looking for magisk_patched*.img in /storage/emulated/0/Download ...

2022-10-04 08:20:19 ERROR: magisk_patched*.img not found
ls: /storage/emulated/0/Download/magisk_patched*.img: No such file or directory

Aborting ...

Attached the sanitized log files

Cheers
Tom
 

Attachments

  • support.zip
    23.7 KB · Views: 11

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
@tom1807 sorry for your troubles.
If you are in a hurry, you can still use PF 3.7.0
I will get back to you shortly, let me grab a quick bite first.

Thanks
 

tom1807

Senior Member
@tom1807 sorry for your troubles.
If you are in a hurry, you can still use PF 3.7.0
I will get back to you shortly, let me grab a quick bite first.

Thanks
No worries about that, I think I found the error.
PF is pushing the patched boot image to the mobile, file name is "boot_2bde7251.img".
But the "pf_patch.sh" is looking for "magisk_patched*.img" or "magisk_patched_2bde7251.img".

I deleted previously all files from "C:\Users\tom\AppData\Roaming\PixelFlasher" to make a clean start, but the error stays.

Attached another support file after starting from scratch.

Cheers
Tom

Aunt Edith: I am not in a hurry to flash, if u can get a fixed version out, I will test with the new version.
 

Attachments

  • support_1.zip
    3.5 KB · Views: 11
  • Like
Reactions: badabing2003

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
Tiny cosmetic issue, it should write "Advanced Configuration". Not a biggie though, but maybe for new users confusing.
Thanks, that is fixed.

Re: This Error
Code:
2022-10-04 08:01:51 ERROR: Something is wrong with the patched filed.
magisk_patched_2bde7251.img extracted sha1: b336d1c6
boot.img sha1: 2bde7251
They don't match.
Aborting

Please see this post and this post
I don't know why this happens, this is not a PixelFlasher issue, I added it as a safety measure.
Basically Magisk embeds the sha1 of the source boot image into the patched image, I think just as a reference of what source it used.
PixelFlasher checks for this and makes sure they match, and if they don't it aborts just to protect you in case something is wrong.
To be honest I could make the aborting optional, I have only seen this issue once and decided better safe than sorry.


Restarted and then the following issues:
As for the last issue.
I think unziping of the pf.zip is failing, and hence the errors.
I suspect that unzip does not exist on your phone, I didn't even think about it, I tested this on two phones (marlin and oriole) and they both had unzip.
Come to think of it, on both phones I have Busybox, probably why it was found.

I'm going to set this release to pre-release until I find a way to package zip or download zip on the fly.
Damn.

I should have left the manual patching and UI Automator patching as an option, I removed them from 4.1 release.
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
  • NOTICE:
    I'm marking version 4.1.0 release as pre-release because I just found out that unzip is not normally available on the phone, which this new patching mechanism uses.
    On my test phones they were available.
    Unless you have unzip on your phone, you should avoid using this version.
    Sorry about this oversight.
 

tom1807

Senior Member
Thanks for the update, but please refer also to my second test with a clean state.
I suspect that the "magisk_patched_2bde7251.img" was a leftover from my update in September, because as written, PF searches for "magisk_patched_2bde7251.img" but the file copied to the mobile has the name "boot_2bde7251.img".
So it compared maybe the September patched file and didn't look for the new file.

Cheers
Tom
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
Thanks for the update, but please refer also to my second test with a clean state.
I suspect that the "magisk_patched_2bde7251.img" was a leftover from my update in September, because as written, PF searches for "magisk_patched_2bde7251.img" but the file copied to the mobile has the name "boot_2bde7251.img".
So it compared maybe the September patched file and didn't look for the new file.

Cheers
Tom
Tom
When you select a boot image for patching.
PixelFlasher uses the first 8 characters of SHA1 of the boot.img and appends it to the transferred file name
You can see it in your logs that the source boot.img file is: boot_2bde7251.img
PixelFlasher also sets the target Patched file name to : magisk_patched_2bde7251.img
Basically SHA1 indicating the source of the file used to patch
You can see that also in the logs which is what it copies to Download directory
1664848898936.png


You are correct with your observation that PixelFlasher is looking for magisk_patched*.img file as a check to see if one got created.
You can see the code here
However you also see in here that for the actually transfer it uses the precise file name here
In your case it couldn't find it because the patching failed.
1664849402245.png


That first message about magisk_patched* is benign, to give you background info, that was necessary with manual patching as PixelFlasher is not in control of naming the file when the user chooses to patch manually.

Thanks for bringing this up, I'll have the message corrected in the next version.
 
  • Like
Reactions: tom1807

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
@tom1807
If you want to use PixelFlasher 4.1.0 instead of 3.7.0, and because you are already rooted, do one of the following.

1- Install builtin busybox module in Magisk, and set the correct hidden package name,, if PixelFlasher finds the Magisk Manager (which it will with the correct package name) it will use the new method to patch, and that will require unzip, which Busy box would provide

2- Alternately, don't set the package name correctly (no need to Busybox), PixelFlasher will detect root but not find the Manager, it will offer you to patch using the root Magisk (just like it did in the previous versions)
That should work for sure, but could run into the issue of SHA1 of source not matching the one in the patched file.
If this happens again, it will abort, the previous version 3.7.0 did not abort and did not check.
Either way the patched file will be generated, and we can inspect it to see if it differs from mine other than the SHA1 part. Oh it will, I'm using the Canary version, you're not.
 

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
Update Release:
Oct 03, 2022 v4.1.1. release
  • Bug Fix: Bundle busybox with PixelFlasher to be used for unzipping Magisk.
  • Bug Fix #25, use the Magisk Manager version number instead of Rooted Magisk version number.
  • Cosmetic changes and a bit more logging.
 

tom1807

Senior Member
I'd be curious to see if the patched file has the correct SHA1.
If you open it in any hex editor and search for string SHA1=, you should see it.

View attachment 5726407
Sorry for the late reply, I got the SHA1 value with 7-Zip, because none of the Hexeditors found the string SHA1=.
Below the output of 7-Zip
Name: boot_2bde7251.img
Size: 67108864 bytes (64 MiB)
SHA1: 2bde725117d3bd0990437faf06d37baa9adeb81
Cheers
Tom
 
  • Like
Reactions: badabing2003

tom1807

Senior Member
Tested v4.1.1.0, still the same issue.
PF searches for /storage/emulated/0/Download/magisk_patched_2bde7251.img on the mobile.
But this file name doesn't exist. The only file which is created is boot_2bde7251.img.
The "pf_patch.sh" has the following content:
#!/system/bin/sh
##############################################################################
# PixelFlasher 4.1.1.0 patch script using Magisk
##############################################################################
ARCH=arm64-v8a
cp /data/app/~~oPFwWedr5PCyBiNecwnwAQ==/yvfszbdvkzadm.kftv-4QM0_Z0qpTODKzwx0edYtQ==/base.apk /data/local/tmp/pf.zip
cd /data/local/tmp
rm -rf pf
mkdir pf
cd pf
../busybox unzip -o -q ../pf.zip
cd assets
rm -f bootctl main.jar module_installer.sh uninstaller.sh
rm -rf dexopt
for FILE in ../lib/$ARCH/lib*.so; do
NEWNAME=$(echo $FILE | sed -En 's/.*\/lib(.*)\.so/\1/p')
cp $FILE $NEWNAME
done
cp ../lib/armeabi-v7a/libmagisk32.so magisk32
chmod 755 *
export KEEPVERITY=true
export KEEPFORCEENCRYPT=true
./boot_patch.sh /sdcard/Download/boot_2bde7251.img
cp -f /data/local/tmp/pf/assets/new-boot.img /sdcard/Download/magisk_patched_2bde7251.img
The last 2 lines make no sense to me because the first line refers to "boot_2bde7251.img" but the next line refers to "new-boot.img" and "magisk_patched_2bde7251.img"

I was running PF a second time with Administrator rights, but didn't make a difference.

Attached the sanitized support file.

Edit: And I lost root :(. No idea when this happened during the tests.

Cheers
Tom
 

Attachments

  • support(1).zip
    9.2 KB · Views: 9
Last edited:

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
Sorry for the late reply, I got the SHA1 value with 7-Zip, because none of the Hexeditors found the string SHA1=.
Below the output of 7-Zip
Not sure if you validated this correctly.
I don't know how you can view hex contents in 7zip
You have to look inside the patched file and not compute the sha1 of boot_2bde7251.img
If you are opening the patched file in Hex Editor, you can either search as HEX string or string,
The default is usually Hex String, and there should be an option to search for string.
If not you can search for:
66 69 6E 67 65 72 70 72 69 6E 74


PF searches for /storage/emulated/0/Download/magisk_patched_2bde7251.img on the mobile.
But this file name doesn't exist. The only file which is created is boot_2bde7251.img.
That is correct, the reason you cannot find magisk_patched is because the patching failed for you.
We need to troubleshoot your case, as there seems to be a unique situation, more on this further below.
The last 2 lines make no sense to me because the first line refers to "boot_2bde7251.img" but the next line refers to "new-boot.img" and "magisk_patched_2bde7251.img"

No the last two lines are correct, when you use patch_boot.sh (a Magisk script, which PF uses) it creates a file in the current directory and names it new-boot.img, PF is trying to copy that to your Downloads directory, but because patching failed, that file was never created and hence never copied.
Edit: And I lost root :(. No idea when this happened during the tests.
I don't see how that could be possible, in your logs I don't see Flashing attempt, just an attempt to create a patch file.

Coming back to troubleshooting, we have to execute one line at a time of the above script.
But before that, let's see what you currently have in there.
Please do this and send me the output
Code:
adb shell ls -alR /data/local/tmp
 

tom1807

Senior Member
Honestly i am so confused.
I used PF 3.7 again, Magisk root worked with the onscreen instructions.
So, mobile is rooted again. It's not like there will brick.
Below the output from above command
C:\ADB>adb shell ls -alR /data/local/tmp
/data/local/tmp:
total 2109
drwxrwx--x 3 shell shell 3452 2022-10-04 18:48 .
drwxr-x--x 5 root root 3452 2022-01-28 21:54 ..
-rwxr-xr-x 1 shell shell 2115816 2022-10-04 18:18 busybox
drwxrwxrwx 3 shell shell 3452 2022-10-04 18:37 pf
-rw-r--r-- 1 shell shell 27153 2022-10-04 18:37 pf.zip
-rwxr-xr-x 1 shell shell 891 2022-10-04 18:37 pf_patch.sh

/data/local/tmp/pf:
total 53
drwxrwxrwx 3 shell shell 3452 2022-10-04 18:37 .
drwxrwx--x 3 shell shell 3452 2022-10-04 18:48 ..
-rwxr-xr-x 1 shell shell 6600 2022-10-04 18:37 AndroidManifest.xml
drwxr-xr-x 2 shell shell 3452 2022-10-04 18:37 META-INF
-rwxr-xr-x 1 shell shell 33740 2022-10-04 18:37 classes.dex

/data/local/tmp/pf/META-INF:
total 18
drwxr-xr-x 2 shell shell 3452 2022-10-04 18:37 .
drwxrwxrwx 3 shell shell 3452 2022-10-04 18:37 ..
-rw-rw-rw- 1 shell shell 2154 2022-10-04 18:37 CERT.RSA
-rw-rw-rw- 1 shell shell 274 2022-10-04 18:37 CERT.SF
-rw-rw-rw- 1 shell shell 161 2022-10-04 18:37 MANIFEST.MF
Cheers
Tom
 
  • Like
Reactions: badabing2003

badabing2003

Recognized Contributor
Sep 17, 2012
1,366
1,561
Honestly i am so confused.
I used PF 3.7 again, Magisk root worked with the onscreen instructions.
So, mobile is rooted again. It's not like there will brick.
Below the output from above command

Cheers
Tom
Interesting, unzipping has unzipped some parts not not all.
Can you run this command please, let's see if unzipping is giving out any errors
Code:
adb shell cd /data/local/tmp; /data/local/tmp/busybox unzip /data/local/tmp/pf.zip

And then grab the pf.zip so that I can inspect it, in case there is anything different in yours.
Code:
adb pull /data/local/tmp/pf.zip

And no, reflashing or executing the above commands should not brick or impact your phone in any which way.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Maybe I still have a chance because even though adb devices does not return any devices, I can fastboot reboot the device from terminal. So I can probably flash some image, but I don't want to try anything randomly right now so waiting to see if anybody has ideas. Now I wish I could cross-post this with the pixel 7 thread.
    Good news. I used Android Flash Tool to flash TD1A.221105.001 (9104446). Lost all my configurations, but phone is working again. Though I still get the "your device is corrupt" message, but now it works when you press continue and I can boot into the phone. So now I repeated all the manual command executions. And now it worked fine, and I have root.

    God I wish I wasn't so stupid yesterday and flashed the boot.img. Is there a way to get rid of the "your device is corrupt" message?!#@!
    1
    @awesomeo3000
    Something is not right on your Mac.
    Looking at the terminal output you sent, I see lots of wrong things there.
    But don't fret, this can be solved / fixed, you don't want to go through this every month.
    Reach out to me privately pass me your username and device id, so that I give you precise commands to execute.
    Probably best when we're both are online at the same time.
    Tell me about your availability / timezone.
    Once I do, I would need execution of one command and one command only (no multiple tries of different variations), based on the output of that, I will give you the next command.
    Troubleshooting 101 :)

    I have to ask you, you said you had to wipe your device or at least it ended up wiped.
    Is wiping still an available option to you? or you rather not?
    There are different ways to approach this, and if wiping is an option, we'll take the easy route of clean start.
    1
    Hi all!

    I would like to root my Pixel 6 but I've been out from the modding scene since 2017 and everything is different now! My Pixel 6 is bootloader-locked, stock Android 13 manual installed when it came out via adb (didn't want to wait for the ota).

    I'm having difficult times understanding if I can root directly with this tool and also the slots thing, does it apply to my case too?

    Thanks in advance!
    I encourage everyone to read up on the guides, learn the what it takes to mod manually before jumping into using automated tools that do it for you.
    Granted the learning curve at first could be steep, but the benefits are enormous, if anything goes wrong or not according to the plans, you would know how to recover.

    If you still want to use PF without investing in learning the manual way,
    The Basic Usage steps on the Main page page or the Github page is what you need to follow.
    However considering that you're bootloader is locked, you need to unlock it first, PF has a button to do it, but it is not part of the automated process, as one would probably do this once.
    Furthermore to be able to unlock the bootloader, you need to enable developer mode, turn on OEM unlock and ADB Debugging ...
    Details of all of these are mentioned in the Guide threads, there are few great such guides links in the Help menu of PF, and you probably could find other good guides as well.

    Speaking of slots, it applies to your device, Pixel 6 has two slots, but you don't have to worry about it, the only recommendation I would make is flash to inactive slot, this way if anything goes wrong, you can still go back to the previous slot, and if everything goes well, the inactive becomes the current active and you're good,
    You repeat that on next month's release, this way you always have something to fallback to.

    Good luck and don't shy away to ask questions if anything is unclear.
    1
    I think I will follow the part about unlocking bootloader and then use your tool to root. Is this fine?
    Yes this is fine

    I still don't understand the part about slots, when should I enable "flash to inactive slot"? When I flash the boot.img or the patched_boot.img?
    Typically with PF, you don't flash the boot.img, you flash the patched_boot.img, PF automates the process for you so that with one flash you're updated and patched.

    The basic flow is as follows
    - you download a firmware, and select it in PF, no need to unpack the zip or extract files from it, just point to it, PF does the rest.
    - you process the firmware (just press the button) which extracts and shows the the boot.img
    - you select the boot and press the patch button
    - you select your flash options (this is when you choose flash to inactive slot, and keep data)
    - you flash
    1
    Did everything and all went like a charm! So easy and straightforward!

    I still have a question about monthly updates: Which updates I'm allowed to do directly on phone and which need to be done via PF to preserve root?

    Thanks again for your help!
    I wouldn't do anything on the phone,
    Much easier / quicker / reliable to do on PF,
    Repeat the process as you did now.
  • 16
    PF_promo-banner.png

    This is the support thread of PixelFlasher for Google Pixel 6
    PixelFlasher is an open-source self contained GUI tool to facilitate Pixel phone device flashing/updating with extra features.


    Basic mode: Should suit most users. Some of the features in basic mode are:
    • Simple UI interface, click and go. No more command line, no more placing all files in one directory.
    • boot.img management UI, select the boot.img file to patch and click the patch button. Fully Automated patching with Magisk (without user interaction) and perform upgrades without losing root.
      No more manually extracting files transferring to the phone, patching / re-flashing and doing multiple reboots.
      No more setting airplane mode and clearing storage to retain Safetynet passing.
    • Display details of boot.img.
      • SHA1 checksum.
      • Origin (file it was extracted from).
      • Whether it is patched or not, and if it is patched.
        • What version of Magisk was used to patch it.
        • On what device it was patched.
        • Date of patching.
        • The SHA1 of the source boot.img file.
      • Option to Live boot from a choice of boot.img.
    • Choose to keep data or wipe data while flashing.
    • Ability to flash even if multiple devices are connected to the computer.
    • Display information about the phone.
      • ID
      • Hardware model.
      • Current installed firmware (build).
      • If it is rooted with Magisk.
      • Magisk version (Magisk Tools).
      • Magisk Manager version (the app).
      • List installed Magisk modules.
      • Connection mode (Adb | Fastboot | Sideload | Recovery).
      • Bootloader version.
      • Android OS API version.
      • Convenient quick links to download Android platform tools or device firmware.
    • Magisk Manager installation UI, screenshot. Supported versions:
      • stable
      • beta
      • canary
      • debug
    • Magisk modules management, enable / disable modules selectively, this comes in handy to disable suspect modules before an upgrade screenshot:
      • Name
      • Version
      • Description
      • Enabled / Disabled.
    • Display Android Platform Tools (SDK) version and warn / block if the version is old.
    • Install APK file from the computer onto the device.
    • Advanced features are hidden to keep the interface simple and easy to follow.
    • A lot of checks and validations for smooth operation.
    • Automatic check for program updates.
    Expert mode: (should only be turned on by experienced users). In addition to the basic features, you get:
    • The ability to flash custom ROM (with or without patching boot.img)
    • Option to flash to both slots.
    • Option to flash to inactive slot.
    • Options to disable verity and or verification.
    • Ability to change the active slot.
    • Ability to live boot to custom boot.img (temporary root).
    • Ability to boot to recovery.
    • Ability to flash custom image: boot, recovery, radio, kernel, ...
    • Ability to sideload an image.
    • Lock / Unlock bootloader.
    • Option to gain temporary root (good for testing or checking things out).
    • SOS Disable Magisk modules to get out of bootloop (experimental).

    For full details on where to download / usage and feature set of the tool, visit the main thread at XDA or the project's Github page.

    Troubleshooting:
    • See this post.
    • Generate Sanitized support.zip file (File Menu) and submit that with your report.
    Note: This thread is meant for issues and problems faced in Google Pixel 6 devices, generic issues that are device agnostic should be discussed in the main thread.
    5
    Thank you for the consideration.
    No donation, this is simply giving back to the community that has given me a lot over the years.
    5
    Update:
    Version 2.0.1 which includes a hotfix for issue reported here.
    5
    New Release:
    April 17, 2022 v2.3.0 release
    • Optional automatic check for updates feature.
    • Added help menu links to:
      - Report an issue
      - Feature Request
      - PixelFlasher Project Page
      - PixelFlasher Community (Forum)
      - Homeboy76's Guide
      - V0latyle's Guide
      - Open Configuration Folder
      - Check for New Version
    • Icons for menu items.
    • Link to download Pixel Firmware.
    • Link to download Android Platform Tools.
    • Unlock Bootloader.
    • Lock Bootloader.
    • SOS (experimental) - disable Magisk modules to get out of bootloop.
    • Additional flashing options:
      - product
      - system
      - system_ext
      - system_other
      - vbmeta_system
      - vbmeta_vendor
    • Added sideload flashing option.
    • Updated documentation.
    • Further improved console messages for troubleshooting.
    • Linux build using Github Actions.
    • Manual build for Kali Linux.
    5
    PixelFlasher 4.0.0 pre-release:
    Sep 25, 2022 v4.0.0 pre-release
    • New Feature: On supported devices, where device is not yet rooted (or adb shell su not allowed), an option to control the Magisk Manager GUI (drive UI) to programmatically control the app through UIAutomator and create a patched boot.img
      See Patching flow chart for details.
    • New Feature: Detect if Magisk Manager is at a higher version than installed Magisk, warn the user of a potential rare corner case and offer a choice of patching method.
    • New Feature: Temporary Root, when flashing if you choose this option, the phone will be flashed with unpatched boot.img, but Live boot to patched boot.img to provide a temporary root.
    • New Feature: Warn the user to flash both bootloader slots if their device is a Tensor device (Pixel 6, Pixel 6a, Pixel 6 Pro), if current version of OS is lower than Android 13.
    • New Feature: Flash to inactive slot. Unlike OTA flashing factory image flashing is always done on the current active slot, with this option selected, PixelFlasher will write to inactive slot. This allows one to revert to current working state in case anything goes wrong. This feature combined with Temporary Flash provides best method to test a new firmware without risking losing current working setup.
      Note: You should avoid this option if you are on a Tensor device and are upgrading from Android 12 to Android 13 (see the previous feature).
    • New Feature: Detect and operate on devices that are in Sideload or Recovery mode.
    • New spinner to indicate PixelFlasher activity.
    • Renamed Reload button to Scan, to better reflect the button's function. After a scan print the count of devices found.
    • PixelFlasher previously used MD5 to uniquely identify boot images (patched or otherwise), with version 4.0.0 PixelFlasher now uses SHA1 instead of MD5.
      This has no bearing on the functionality, it just better aligns with Magisk way of identifying and tagging boot images.
    • PixelFlasher now extracts the embedded SHA1 of a Magisk Patched images (only available in newer devices) and assures that it matches the source boot.img's SHA1.
      This is just an extra validation.
    • Code cleanup / refactoring, adding more validations and exception handling.
    • Print debug details when encountering non compliant Magisk modules.
    • Firmware link now takes you to the device's download page instead of just the general download page.
    • To better reflect the file details, transferred and stored boot.img files are now suffixed by their shortened SHA1, while magisk_patched.img files are now suffixed by shortened SHA1 of their source boot.img.
    • Allow sideload even if bootloader is locked.