[Android General] PapaBrickolini:
Update: Originally posted here, but was recommended to create a separate post. This is the post I'll be updating with any changes from now on.

I’ve successfully flashed my Palm PVG100 model (not PVG100E model) using QFIL, so I’ve written a guide below. Using this method I was able to install LineageOS 16, TWRP recovery, and root the phone, without the use of SUGAR QCT. Sorry if it seems long, but I had to grab info and files from a bunch of different places, and I wanted to spare anyone else the trouble.

As a side note, due to some screwups I made, my phone *seemed* essentially bricked. It basically wouldn't respond to anything. However, I still could get into EDL mode using an EDL cable or the manual teardown method linked in the steps below. If anyone else is in that same situation and also feels unable to fix it due to SUGAR QCT no longer working, I hope you can use these steps to get your phone working again!

Below are the prerequisite things that worked for me:

Prerequisites

QFIL Standalone (Not QPST-bundled version) v1.0.0.2

If this version does not work for you, keep downloading and trying other versions from that same site.

Qualcomm USB QDLoader Drivers

I’m not sure which driver ultimately worked for me. I’m sure it was one of the two below, and definitely an x64 variant that I installed.

https://androidfilehost.com/?fid=11410963190603857508

https://qdloader9008.com/

Pepito_firehose.elf (Firehose/Programmer file)

snoopy20's Palm TWRP recovery image

LineageOS image

I've linked to the image I used, which is "lineage-16.0-20191017-UNOFFICIAL-treble_arm64_avN.img.xz". It's one of the first I saw recommended on XDA for Palm flashing, and the one I've used since. I still use it because I know most (if not all?) of the Palm's hardware is compatible with it. That said, if there are other builds/OSes with better compatiblity/battery life/anything really, let me know!

Palm Firmware

I used the "Firmware for PVG100 Verizon US, Build numer 1AML-0" linked above

Phone to PC USB Cable

EDL cable (possibly optional). I bought this one from Amazon. It was cheap and well-reviewed, but it doesn’t seem super durable. It will likely last for as long as it’s needed. If you’re still able to boot your Palm into recovery mode, though, you can still get to EDL mode that way without needing an EDL cable.

If you’re not able to boot to recovery and don’t want to buy an EDL cable, there is a method of opening up the phone and bridging two pin connectors to force the phone to boot into EDL mode. I had to do this at one point and it worked. Link here (might need translated).

ADB Tools

Minimal ADB and Fastboot package

Platform Tools ADB package

Disable_Dm-Verity_ForceEncrypt_03.04.2020.zip

(Optional) My patch0 file

Sidenote: I'm running Windows 11 Home (x64) - Version: 23H2, OS build: 22631.3737. I'm unsure if Windows version is a factor, but that is what I was using.

Steps

Install USB drivers and reboot PC

The 1AML-0 firmware archive linked above contains the folder "dump-pvg100-verizon-1AML". Extract that folder to the root of your C:\ (or other) drive, and rename it to 'firmware'. The final folder path to the files should be "C:\firmware". (You can probably name the folder anything, but the goal is to have a short, simple folder path so as not to risk QFIL having issues.)

Place Pepito_firehose.elf file into C:\firmware and change file extension from "elf" to "mbn".

Copy snoopy20's Palm TWRP image into "C:\firmware" and rename as ‘recovery.bin’, replacing old ‘recovery.bin’ file

Crucially, the only file replacement I was able to make in C:\firmware at this stage was replacing the stock recovery image (“recovery.bin”), with the Palm TWRP image supplied by Snoopy. I tried multiple times to replace the stock system image (“system.bin”) with a LineageOS image at this stage, and QFIL consistently failed to flash. Perhaps it was a file size discrepancy. You're free to try replacing the system.bin image at this step. In any case, the flashing of the LineageOS image will be done later, manually, using TWRP and adb.

Launch QFIL (run as Administrator)

In QFIL, choose the files in the correct fields.

In the Programmer field, navigate to and select ‘pepito_firehose.mbn’ (aka the renamed ‘pepito_firehose.elf’ file)

Next to the RawProgram and Patch0 field, click the LOAD XML button

First select the "rawprogram0.xml" file in C:\firmware, then select the "patch0.xml" file

If you don't already have a patch0 file in the firmware folder, I've uploaded the one I used here. It worked for me for the PVG100 firmware (non-EU version), so I'm not sure if it would work for flashing the PVG100E model. According to tgraneberg's guide, at the step where they were asked to select patch0 file, they pressed cancel and firmware flash proceeded normally. YMMV!

QFIL is now prepped and ready to flash the phone once it enters EDL mode

Using either an EDL cable, or through recovery, enter EDL mode on the Palm phone. You can use it to boot into EDL mode, or just use recovery if you have access to it at the time, using the terminal command.

If you currently have TWRP recovery, you can enter EDL mode by going to TWRP Main Menu > Advanced > Terminal, and typing and entering 'reboot edl'

Once the phone is connected and enters EDL mode, the “No port available” text in QFIL should change and register what COM port the phone is connected on.

If it doesn't automatically choose it, click "Select Port" and choose it from the list

At this point, press the DOWNLOAD button in QFIL to begin the flash.

I believe I’ve read that EDL mode will timeout in ~30 seconds if no action is taken, so it’s important to setup QFIL with the correct files beforehand, THEN enter EDL mode on the phone. If you take too long and EDL mode times out on the phone, you’ll have to reboot the phone and re-enter EDL mode. Likewise, if QFIL fails for any reason and the flash doesn’t complete, you’ll have to reboot the phone and re-enter EDL mode to try again, as EDL seems to only accept one flash attempt before not allowing any more.

After QFIL completes and the phone begins to reboot, immediately start holding down the power button. This will make the phone reboot repeatedly. At about the 3rd-4th reboot, 'Entering Recovery Mode' should appear in the upper left corner. If you don't boot into recovery/TWRP first thing after the flash, the stock system image will replace TWRP with the stock recovery image.

In TWRP, go to Wipe > Format Data. It will ask you to type ‘yes’ to confirm. Type in yes, then swipe to proceed with the format.

Reboot again to recovery (TWRP Main Menu > Reboot > Recovery). At this point you should be able to mount the SYSTEM and DATA partitions (by going to TWRP Main Menu > Mount and checking to see.

With the phone attached, load up adb, and transfer over the LineageOS image to "/sdcard/" Manually flash it using the following commands (credit here):

adb push your_gsi.img /sdcard/
adb shell /sbin/simg2img /sdcard/your_gsi.img /dev/block/mmcblk0p27

Strangely, only the minimal-adb-and-fastboot package worked for me on this step, not the official platform-tools packaged adb. YMMV.

Format data again (TWRP Main Menu > Wipe > Format Data > type "yes" and swipe)

I also did the basic wipe of Data, cache, and delvk (just going to Wipe screen, sliding to wipe), but unsure if required?

Install "Disable_Dm-Verity_ForceEncrypt_03.04.2020.zip" in TWRP. You should be able to plug in the phone and have its internal storage mounted in Windows at this point. If not, you can adb push the dm-verity zip to /sdcard/

NOTE: In my past experience flashing this dm-verity zip this had led to bootloops, so after doing this I’ve had to go through the process of manually patching the boot image in magisk on another device, transferring it back, and installing through TWRP to boot partition. Though when I went through the process in preparing this guide, it flashed and worked perfectly.

At this point, it may take wiping/formatting data partition again, or repairing/resizing system partition, but LineageOS should eventually be able to boot fine.

If at this point you get the screen saying "Your device is corrupt. It can't be trusted." with the red text link "g.co/abh" on every boot, reboot in adb with the following command (credit here):

adb reboot "dm-verity enforcing"

This is what worked for me, and I've compiled everything as best I can. I'm not really equipped to offer much support on this, since frankly it's all cobbled together from others who've written previous guides. But if you have anything to add or suggest to make it easier for others I'm happy to update it. Hope it's helpful!

Question: Does anyone know how to create a full backup (including storage data and all) in TWRP? I think that would require disabling encryption in LineageOS, which is explained here and did work for me. After following those steps I was able to mount the Data partition in TWRP with LineageOS installed, and make what I thought was a complete backup. When I tried to restore it, though, the phone would hang during LineageOS's bootup. Not sure what went wrong, but I'd *love* to get a backup solution where I know I could restore everything straight from TWRP if I needed to. For reference, I have tried some methods to patch internal storage backup into TWRP: tipatch and TWRP Helper magisk module namely. Both those broke TWRP on my palm, and I had to flash it back (that command is "dd if=*RECOVERY IMAGE* of=/dev/block/mmcblk0p26" in Termux, btw). Another method I found was to rename media folder, described here. I've not tried it though, as it seems messy and prone to user error.