[Release] Palm Debloat & Fixes Script [2020-03-11]

snoopy20

Senior Member
Jul 21, 2008
390
50
0
It's safe to run this if you've already cleared parts out. It's ideal for right after you've rooted.

You will be left with a very clean Palm phone. If you use Fdroid, love open-source, and loath Google then this is for you!

Everything works well. There is one issue with the dialer where you scroll to the top with the scrollbar and it crashes. Instead of using the scrollbar just swipe on the names to scroll.

# Objectives:
1. remove all bloatware, including Google
2. Fix incorrect APN settings
3. Remove traces of Verizon
4. Battery life enhancement
5. Suppress adb debugging warning

# TODO
1. Make the script ask whether Google apps are to be removed, and differentiate.

# Pre-requisites:
1. device is rooted!

# Usage
Run ./exec.sh in a terminal and follow the instructions.
 

Attachments

Last edited:

tmrodden

Member
Aug 23, 2017
9
1
3
Thanks for releasing this. Do you have any data on performance or battery life increases after making all of these changes? Also, since this script seems to remove Google services, would I be able to do a factory reset of the device to restore Google services?
 

snoopy20

Senior Member
Jul 21, 2008
390
50
0
All Google crap is removed. You can modify the script to exclude those removals if you want (please share your changes and I'll include for others).

All changes are to /system and /vendor, so considered permanent.

If you do a factory reset chances are it won't boot and you'll need to re-root again. Best avoid.

Battery life difference is significant, as is to be expected by removing so much junk, specifically services.
 
Last edited:

snoopy20

Senior Member
Jul 21, 2008
390
50
0
One issue, it somehow removed the clock app. I'll have to remove that from the list when I find out which one it is. For now you can install it again via "Clock" on apkpure.com
 

snoopy20

Senior Member
Jul 21, 2008
390
50
0
I've found /vendor/bin/mmid is writing to logcat and responsible for a lot of wakeups. Prevented it from respawning with chmod 000. No negative effect so far so will add it to the next script revision.

Also by killing that I now get new battery information in logcat and a lot less logcat messages. I believe that process was responsible for killing something related to power details as I kept getting process startup details. I now get a lot less messages and also proper battery stats in logcat -

02-18 14:01:38.354 1223 2332 D BatteryService: Processing new values: chargerAcOnline=false, chargerUsbOnline=true, chargerWirelessOnline=false, maxChargingCurrent500000, maxChargingVoltage5000000, batteryStatus=2, batteryHealth=2, batteryPresent=true, batteryLevel=97, batteryTechnology=Li-ion, batteryVoltage=4397, batteryChargeCounter=715903, batteryFullCharge=796000, batteryTemperature=240, mBatteryLevelCritical=false, mPlugType=2
 
  • Like
Reactions: g60madman

grimez

Senior Member
Apr 28, 2010
169
19
0
Really appreciate your work on this. I edited the palm.sh file to the following to try to keep all the extra Google stuff intact:

#!/usr/bin/env sh
mount -o rw,remount /system
mount -o rw,remount /vendor
## OBJECTIVE: 1 ##
echo "Removing user installs..."
pm uninstall -k --user 0 'com.verizon.cloudsetupwizard'
pm uninstall -k --user 0 'com.verizon.mips.services'
pm uninstall -k --user 0 'com.vzw.hss.myverizon'
pm uninstall -k --user 0 'com.jrd.verizonuriintentservice'
pm uninstall -k --user 0 'com.verizon.messaging.vzmsgs'
pm uninstall -k --user 0 'com.verizon.llkagent'
pm uninstall -k --user 0 'com.vzw.apnlib'
pm uninstall -k --user 0 'com.tcl.vzwintents'
pm uninstall -k --user 0 'com.tct.vzwwifioffload'
pm uninstall -k --user 0 'com.vzw.ecid'
pm uninstall -k --user 0 'com.vzw.easvalidation'
pm uninstall -k --user 0 'com.customermobile.preload.vzw'
pm uninstall -k --user 0 'com.vcast.mediamanager'
echo "Removing system bloatware..."
cd /system/app
## WARN: no remove (will brick): GoogleExtShared SecureExtAuthService
rm -rf VerizonUrintentService verizon-wifi-offload vzwintents
cd /system/priv-app
rm -rf VerizonNameID com.customermobile.preload.vzw VZWAPNLib verizon-llk-agent
cd /vendor/app
rm -rf VzwDMClient
cd /vendor/priv-app
rm -rf MVM_vzw_app-release-phone-13.1.1-278.apk VZMessages-mobile-6.7.12-94-market-release-signed.apk Verizon_LocationAgent_vzw_v0.0.3.120_Production_NoDebug_release_signed.apk

In case anyone else wanted to try out a different version.
 

phoneyDev

New member
Sep 21, 2018
2
4
13
I've found /vendor/bin/mmid is writing to logcat and responsible for a lot of wakeups. Prevented it from respawning with chmod 000. No negative effect so far so will add it to the next script revision.
Don't use "chmod 000" on mmid. If you do, you can see in the kernel log (via "dmesg") that the phone is constantly trying to restart the mmid service:
Code:
init: starting service 'mmid'..
init: cannot execve('/vendor/bin/mmid'): Permission denied
...
init: starting service 'mmid'..
init: cannot execve('/vendor/bin/mmid'): Permission denied
...
init: starting service 'mmid'..
init: cannot execve('/vendor/bin/mmid'): Permission denied
But if you remove or rename mmid (mv /vendor/bin/mmid /vendor/bin/mmid.bak), init gives up and doesn't try to restart the mmid service:
Code:
[10081.043211] init: cannot find '/vendor/bin/mmid', disabling 'mmid': No such file or directory


---------- Post added at 08:41 PM ---------- Previous post was at 08:09 PM ----------

#TODO (please assist if you can!)
1. Verizon boot animation.
To get rid of the Verizon boot animation, you can just rename/remove the bootanimation.zip file.

Code:
mount -o rw,remount /vendor
mv /vendor/JRD_custres/media/bootanimation.zip /vendor/JRD_custres/media/bootanimation.zip.bak
This will give you a default pulsing "android" boot animation instead of the Verizon boot animation.

Alternatively, you can use the below "PALM" boot animation that I put together. I don't know what boot animation the non-Verizon phone uses, but it's probably similar to this.
drive [dot] google.com/file/d/114Q9BUSrkjjIt9fPT4B-s3VH0ExGClDi/view

Code:
adb push bootanimation.zip /data/local/tmp/
adb shell
su
mount -o rw,remount /vendor
mv /data/local/tmp/bootanimation.zip /vendor/JRD_custres/media/bootanimation.zip
 

snoopy20

Senior Member
Jul 21, 2008
390
50
0
Doubt it, should be fine.

Funny that mmid didn't show in journalctl but does show with dmesg. I'll make the change. I'll remove the boot animation as well. - CHANGES MADE

If you want to modify the script to ask the user whether they want to keep Google crap, I can add that.
 
Last edited:

tmrodden

Member
Aug 23, 2017
9
1
3
I'm just now trying to run this script, but I'm not all that familiar with running terminal scripts and I'm having an issue that I couldn't find the answer to. I'm rooted on the 1AMG software.

I keep getting "Read-only file system" errors, which searching tells me I have some permissions issues. The script says to grant access for Superuser, which I've done. Below is a screenshot of my terminal with the errors. I've received the same errors on Windows 10 and in Linux terminal on Chromebook.

https://imgur.com/a/XTkrHN8

Any help would be appreciated. Thanks!
 

snoopy20

Senior Member
Jul 21, 2008
390
50
0
I'm just now trying to run this script, but I'm not all that familiar with running terminal scripts and I'm having an issue that I couldn't find the answer to. I'm rooted on the 1AMG software.

I keep getting "Read-only file system" errors, which searching tells me I have some permissions issues. The script says to grant access for Superuser, which I've done. Below is a screenshot of my terminal with the errors. I've received the same errors on Windows 10 and in Linux terminal on Chromebook.

https://imgur.com/a/XTkrHN8

Any help would be appreciated. Thanks!
When the SU request came up did you grant or deny?

What happens when you run mount -o rw,remount /system?
 

al07th

Member
Jan 12, 2018
23
4
0
When the SU request came up did you grant or deny?

What happens when you run mount -o rw,remount /system?
I have got the same "not permitted" problem
When I'm trying to mount the /system it says:
Code:
PS C:\adb\palm> adb shell
Pepito:/ $ mount -o rw,remount /system
mount: '/dev/block/platform/soc/7824900.sdhci/by-name/system' not user mountable in fstab
I've tried to execute ANY "palm.sh" commands manually:
Code:
Pepito:/ $ cd /sdcard && su - -c \"sh palm.sh\"
: sh palm.sh: not found
On any other command I'm getting "Read only" reply
 

tmrodden

Member
Aug 23, 2017
9
1
3
When the SU request came up did you grant or deny?

What happens when you run mount -o rw,remount /system?
I granted the SU request, and it shows as enabled within Magisk, just as it does in the screenshot in al07th's post above.

The mount -o rw,remount /system command you suggested gives the following responses when I tried:

https://imgur.com/i0UWfWx

This is all after having completely wiped the phone, restored to the latest stock firmware using Sugar (1AMGGFG0), and going through the whole process again with a fresh root.

Also wanted to mention that any commands involving the "/sdcard" folder usually result in an error. Only adding a second backslash ("/sdcard/") allows them to be accepted.
 
Last edited:

snoopy20

Senior Member
Jul 21, 2008
390
50
0
I granted the SU request, and it shows as enabled within Magisk, just as it does in the screenshot in al07th's post above.

The mount -o rw,remount /system command you suggested gives the following responses when I tried:

https://imgur.com/i0UWfWx

This is all after having completely wiped the phone, restored to the latest stock firmware using Sugar (1AMGGFG0), and going through the whole process again with a fresh root.

Also wanted to mention that any commands involving the "/sdcard" folder usually result in an error. Only adding a second backslash ("/sdcard/") allows them to be accepted.
>> So this fails - adb push push/palm.sh /sdcard
>> But this works? adb push push/palm.sh /sdcard/

Strange!

mount -o rw,remount /system -> you are not running as su, hence the error you have.

In the console enter su bash then run mount -o rw,remount /system and it should work without error.

This is what the cd /sdcard && su - -c "sh palm.sh" command is doing. Assuming everything is pushed already and you've in a su bash shell then you can cd to the /sdcard directory and run the palm.sh directly.
 

snoopy20

Senior Member
Jul 21, 2008
390
50
0
I have got the same "not permitted" problem
When I'm trying to mount the /system it says:
Code:
PS C:\adb\palm> adb shell
Pepito:/ $ mount -o rw,remount /system
mount: '/dev/block/platform/soc/7824900.sdhci/by-name/system' not user mountable in fstab
I've tried to execute ANY "palm.sh" commands manually:
Code:
Pepito:/ $ cd /sdcard && su - -c \"sh palm.sh\"
: sh palm.sh: not found
On any other command I'm getting "Read only" reply
If you don't have the script in the /sdcard directory you haven't run the exec.sh first. This implies you didn't look at the README. ;)
 

al07th

Member
Jan 12, 2018
23
4
0
This implies you didn't look at the README. ;)
No, I DID check your readme. :silly: It has the same description as your topic
When I'm trying to execute "exec.sh", I get this:
Code:
 C:\adb\palm> bash exec.sh
We're about to install some APKs. If you have ones you'd like to install stick them into apks/myapps now.
Ready?y
exec.sh: line 8: adb: command not found
exec.sh: line 11: adb: command not found
exec.sh: line 12: adb: command not found
exec.sh: line 13: adb: command not found
exec.sh: line 16: adb: command not found
That's why I've tried to execute "palm.sh" manually.
--------------------------------------------------

Executing
Code:
su -c mount -o rw,remount /system
su -c mount -o rw,remount /vendor
didn't resolve any problem.

I have manually added "palm.sh" to sdcard and executed it:

Code:
C:\adb\palm\push> adb shell
Pepito:/ $ cd /sdcard
Pepito:/sdcard $ su - -c "sh palm.sh"
Removing user installs...
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Failure [not installed for 0]
Removing system bloatware...
rm: YouTube: Device or resource busy
rm: AutoKillService.apk: Read-only file system
rm: AutoKillService.odex: Read-only file system
rm: AutoKillService.vdex: Read-only file system
rm: Fota.apk: Read-only file system
rm: Fota.odex: Read-only file system
rm: Fota.vdex: Read-only file system
rm: ConfigUpdater.apk: Read-only file system
rm: ConfigUpdater.odex: Read-only file system
rm: ConfigUpdater.vdex: Read-only file system
rm: GoogleBackupTransport.apk: Read-only file system
rm: GoogleBackupTransport.odex: Read-only file system
rm: GoogleBackupTransport.vdex: Read-only file system
rm: GoogleServicesFramework.apk: Read-only file system
rm: GoogleServicesFramework.odex: Read-only file system
rm: GoogleServicesFramework.vdex: Read-only file system
rm: StatementService.apk: Read-only file system
rm: StatementService.odex: Read-only file system
rm: StatementService.vdex: Read-only file system
rm: VerizonNameID.apk: Read-only file system
rm: VerizonNameID.odex: Read-only file system
rm: VerizonNameID.vdex: Read-only file system
rm: GmsCore.apk: Read-only file system
rm: GmsCore.odex: Read-only file system
rm: GmsCore.vdex: Read-only file system
rm: GmsCore.odex: Read-only file system
rm: GmsCore.vdex: Read-only file system
rm: TagGoogle.apk: Read-only file system
rm: TagGoogle.odex: Read-only file system
rm: TagGoogle.vdex: Read-only file system
rm: WiFiActivation.apk: Read-only file system
rm: WiFiActivation.odex: Read-only file system
rm: WiFiActivation.vdex: Read-only file system
rm: com.customermobile.preload.vzw.apk: Read-only file system
rm: com.customermobile.preload.vzw.odex: Read-only file system
rm: com.customermobile.preload.vzw.vdex: Read-only file system
rm: Elabel.apk: Read-only file system
rm: Elabel.odex: Read-only file system
rm: Elabel.vdex: Read-only file system
rm: GoogleFeedback.apk: Read-only file system
rm: GoogleFeedback.odex: Read-only file system
rm: GoogleFeedback.vdex: Read-only file system
rm: GoogleOneTimeInitializer.apk: Read-only file system
rm: GoogleOneTimeInitializer.odex: Read-only file system
rm: GoogleOneTimeInitializer.vdex: Read-only file system
rm: GooglePartnerSetup.apk: Read-only file system
rm: GooglePartnerSetup.odex: Read-only file system
rm: GooglePartnerSetup.vdex: Read-only file system
rm: Phonesky.apk: Read-only file system
rm: Phonesky.odex: Read-only file system
rm: Phonesky.vdex: Read-only file system
rm: SetupWizardOverlay.apk: Read-only file system
rm: SetupWizardOverlay.odex: Read-only file system
rm: SetupWizardOverlay.vdex: Read-only file system
rm: SetupWizard.apk: Read-only file system
rm: SetupWizard.odex: Read-only file system
rm: SetupWizard.vdex: Read-only file system
rm: VZWAPNLib.apk: Read-only file system
rm: VZWAPNLib.odex: Read-only file system
rm: VZWAPNLib.vdex: Read-only file system
rm: VZWAPNLib.odex: Read-only file system
rm: VZWAPNLib.vdex: Read-only file system
rm: Velvet.apk: Read-only file system
rm: Velvet.odex: Read-only file system
rm: Velvet.vdex: Read-only file system
rm: verizon-llk-agent.odex: Read-only file system
rm: verizon-llk-agent.vdex: Read-only file system
rm: verizon-llk-agent.apk: Read-only file system
mv: bad '/data/app/rkr.simplekeyboard.inputmethod-*': No such file or directory
Removing Verizon traces...
Removing Unsold-product-on-shelf battery decay limit...
Removing adb debugging nag
Done! - rebooting.

Still getting 'Read-only file system' even though /system /vendor was mounted with no errors.
--------------------------------------------------
After reboot i got multiple system.android stopped working
'Erase all data (factory reset)' "bricked" the phone on Verizon's welcome screen 'initialization'. Whatever app is needed for the fresh setup - needs to be freezed, not deleted.

To anyone who have executed the script I do not recommend doing 'Erase all data (factory reset)' on your device. Otherwise you'll be forced to flash and root the firmware again (in case you did make a rooted backup).
--------------------------------------------------
 
Last edited:

tmrodden

Member
Aug 23, 2017
9
1
3
>> So this fails - adb push push/palm.sh /sdcard
>> But this works? adb push push/palm.sh /sdcard/
Yes, exactly. Here is a screenshot showing the results of both commands: https://imgur.com/9QqSxwo

mount -o rw,remount /system -> you are not running as su, hence the error you have.

In the console enter su bash then run mount -o rw,remount /system and it should work without error.
Thank you. The su bash command did seem to allow the mount -o rw,remount /system to execute correctly without errors, but the rm commands in the palm.sh script still result in "Read-only file system" errors. You can see in the below screenshot all the commands I entered.

https://imgur.com/ztAjkdc