[Galaxy S 4 i9505 Android Development] hawkerpaul:
FINAL Version: 1.28 (25/03/2015)

(For a full changelog, see the end of Post #2 )

NOTE:

V1.28 is the final version for this suite of scripts.

I have however started a separate KernelWipe thread.

This will become the main thread as far as any KernelWipe updates are concerned.

Following on from my GS2 wipe scripts (see here) I have now also developed these for the (GT-i9505 specifically). They may possibly work for other variants, but I cannot say for certain at this point, as I can only try them out on my own device.

The scripts comprise of a core shell (HawkerCore.sh) which all the bundled preset zips call. Therefore if you update HawkerCore.sh individually, you will, in effect, have updated all the preset zips which call it.

Initial Installation Instructions

1. Copy HawkerCoreV???.zip onto your device

2. Reboot into Recovery

3. Install zip from SD card>Run HawkerCoreV???.zip

You can then run any of the bundled zips by performing point (2.) below.

Script Execution

To flash any of the bundled zips:

1. Reboot into Recovery

2. Install zip>Run /sdcard/HawkerCore/Scripts/[script].zip

3. Reboot

Update Instructions

After the core has been successfully installed, you will then be in a position whereby you can run any of the preset zips. When updates are subsequently released you can of course download and install the entire updated HawkerCoreV??? file again, which updates the core, and re-flashes all the preset zips. This is the safest and most reliable method to update.

Alternatively, if the HawkerCore.sh core shell script is available for download, then you should be able to download just this, and copy it to /sdcard/HawkerCore/Scripts This will then serve all the the zips that were bundled in your initial/previous installation.

If the core shell is not available individually at the root of the download area, then this indicates a full download is required for the current version.

Removal

If you want to remove all traces of my scripts, flash /sdcard/HawkerCore/Scripts/HawkerCoreDel.zip. This will remove all files and folders made by both the installation and execution of any of these scripts from your internal and external sd cards.

Please note that doing so will also remove any backups that the scripts may have previously made.​

Downoad Here

Download Here

HawkerCore

HawkerCore.sh is the central core shell script used by all the bundled preset zips below:

Summary of all Preset CWM/TWRP .zips

I have supplied the following preset zips, which are run through recovery. These get installed into /sdcard/HawkerCore/Scripts. These scripts are not linked to each other in any way, so you can remove any you do not wish to use. Just remember that installing an update to the suite will re-install all the preset zips. You can also of course remove the zip files you do not want before installing using 7Zip.

Click on the zip name to go directly to its associated detailed post.

AlbumArtWipe

Clears known non-embedded album art image files

BloatWipe

Wipes your pre-defined Bloat removal list, defined in /sdcard/HawkerCore/Options/BloatWipe.txt

CacheWipe

Wipes cache, dalvik-cache and fixes permissions in /system areas

DelTemp

Clears known temporary and theme-corrupted files

EFSBackup/EFSRestore

Backup/restore your EFS partition

KernelWipe

Clears old kernel-related files and application cache relating to kernel performance, prior to installing a new kernel.

MediaWipe

Clears media-related databases, libraries, cache and thumbnails

MyBackup/MyRestore

Back up/Restore a list of files/folders contained in /sdcard/HawkerCore/Options/MyKeepFiles.txt

ROMNuke

Performs a deep factory reset and wipe on your device prior to flashing a new ROM. Also clears known android and application related data areas from internal/external SD cards. As this performs a factory reset (wiping your data partition) you will then be required to go through the initial setup process again on first boot.

ROMReset

Performs a deep clean on your device, keeping your current ROM.

ROMReset is identical to ROMNuke, but does not perform a CT_KernelWipe and does not wipe your current ROM (CT_SystemWipe)

SDClean

This clears ROM-related areas from both internal and external SD Cards.

SDClean is handy for when you want to deep-clean your current ROM without having to re-run the initial setup wizard. This will clean application-related areas off your internal+external SD Cards and run media cleaning functions.

SDClean is identical to ROMReset, but does not perform a factory reset. (CT_DataWipe)
​

Currently Supported Devices

1. GS4

GT-I9505

GT-I9595G

SGH-M919

SGH-I337

jflte

jfltexx

2. GS2

GT-I9100

NOTE: The handset id is taken from /system/build.prop ro.build.model If this fails it will attempt to read ro.build.product

Other Devices

All development of these scripts has been on my own S4, which is a GT-I9505. If you have an S4 variant that is not in the supported list above, or even a device other than an S4 or S2 and would like to use these scripts then do the following, and I will see if I can incorporate it into the core. I would of course have to be informed of any areas specific to your device/device's kernels/roms etc that would require incorporating into the scripts.

1. Report your exact device name (case sensitive). You can find this out either by looking in /system/build.prop for ro.product.model, or doing a getprop ro.product.model at a terminal emulator/adb shell.

2. Type the following at a terminal emulator/adb shell # prompt, and post up your result, noting the following important device names:

GS4

ls -al /dev/block/platform/msm_sdcc.1/by-name

lrwxrwxrwx root root 2014-03-20 07:46 cache -> /dev/block/mmcblk0p18

lrwxrwxrwx root root 2014-03-20 07:46 efs -> /dev/block/mmcblk0p10

lrwxrwxrwx root root 2014-03-20 07:46 system -> /dev/block/mmcblk0p16

lrwxrwxrwx root root 2014-03-20 07:46 userdata -> /dev/block/mmcblk0p29

GS2

ls -al /dev/block/platform/dw_mmc/by-name

lrwxrwxrwx root root 2014-03-20 07:46 cache -> /dev/block/mmcblk0p7

lrwxrwxrwx root root 2014-03-20 07:46 efs -> /dev/block/mmcblk0p1

lrwxrwxrwx root root 2014-03-20 07:46 system -> /dev/block/mmcblk0p9

lrwxrwxrwx root root 2014-03-20 07:46 userdata -> /dev/block/mmcblk0p10

(Note: Since v14, the file systems are now mounted by name, which will hopefully broaden the script's compatibility across devices.)
​

Summary

..............cache..dalvik..system..data..intSD..FixPerm..int/extSD

BloatWipe..Y........Y..........y*........y*......y*.......yes......N

CacheWipe.Y........Y.........N.........N.......N.......yes.......N

DelTemp.....Y........Y.........N.........N.......N.......yes.......y

KernelWipe..N........N........N.........N.......N.......yes.......y

MediaWipe..Y........Y........N.........N.......N.......yes.......y

ROMNuke...Y........Y........Y.........Y.......Y*.......N.........y

ROMReset..Y........Y........N.........Y.......Y*.......N.........y

SDClean.....Y........Y........N.........N.......N.......yes.......y

Y=Fully wipe

Y*=Internal SD card (/sdcard) is fully wiped when SDCARD_FULL_WIPE=1. When 0, it is retained.

y=Selective areas only wiped. (See specific post for more details)

y*=Selective areas wiped (if supplied in your pre-defined removal file)
​

Please Note

I use these scripts myself between many flashes of different ROMS, and are provided here, as-is, out of my passion for development. Although every effort has been made to ensure everything works correctly on my handset I cannot be held responsible if things get messed up, or if you put something in your user-definable files that you shouldn't have included. As with everything else on here, you flash anything at your own risk. I always recommend performing the appropriate full backups before attempting to flash anything onto your device. :)

Credits:

Thank you to AntaresOne for finding out some extra EFS-related partitions.