[Hero CDMA Android Development] hexskrew:
Reserved for the Red Corner!

***Issues found!***

none yet.

***How to check the MD5 Hash***

Windows (and mac) users:

1. download Hashtag, a free md5 file hash check utility from here: http://beeblebrox.org/hashtab/

2. After downloading and installing, just right click on any file. On Windows, select properties and you will see a new "File Hashes" tab. On Mac select "File Hashes" (on 10.5 the "File Hashes" menu item will be found under the "More" submenu). This is will start HashTab providing more or less the same view that you see on Windows. This File Hashes window displays all the hashes for the file.

3. Check the hash to make sure it's the same big jumble of numbers and letters as the hash above. If it is not the same, the download is bad and you should redownload the file.

Linux users:

1. go into your linux terminal or shell (not the adb shell)

2. navigate to the folder that contains the rom (mine is in downloads, so you would type 'cd Downloads')

3. for my rom, type 'md5sum SouthPawV1.5Final.zip

4. the output should look as shown:

OUTPUT_ZIP$ md5sum SouthPawV1.5Final.zip
F0D9E1F279FA7B0FA8636616499CD0C8 SouthPawV2.0-Beta.zip
hexskrew@hexskrew-laptop:~/Desktop/kitchen/OUTPUT_ZIP$

Installation:

***for newbies, see the second post under "How to root/maximizing my rom experience"***

1. Nandroid

2. Wipe

3. Flash

4. After install see configuring a2sd for more memory on the phone and JIT/Swap configuration in 2nd post! (and possibly a faster phone if you have a class 4 or higher memory card)

Bloated apps can be re-downloaded here: http://www.mediafire.com/?7ektxbiq0h65ftr

***Radio***

Also removed the Radio.img file. If you want the file you can download it here:http://www.mediafire.com/file/u2z11ar9ga6qn3a/CSouth_Radio_Signed.zip

MD5 Hash: 9157b63be585abef5812f71691cc4899

*You do not need to be flashing this file if it's already updated because that is the one file that CAN brick your phone if it's corrupted. ALSO if you ARE downloading this file, CHECK THE MD5 hash! Instructions above. It could mean the difference between a happy updated phone and a BRICKED phone.*

***How to root and Maximizing your rom experiance***

I hold no responsibility for any actions resulting from these links and/or this post.

How to root your CS Hero. Read first post, it describes everything

http://xdaforums.com/showthread.php?t=581869

***How to flash any rom***

After rooting your phone to install any rom (not just mine)

1. backup everything if you have not already done so, you will lose EVERYTHING on the phone itself, (except for everything on the memory card)

1a. download my rom or another rom (as long as it's for your phone and radio)

1b. place the rom in the root directory (or the main directory rather) of your sdcard.

2. Turn the phone off

3. While holding the home button, press the power button until you see the recovery mode menu. (I am using clockwork mod 2.5.0.1 so depending on your recovery YMMV. You should use the instructions for your specific recovery system. They are using Darch's version of AmonRA's recovery, This is covered in the first post on that link as well.)

If you are using Clockwork Mod, you can use these instructions:

4. go to wipe data/factory reset and go to yes to start the wipe.

5. scroll down to wipe cache partition, and confirm

6. scroll down to advanced and wipe dalvik cache.

7. After that, scroll down to "install zip from sdcard"

8. select choose zip from sdcard

9. select the rom file from the memory card (mine will be SouthPAW!1.5-Final) and confirm to flash it.

10. Once the flash is done, reboot the phone. It's going to take between 5 and 10 minutes to boot the first time so be patient, and don't mess with it. After you get in you are golden, and nothing else is to be done. You have made it..

***how to maximize your battery performance***

This rom comes with an overclocked kernel that automatically sets itself to maximize battery life. But there are things you can set to make the kernel do what you want :)

***Kernel parameters***

You don't have to use any overclocking software to set the speed of the processor with this kernel :) Here is the parameters:

Syntax: echo "(speed in hz)" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

Example:

Sets the cpu to max out at 768mhz

Sets the cpu to max out at 710mhz

Also...

If your gps quit working for some reason do this:

To change the cpu governors for this kernel (the built in ones) here is how:

Type this to find the available governors:

The ones available are:

conservative

ondemand

userspace

powersave

performance

interactive

And then to change the governor, you type this:

I haven't found full explanation on ALL the governors, but I guess it's a no brainer, however here is the info I pulled off of the kernel thread:

One last thing is that this kernel keeps logs. Even though they are hard to read if you want to see them, type this:

***how to partition for apps2sd for Amon Ra's Recovery and Cyanogen's Clockwork Mod Recovery***

Instruction Source: http://www.villainrom.co.uk/wiki/index.php?title=Apps2SD#Normal_Installation

How to Setup SD card partitions from AmonRa's Recovery:

1. backup your stuff on your memory card. It is very possible that this will erase everything on your memory card.

2. Shut down the phone

3. Press and hold the home button while pressing the power button. Keep holding the home button until you get to the recovery menu.

4. Select Partition sdcard

5. Select Partition SD

6. Set the following partition sizes using the trackball or volume buttons:

-ext: 512MB - recommended. You will feel like you can install everything from the market.

-swap: none -not a prerequisite but recommended. use at least 30mb.

-fat: remaining

7. Reboot the phone. It may take a little while for boot to finish on this boot only.

How to Setup SD card partitions from Clockworkmod Recovery:

***Do not partition with Clockwork mod. There are some issues that I have read that will mess up your install***

There are alternative methods for this, but it's just easier to use Amon_Ra's image for this.

***How to setup a2sd/Swap/JIT***

A2SD is already enabled by default on this rom. However Swap and dalvik to sd is not!

To get swap working (if you made a swap partition on your sd card)

1. get to adb

2. adb remount

3. adb shell

4. a2sd reswap

To move Dalvik cache to sd -

5. a2sd cachesd

VOILA! 149MB free on the phone! *w00t*

Also there is more config you could do here. You can enable JIT *dunno if it works, so add at your own risk*

***More info for a2sd configuration***

Standard Apps2SD Commands:
--------------------------------------------------
reinstall
Moves free and paid apps to the ext2/ext3/ext4 partition on your secure digital card. Removes the No A2SD flag file.
This is used if you have already executed an a2sd remove command. Otherwise, this part is automatically performed when Apps2SD is started.
File removed: /data/.noa2sd

remove
Moves free and paid apps to the internal phone storage. Creates the No A2SD flag file.
File created: /data/.noa2sd
Swap Partition Commands:
--------------------------------------------------
reswap
Removes the No Swap flag. Allows A2SD to activate the swap partition.
This is used if you have already executed an a2sd noswap command. Otherwise, this part is automatically performed when Apps2SD is started. Note: This command has no effect on roms where the swap space is not built into the kernel.
File removed: /data/.noswap

noswap
Creates the No Swap flag. Prevents A2SD from activating the swap partition. Note: This command has no effect on roms where the swap space is not built into the kernel.
File created: /data/.noswap

swappyxx
Sets the swappiness setting for the swap file. xx sets the swappiness percentage used. (i.e. to set swappiness to 30%, type a2sd swappy30.
Dalvik Cache Commands:
--------------------------------------------------
cachesd
Moves Dalvik cache files to the ext2/ext3/ext4 partition on your secure digital card. Creates Dalvik Cache to SD flag.
Caution: If your phone fails to mount the ext2/ext3/ext4 partition and your dalvik-cache is pointed to the SD card, you will likely end up in a boot loop. Execute a2sd nocache from adb shell to rectify the issue.
File created: /data/.dalvikcacahe
File removed: /data/.dcpartition

cachesdreset
Same as cachesd above, but erases the contents of the dalvik-cache after move. This performs both the a2sd cachesd and a2sd resetcache all in one command.
File removed: /data/.dcpartition

cachepart
Moves Dalvik cache files to the /cache partition in your phone. Creates Dalvik Cache to Cache Partition flag.
Caution: Some phones do not have enough space to put the dalvik-cache on the cache partition. Also, some roms that have SenseUI installed may not work well with the dalvik-cache on the cache partition (although this issue appears to be fixed starting with Darktremor 2.7.5.1). If you experience issues such as force closes, try moving the dalvik-cache to the SD card (a2sd cachesd) or internal storage (a2sd nocache) instead.
File created: /data/.dcpartition
File removed: /data/.dalvikcache

cachepartreset
Same as cachepart above, but erases the contents of the dalvik-cache after move. This performs both the a2sd cachepart and a2sd resetcache all in one command.
File removed: /data/.dalvikcache

nocache
Moves Dalvik cache files to the internal phone storage. Removes all Dalvik Cache flags.
File removed: /data/.dcpartition, /data/.dalvikcache

nocachereset
Same as nocache above, but erases the contents of the dalvik-cache after move. This performs both the a2sd nocache and a2sd resetcache all in one command.
File removed: /data/.dcpartition. /data/.dalvikcache

resetcache
Clears the dalvik cache and restarts phone.
Apps2SD Diagnostic Commands:
--------------------------------------------------
check
Performs a symlink and flag file check on your setup. Outputs a report that shows you if
there are issues with your Apps2SD setup.

repair
Performs a repair of all symlinks based on flag file activation.

diskspace
Shows disk space statistics for the ext partition.

sysinfo
Displays information about your phone, partitions, swap, and more.
Also writes a dump file that has an entire profile of your phone. This is for troubleshooting only.
File Created: /data/dtsysdump.txt

swapspace
Shows swap space statistics for all swap space active on the phone. Note: This command has no effect on roms where the swap space is not built into the kernel.
ZipAlign Commands:
--------------------------------------------------
align
Performs a one-time zipalign on all APK files in /data/app and /data/app-private.

zipalign
Allows ZipAlign to execute during the boot process. Creates the ZipAlign flag file.
File Created: /data/.zipalign

nozipalign
Prevents ZipAlign from executing during the boot process. Removes the ZipAlign flag file.
File Removed: /data/.zipalign
Dalvik Setting Commands:
--------------------------------------------------
jit
Installs DalvikVM JIT.
WARNING: Do not run this command if your phone has NAND protection active.
nojit
Removes DalvikVM JIT.
WARNING: Do not run this command if your phone has NAND protection active.
defaultheap
Resets the Dalvik heap size to the default heap size.
File Removed: /data/.smallheap, /data/.largeheap, /data/.jumboheap

heapsizexx
Sets the dalvik heap size to xx. For example, to set the dalvik cache to 24mb, type a2sd heapsize24. To reset back to default, type a2sd heapsize0 (that's a zero, not the letter "o")
Low Memory Killer Commands:
----------------------------------------------------
lowmem-moderate
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 7680 pages / 30 MB
Content Provider: 8960 pages / 35 MB
Empty App: 10240 pages / 40 MB
Create File: /data/.lmmoderate
Remove File: /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme

lowmem-optimum
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 2048 pages / 8 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 10240 pages / 40 MB
Content Provider: 12800 pages / 50 MB
Empty App: 15360 pages / 60 MB
Create File: /data/.lmoptimum
Remove File: /data/.lmmoderate, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme

lowmem-strict
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 2048 pages / 8 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 15360 pages / 60 MB
Content Provider: 17920 pages / 70 MB
Empty App: 20480 pages / 80 MB
Create File: /data/.lmstrict
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmaggressive, /data/.lmultimate, /data/.lmextreme

lowmem-aggressive
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 21000 pages / 82 MB
Content Provider: 23000 pages / 90 MB
Empty App: 25000 pages / 98 MB
Create File: /data/.lmaggressive
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmextreme, /data/.lmultimate

lowmem-extreme
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 38400 pages / 150 MB
Content Provider: 40960 pages / 160 MB
Empty App: 43520 pages / 170 MB
Create File: /data/.lmextreme
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmultimate

lowmem-ultimate
Sets the internal memory killer to the following settings:
Code:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 51200 pages / 200 MB
Content Provider: 57600 pages / 225 MB
Empty App: 64000 pages / 250 MB
Create File: /data/.lmultimate
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmextreme

lowmem-default
Sets the internal memory killer back to phone default settings.
Remove File: /data/.lmmoderate, /data/.lmoptimum, /data/.lmstrict, /data/.lmaggressive, /data/.lmextreme, /data/.lmultimate

***How to push an apk file using adb***

*Of course you have to have a rooted phone to do this, if not check the ***how to root*** section first before getting this far.*

This tutorial is going to use the linked deleted files zip from the link in the first post.

1. Download the Android SDK for your appropriate Operating System from here: http://developer.android.com/sdk/index.html

2. Once downloaded, be sure to download the deleted files zip from the link in the first post.

3. Extract the Android SDK file to an easily findable folder

4. Extract the deleted files from the zip file, and copy the apk file you choose to the AndroidSdk\tools folder. For reference I will be using the Dialer.apk file in this tutorial (not included in the zip).

5. connect phone to computer and select "charge only" from the menu.

(*for windows Vista/7/XP*)

*prerequisite* - you must have the adb drivers installed to do this in windows.

6. Click Start, go to > All Programs > Accessories, and from there, right click 'command' (something like that), and click 'open as administrator' (XP users do not have to do this, just go to Start > Run, type cmd, and press enter)

7 .navigate to the android tools folder you put the apk file in (the command to change directories is 'cd' and then a space, and the name of the next folder, so to navigate to the 'android' folder, you would type 'cd android', and then you can use 'dir' to see the next directories till you get to the right folder.

8. type 'adb remount'. This is going to start the adb system, and then remount the phone in root mode.

9. to check to see if your phone is mounted and everything is kosher, type 'adb devices' and it should show something on the bottom that should be your device or serial of the device. If it says ??????????? then it's not working.

10. type 'adb push HtcDialer.apk /system/app'

11. DRINK A BEER! You have pushed an apk to your phone! To check if it is installed, simply click the call button (or press phone on the rosie), go to settings and select speed dial. Then see if you can change/add a number to speed dial #2. This could possibly require a reboot to actually start the new version of the installed software but you should just be able to go ahead and use it :)

(*for Linux*)

6. Once you extract the android-sdk-linux_x86 folder, go to the terminal, and navigate to the android folder pretty much the same way as windows, except instead of using dir (ubuntu users can use it), use 'ls'

7. type 'sudo ./adb remount' and when asked, type the administrator password for the linux system. This is going to start the adb system, and then remount the phone in root mode.

8. To check to see if your phone is mounted, type 'sudo ./adb devices' this should show your device.

9. To do that actual push, type 'sudo ./adb push HtcDialer.apk /system/app'

10.

DRINK A BEER! You have pushed an apk to your phone! To check if it is installed, simply click the call button (or press phone on the rosie), go to settings and select speed dial. Then see if you can change/add a number to speed dial #2. This could possibly require a reboot to actually start the new version of the installed software but you should just be able to go ahead and use it :)

***History***