yashsingh1/xdaforums huggingface dataset:
[Google Pixel 6] awesomeo3000:
Awesome tool! Was excited to learn that something like this exists!

I previously had root, but took the factory OTA to upgrade from 12 to 13, and lost root. So now trying to get it back. Directions seemed straight forward. I downloaded the "13.0.0 (TP1A.220905.004.A1, Sep 2022, Verizon, Verizon MVNOs)" OTA. Made the selections as below. Patched the OTA in magisk. Hit "Flash Pixel Phone". The phone seems to be doing stuff. It finishes on a screen that says "fastbootd". I then manually select "reboot system now". At this point, PixelFlasher is frozen and I have to force close it. When I reboot the phone, it does indicate that the correct version is loaded, but I do not have root. I check for root by doing SU in termux. And also in magisk, the superuser icon is grayed out. If I do it the old way of just using adb to fastboot flash a magisk-patch boot.img, it works perfectly fine. What am I doing wrong with the Flasher?

Screen shot and log are attached:

PixelFlasher 3.7.0.0 started on 2022-09-17 22:17:26

First Run: No previous configuration file is found.

System Default Encoding: utf-8

File System Encoding: utf-8

Looking for Android Platform Tools in system PATH environment ...

Android Platform Tools is not found.

2022-09-17 22:17:26 ERROR: Android Platform Tools version is not available or is too old.

For your protection, disabling device selection.

Please select valid Android SDK.

Loading Device list ...

This could take a while, please be patient.

2022-09-17 22:17:26 ERROR: adb command is not found!

2022-09-17 22:17:26 ERROR: fastboot command is not found!

2022-09-17 22:17:26 No Device is selected!

Load time: 1 seconds

2022-09-17 22:18:17 Selected Platform Tools Path:

/Users/yuriy/Downloads/platform-tools_3.

SDK Version: 33.0.3-8952118

2022-09-17 22:18:19 Reloading Device List ...

Selected Device on 2022-09-17 22:18:19:

Device ID: 1A061FDF600CRZ

Device Model: oriole

Device is Rooted: False

Device Build: TP1A.220905.004.A1

Device Active Slot: b

Device Bootloader Version: slider-1.2-8739948

Device Mode: adb

2022-09-17 22:18:25 The following firmware is selected:

oriole-tp1a.220905.004.a1-factory-8b8585b2.zip

Please select a boot.img!

Selected Patched Boot: 14882377e5596c1063f5eff87647c08a from image: /Users/yuriy/Downloads/oriole-tp1a.220905.004.a1-factory-8b8585b2.zip

Flash mode changed to: keepData

View attachment 5714003
[Google Pixel 6] tom1807:
Umm, 2 things which bother me.

Why you take the Verizon image and not the global one?

Second, why use an OTA?

The recommended way is, use the factory image to flash with Pixel Flasher

Edit: According to ur screenshot, you device was not rooted before

Cheers
[Google Pixel 6] badabing2003:
@awesomeo3000

Please provide support.zip (PixelFlasher Menu | Help)

That would allow me to analyze what might have gone wrong.

I suspect fastboot drivers, but have to check to be certain.
[Google Pixel 6] miss:
no tengo sharedUID SHELL
[Google Pixel 6] badabing2003:
No not it the settings, at the bottom, hit the Superuser icon next to the Home icon (the second from the left)
[Google Pixel 6] miss:
what a donkey I am

thanks, got it
[Google Pixel 6] badabing2003:
no need to kick yourself,

We all have moments like that.

I know I do.
[Google Pixel 6] manjaroid:
I've been curious about PixelFlasher for a while and finally tried it. Stumbled a couple times but error messages were great at coaching. This is an awesome tool. Excellent docs too.
[Google Pixel 6] badabing2003:
Thanks for the feedback,

I'm all ears, what could be done better or differently to minimize the stumbling blocks?

If they're feasible I'll definitely consider it.
[Google Pixel 6] manjaroid:
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.
[Google Pixel 6] badabing2003:
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.
[Google Pixel 6] badabing2003:
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.
[Google Pixel 6] Jaitsu:
Great work on this, seriously, this made getting my Pixel 6 updated and rooted a breeze and these updates sound like they make the process even better, faster, and easier. :D
[Google Pixel 6] tom1807:
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:

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:

So far so good but then

Restarted and then the following issues:

Attached the sanitized log files

Cheers

Tom
[Google Pixel 6] badabing2003:
@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
[Google Pixel 6] tom1807:
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.
[Google Pixel 6] badabing2003:
Thanks, that is fixed.

Re: This Error

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.

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.
[Google Pixel 6] badabing2003:
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.
[Google Pixel 6] tom1807:
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
[Google Pixel 6] badabing2003:
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

View attachment 5726387

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.

View attachment 5726403

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.
[Google Pixel 6] tom1807:
Got it, thanks. For now I updated again with v3.7 and all went well.

Cheers

Tom
[Google Pixel 6] badabing2003:
@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.
[Google Pixel 6] badabing2003:
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
[Google Pixel 6] badabing2003:
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.
[Google Pixel 6] tom1807:
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

Cheers

Tom
[Google Pixel 6] tom1807:
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:

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
[Google Pixel 6] badabing2003:
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

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.

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.

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

adb shell ls -alR /data/local/tmp
[Google Pixel 6] tom1807:
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
[Google Pixel 6] badabing2003:
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

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.

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.
[Google Pixel 6] tom1807:
I am aware that these commands won't brick anything, it was more like hint for "happy to help".

Below the output of the command "adb shell cd /data/local/tmp; /data/local/tmp/busybox unzip /data/local/tmp/pf.zip"

pf.zip attached

Cheers

Tom
[Google Pixel 6] badabing2003:
Thanks,

I see what is happening,

When you hide Magisk Manager, it gets replaced with just a stub, which does not include the assets required to create a patch file.

Later I'll make changes to PF to only attempt to use the root Magisk to create a patch when Magisk is hidden.

And I'll probably revive Manual and UIAutomator choices.

Thanks for helping out with the troubleshooting.
[Google Pixel 6] badabing2003:
Update Release:

Oct 04, 2022 v4.1.2 release

include busybox binaries for different Android architectures (arm64-v8a, armeabi-v7a, x86_64, x86)

don't use hidden Magisk for patching, as it is a stub only.
[Google Pixel 6] tom1807:
So basically, before using 4.1.2 first unhide Magisk before continue?

Cheers

Tom
[Google Pixel 6] badabing2003:
or instead of going through that trouble, click ok to continue using Root for patching.
[Google Pixel 6] badabing2003:
Update Release:

Oct 05, 2022 v4.1.3 release

Bug Fix: Extract Magisk Manager version properly.
[Google Pixel 6] badabing2003:
Update Release:

Oct 05, 2022 v4.1.4 release

Rooted Magisk patching will now automatically back up stock-boot.img (more to come).

Bug Fix #27, handle version exception.
[Google Pixel 6] awesomeo3000:
I haven't been able to open PixelFlasher since then. When I open it, it just freezes on loading, and never opens. Running MacOS 12.2. Will try to re-install PixelFlasher and run the Android install to the phone again.

When I use PixelFlasher to install updates, will it keep the root on my phone, along with other things like custom propsconf settings? Or will I need to redo those after every update?
[Google Pixel 6] badabing2003:
In your initial report here you reported a problem with flashing, but you did not include logs from the flashing part

That is why I asked for support.zip

You also didn't have an issue launching PixelFlasher.

What changed? Why can't you launch it anymore?

When flashing has gone ok, the phone should boot to system, the fact that you had to reboot to system yourself suggests that the flashing process did not complete.

If you follow the Basic mode guide, and Keep data with selected patched image, you will retain root

As for retaining build.props, I don't know, I suspect not, that is part of System which is updated.

You can also grab the log files from

~/Library/Application Support/PixelFlasher/logs

But they won't be sanitized.
[Google Pixel 6] pdaemon:
Hi,

I'm running Linux Mint 21 and previously Pixel Flasher was working...now it loaded, but when I click on Browse for example it crashes and comes up with the following errors in the console:

xxxxxx@pluto:/mnt/Datastore/Media/Android ROMS$ ./PixelFlasher-Linux

Loading configuration File ...

(PixelFlasher-Linux:1355406): Gtk-WARNING **: 08:42:17.220: Could not load a pixbuf from icon theme.

This may indicate that pixbuf loaders or the mime database could not be found.

**

Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Mint-Y/actions/16/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5)

Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Mint-Y/actions/16/image-missing.svg: Unable to load image-loading module: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: pango_attr_overline_new (gdk-pixbuf-error-quark, 5)

Aborted (core dumped)

I'm running the latest version of Pixel Flasher. I tried creating the sanitized log, but it crashes when I try and do that. All other applications on my systems are running OK.

Thanks!

Regards

pdaemon
[Google Pixel 6] badabing2003:
Can you please try running the Kali version?

Lots of people have better success with Kali build.

I know this thing is supposed to be cross platform, WxPython is pita to get it to build.

Of course you can always try building it yourself.

Let me know how it goes.
[Google Pixel 6] pdaemon:
Ok, let me give that a go. Thanks
[Google Pixel 6] pdaemon:
Hi,

That is working!

Thanks alot....just wondering...what's the difference? Are you able to incorporate the changes, so that the Linux version works?

Cheers pdaemon
[Google Pixel 6] badabing2003:
Like I said building these are a major Pita.

There is no difference between the two in terms of functionality, it's the WxPython module that runs into issues with GTK.

If Kali build works, just use that, no one yet have reported issues with it.

I might drop building the Ubuntu one and just rename the Kali build Linux :)
[Google Pixel 6] pdaemon:
Ok, thanks, that sounds good!

I appreciate you getting back to me so quickly!
[Google Pixel 6] badabing2003:
Pre-Release:

Oct 13, 2022 v4.2.0 pre-release

Support for Pixel 7, 7p (init_boot extraction and patching / flashing).

Added Pixel 7 / 7p partitions flashing options to custom flash.

Improved patching process using boot_patch, add more patch file validations.

Check for Magisk backup and trigger Magisk to backup if missing.

Add more logging messages for troubleshooting.

Code optimization / improvements.

Bug Fix #28 Error when opening download link without a device selected.

Added set_version script to easily set the product version.

Print path of the selected boot to console, for easy copy / paste.
[Google Pixel 6] badabing2003:
New Release:

Oct 15, 2022 v4.3.0 release

New: You can now download and install alpha and delta Magisk versions in addition to the official stable, beta, canary and debug versions.

Bug fix: Generating support.zip file was modifying the main db file unnecessarily.

Bug fix: When patching with Magisk Manager the version of Magisk Manager was not being displayed in the boot images table.

Bug fix: MacOS downloaded Magisk had space in the file path, which was causing failed installation.
[Google Pixel 6] badabing2003:
Oct 16, 2022 v4.3.0.1 release

Bug fix: #30 Error during firmware processing file extraction phase.

PixelFlasher-Linux is now labeled PixelFlasher-Ubuntu (It is built on Ubuntu which is not compatible with all Linux flavors. Even though PixelFlasher-Kali is more compatible, it is still not a one size fits all solution.)