Okay guys, we've seen lots of reports of people whose Erises (Erii?) have or are starting to have trackball issues and are unable to properly navigate through Amon_RA's custom recovery. Well, I've been trying to figure-out how to tweak Amon_RA's custom recovery to work without relying on the trackball. Anyway, after a lot of thrashing about, and with some sage guidance from Amon_RA, I was able to modify and recompile Amon_RA's 1.6.2 Eris custom recovery to allow an alternate set of keys to be used in lieu of having / needing to use the trackball--not just for scrolling, but for selection / confirmation! I left-in the support for using the trackball so that it will work either way. Here's the new, alternate key mappings: Code (Text): [FONT=Courier New][B][COLOR=blue][SIZE=3]volume-UP[/SIZE][/COLOR][/B]: [B]scroll-up[/B] (trackball scroll-up still works too)[/FONT] [FONT=Courier New][COLOR=blue][B][COLOR=green]green[/COLOR] [SIZE=3]Call button[/SIZE][/B][/COLOR]: [B]scroll-down[/B] (trackball scroll-down still works too)[/FONT] [FONT=Courier New][COLOR=blue][B][COLOR=red]red[/COLOR] [SIZE=3]End/Power button[/SIZE][/B][/COLOR]: [B]select / confirm[/B] (trackball-press still works too)[/FONT] [FONT=Courier New]The [COLOR=blue][B]volume-DOWN[/B] [/COLOR][COLOR=black]key,[/COLOR] which is used to take you back to the prior[/FONT] [FONT=Courier New]menu / screen, remains unchanged.[/FONT] Here's a screenshot of the new version: Notice the [trackball optional] (or [trackball not required]) text at the bottom of the screen under the "Build : RA-eris-v1.6.2" line that lets you know you are using the new, alternate version. ================================================= Note / Edit: 20-November-2010: Click below to read the note: Spoiler I became aware that the menu options for partitioning the /sdcard were "missing" from my initial version of this custom recovery (I didn't notice it because I don't use apps2sd). The reason for this was that the Amon_RA custom recovery source I used was pulled from the "desirec" (HTC Eris) branch of the amonra_bootable_recovery github (kindly managed by packetlss). All of the files in this branch are labeled as "1.6.2" (including the only file that I modified, recovery.c). Then, late last night, early this morning, AF member TheLedge93 and guide mhotovec pointed-out that there were menu options missing for the Partition sdcard function. I double-checked the "1.6.2" source that I used and those menu item references indeed were not present. They are/were, however present in the "mahimahi" (Nexus One) branch of source for this recovery, many of whose files are listed with a version number of 1.7.1 confused. So, I spent this morning seeing if the mahimahi source branch would compile in lieu of the desirec branch I was using--and indeed it did. So, I re-made my tweaks to support the alternative trackball navigation keys in the 1.7.1 version of recovery.c. I've compiled and flashed this new version, testing the trackball, alternate keys, Nandroid backup, Nandroid restore, and saw (but did not test) that the "missing" menu items for the Partition sdcard function were again present. What does this mean? Here's the scoop: 1. I don't exactly know which version of the recovery.c source (or branch) was used by Amon_RA to compile the "1.6.2" recovery that virtually everyone has is and is using (other than those using the tweaked, trackball-optional version that I made a few weeks ago). The build number listed at the bottom of the screen still reads "1.6.2" since this value is gleaned from the default.prop (property) file that is not directly associated with the source (i.e., not involved in the compilation process). I would guess that the build version was not changed in the property file when a version newer than the 1.6.2 source was used to create the recovery images widely-used today. I don't believe that the version that most people have is actually the same version that I just built since I have identified at least one slight difference in behavior: Nandroid backups will now backup the /cache filesystem, resulting in Nandroid backup directory names being prefixed with "BCDS-" instead of "BDS-" like were all used to seeing [this threw me for a loop for a while until I finally figured-out that each letter of the prefix indicates what is actually being backed-up by the nandroid-mobile.sh script: B=boot, C=cache, D=data, S=system]. 2. Anyway, so I'm posting both the old and new versions of this alternate recovery image. The old (1.6.2) version is named: recovery-RA-eris-v1.6.2-trackball-not-required.img and the new ("1.7.1") version is named: recovery-RA-eris-v1.6.2-trackball-optional.img I also changed the text string below the build number at the bottom of the recovery screen to indicate the different versions. I don't think this is too big of a mystery or issue since my hope is that there will be very few of you that will have trackball problems and need either of these tweaked recoveries (although if you are reading this you might be one of those ). Anyway, the old version should suffice for those that don't want or need to partition their /sdcard and hopefully the new version will behave properly for those that do need to (i.e., for a2sd). ================================================= Disclaimer: Again, your mileage may vary, etc., etc. Use these custom recoveries at your own risk. I am not responsible for any bad things that might occur to your phone should you use these. ================================================= Here are the download links to the trackball alternative custom recovery: New ("1.7.1") version: https://sites.google.com/site/scary...ecovery-RA-eris-v1.6.2-trackball-optional.img File size: 3,926,016 bytes MD5 checksum: 3217768b831a3841180699942204762d Old (original, "1.6.2") version: Spoiler https://sites.google.com/site/scary...ery-RA-eris-v1.6.2-trackball-not-required.img File size: 3,923,968 bytes MD5 checksum: 9ec2510f53a25658ca5d52b34b6c1524 Always (please!) verify the checksum of this file after you download and place it on your phone. Please reference Amon_RA's thread over on XDA for additional details regarding this custom recovery: [Recovery] [17-Mar-2010] RA-eris-v1.6.2 - xda-developers -------------------------------------------------- Special thanks to: Amon_RA: for creating this custom recovery and providing much needed guidance to allow me to tweak his code Packetlss: for hosting the github and guiding me to Amon_RA erisuser1: for his continued guidance, knowledge, and contributions to the Android community (especially the Eris folks) Disclaimer: Use these custom recoveries at your own risk. As always, read carefully, be careful, and use caution when rooting and/or attempting anything discussed in this thread. I cannot be responsible for any "bad things" that might happen to your phone in the course of you using any of the information contained herein. I hate including something like this, but this is meant to give pause to any casual reader that isn't fully prepared for the consequences, intended or otherwise, related to rooting and installing a custom recovery. ---------------------------------------- INSTALLATION INSTRUCTIONS Since there are a variety of states for phones to "accept" or have custom recovery installed on it, there are a few different scenarios for installing. For a better breakdown (and source ) of these different scenarios, please reference this post http://androidforums.com/eris-all-t...overy-trackball-not-required.html#post1874718 that appears later in this same thread (thank you again, eu1!): /========\ | SCENARIO 1| Stock/unrooted Eris phones: \========/ For "stock", unrooted, HTC/VZW phones, can use erisuser1's http://androidforums.com/eris-all-things-root/127861-universal-eris-root-dummies.html method, use his thread's instructions but do the following steps after the section labeled Setting Things Up with a File Manager (i.e., after figure 18) and before the section labeled Rooting with Gscript Lite: A. Download the recovery-RA-eris-v1.6.2-trackball-optional.img file from the link above, being sure to verify the file size and MD5 sum (listed above) and transfer it to your phone's /sdcard/gscript/tools directory (that was created by the time you get to figure 18). I recommend using the free AFV (Android File Verifier) app [shameless plug ] for checking a file's MD5 sum on your phone. B. Use a file manager such as EStrongs File Explorer or Astro File Manager to navigate to the /sdcard/gscript/tools directory and rename the "recovery.img" file to "old-recovery.img". C. Next, while you are still in the /sdcard/gscript/tools directory, rename the "recovery-RA-eris-v1.6.2-trackball-optional.img" file to "recovery.img". D. Continue/resume the rooting process in eu1's thread from the section labeled Rooting with Gscript Lite. It should use the new, trackball optional custom recovery. /========\ | SCENARIO 2| Partially rooted phones (process halted by wonky trackball): \========/ This scenario covers phones that were "partially" rooted--i.e., the "Universal Dummies" or "1-click" method was used to root the phone, but a ROM could not be flashed because of a non-functioning trackball. If this is the case, you should be able to follow the steps indicated in Scenario 1 above. If you were able to flash a ROM via some other means (i.e., ClockworkMod or manual flash via adb), then you can't use the Scenario 1 method above. /========\ | SCENARIO 3| Rooted phone w/non-stock ROM & 1.6.2 Amon_RA Eris custom recovery installed: \========/ This is for most folks that are already rooted and don't want to use their PCs and/or are not familiar with the Android SDK and using adb. What you'll need: A. Download and install the Gscript Lite app (don't run it yet): https://market.android.com/details?id=nl.rogro.GScriptLite B. Download or transfer the gscript-sa-171.zip file to your phone (we'll assume that you placed it in the /sdcard/download directory): Here is the new "1.7.1" version (see notes above) that includes the "lost" Partition sdcard menu items: https://sites.google.com/site/scaryalienware/downloads/gscript-sa-171.zip MD5 sum of gscript-sa-171.zip: 2580f0c92f3e1e8acd9c8af1b5eae513 File size of gscript-sa-171.zip: 3,915,425 bytes Here is the original ("1.6.2") version: Spoiler https://sites.google.com/site/scaryalienware/downloads/gscript-sa.zip MD5 sum of gscript-sa.zip: c04a56675c103448ff4a5cdc1b48267f File size of gscript-sa.zip: 3,914,222 bytes C. Extract the contents of the gscript-sa-171.zip file to your SD card: Code (Text): [FONT=Courier New]Using [B][COLOR=blue]Astro File Manager[/COLOR][/B] (free in the Market), let's move [COLOR=blue][B]gscript-sa-171.zip [/B][/COLOR][/FONT] [FONT=Courier New]from the [COLOR=blue]/sdcard/download[/COLOR] folder to [COLOR=blue]/sdcard[/COLOR] and extract its contents:[/FONT] [FONT=Courier New]A. [B]long-press[/B] the [COLOR=blue][B]gscript-sa-171.zip[/B][/COLOR] file[/FONT] [FONT=Courier New]B. [B]select[/B] [COLOR=blue][B]Edit[/B][/COLOR][/FONT] [FONT=Courier New]C. [B]select[/B] [COLOR=blue][B]Move[/B][/COLOR][/FONT] [FONT=Courier New]D. [B]press[/B] the [COLOR=blue][B]Up icon[/B][/COLOR] at in the tool bar at the top of the screen[/FONT] [FONT=Courier New](this will navigate to the [COLOR=blue]/sdcard[/COLOR] directory)[/FONT] [FONT=Courier New]E. finally, [B]select[/B] the [COLOR=blue][B]Paste icon[/B][/COLOR] in the tool bar at the top of the screen[/FONT] [FONT=Courier New]F. [B]long-press[/B] the [B][COLOR=blue]gscript-sa-171.zip[/COLOR][/B] file and select [COLOR=blue][B]Extract[/B][/COLOR][/FONT] [FONT=Courier New]G. [B]select[/B] [COLOR=blue][B]Extract To This Directory[/B][/COLOR][/FONT] [FONT=Courier New]H. let it do its extracting thing...and then [B]exit[/B] Astro File Manager[/FONT] Note: If you have to re-extract the gscript-sa-171.zip file (via Astro) and re-run the gscript-sa.sh script from Gscript, its probably a good idea to delete the gscript-sa script from inside Gscript (long-press the gscript-sa script name and select Delete). *** Special Note for those using KaosFroyo ROMs *** Spoiler Code (Text): [B][COLOR=red]*** Special Note for those using [COLOR=blue]KaosFroyo [/COLOR]ROMs ***[/COLOR][/B] Note: it appears that the [B]getprop [/B]command that is used in my Gscript script is not present in KaosFroyo ROMs. The [B]getprop [/B]command is used to verify / validate that you are indeed running the script on an HTC Droid Eris. Please reference the posts starting this with one [URL]http://androidforums.com/eris-all-things-root/214240-amon_ra-1-6-2-custom-recovery-trackball-not-required-2.html#post2089171[/URL] for information about how to modify my script to continue the installation of this alternate recovery (specifically this post: [URL]http://androidforums.com/eris-all-things-root/214240-amon_ra-1-6-2-custom-recovery-trackball-not-required-3.html#post2093137[/URL]). Note: if you have problems using the above "regular" gscript-sa.sh scripts, you might have to use the method mentioned below where it might be necessary to add the "busybox " command (note the trailing space char) in front of the mkdir command in the script before it will work. So, check out the instructions below if you get stymied. *** Special Note for CM7, GSB 2.8+ and other Gingerbread-based ROMs *** Spoiler Code (Text): [B][COLOR=red]*** Special Note for CM7, GSB 2.8+ and other Gingerbread-based ROMs ***[/COLOR][/B] It appears that the more recent Gingerbread-based and CyanogenMod (CM7) ROMs might not support the "[B]mkdir[/B]" command in the shell that Gscript uses. So, to get around this, the [B]busybox [/B]"mkdir" command must be referenced. Please reference this post: [URL]http://androidforums.com/eris-all-things-root/214240-amon_ra-1-6-2-custom-recovery-trackball-not-required-4.html#post2594769[/URL] for more information about details for getting the script to work on the GingerBread and CyanogenMod (CM7) ROMs. D. Launch a new Gscript Lite app instance and do the following: Code (Text): [FONT=Courier New][B]Launch[/B] a new [B][COLOR=blue]Gscript Lite[/COLOR][/B] instance and:[/FONT] [FONT=Courier New]A. [B]press[/B] the soft menu button[/FONT] [FONT=Courier New]B. [B]select[/B] [B][COLOR=blue]Add script[/COLOR][/B] option (lower left)[/FONT] [FONT=Courier New]C. [B]press[/B] the [B][COLOR=blue]Load file[/COLOR][/B] button[/FONT] [FONT=Courier New]D. [B]select[/B] the [COLOR=blue]gscript-sa.sh[/COLOR] script[/FONT] [FONT=Courier New]E. leave the [B][COLOR=blue]Needs SU?[/COLOR][/B] checkbox checked (you need root for [/FONT][FONT=Courier New]the flash to work)[/FONT] [FONT=Courier New]F. [B]press[/B] the [COLOR=blue][B]Save[/B][/COLOR] button (lower left)[/FONT] [FONT=Courier New]G. you'll now be returned to the main Gscript Lite menu and you should[/FONT] [FONT=Courier New]see [COLOR=blue]gscript-sa[/COLOR] available at the bottom of the list of scripts[/FONT] [FONT=Courier New]H. to run the script, [B]short-press[/B] the [COLOR=blue]gscript-sa[/COLOR] script name[/FONT] [FONT=Courier New]I. you should be prompted by the SuperUser whitelist app to allow[/FONT] [FONT=Courier New]the Gscript program to run the [COLOR=blue]/system/bin/sh[/COLOR] as root ([B]select[/B] [COLOR=blue][B]Allow[/B][/COLOR])[/FONT] The screens should look like this: If you are not rooted, didn't enable the Needs SU? checkbox, or there's a problem flashing the custom recovery image, you'll see something like this: /========\ | SCENARIO 4| Old-school (already rooted; Android SDK/adb-familiar): \========/ If you have a rooted phone, have the Android SDK installed, and are proficient / knowledgeable about using adb and flash_image, then you can follow these steps (note: I am purposely omitting some details that those familiar with this process should not need--if you need it, you probably shouldn't be using this): Via flash_image through adb A. Download the new (1.7.1) recovery-RA-eris-v1.6.2-trackball-optional.img file or the old (1.6.2) recovery-RA-eris-v1.6.2-trackball-not-required.img file from one of the links above, being sure to verify the file size and MD5 sum (listed above) and transfer it to your Android SDK's tools directory. B. Use adb to push the new custom recovery over to your phone's /sdcard: Code (Text): [COLOR=blue][B]adb push recovery-RA-eris-v1.6.2-trackball-optional.img /sdcard/[/B][/COLOR] C. Wait/pause 5 seconds to allow the push/transfer to complete (this data transfer actually occurs in the background via the adb service on your PC that talks to the adb daemon on your phone) D. Now, flash the updated custom recovery image to your phone: Code (Text): [FONT=Courier New][COLOR=blue][B]adb shell flash_image recovery /sdcard/recovery-RA-eris-v1.6.2-trackball-optional.img[/B][/COLOR][/FONT] E. Reboot into recovery to enjoy your new trackball-optional custom recovery! Via fastboot (note: requires S-OFF bootloader) Also, LexusBrian400 pointed-out in this post: http://androidforums.com/eris-all-t...ery-trackball-not-required-2.html#post1932514 that you can also flash the recovery using the fastboot utility (if you have it): Note: a quick word of caution, courtesy of erisuser1 and excerpted (verbatim) from this post: http://androidforums.com/eris-all-t...le-pb00img-zip-update-method.html#post1990081: If you ever use fastboot to flash things to the phone, be very very careful about md5 checksums and so forth - the one thing which is nice about the signing methodology used with ROMs and Amon_RA is that it makes it impossible to flash a corrupted ROM file - but when flashing with fastboot, no protection is provided for you, so you need to be damn sure you are working with correct and unmangled files. 1. Make sure your USB cable is plugged-in between your phone and your PC. 2. From a powered-off state, boot your phone into FASTBOOT USB mode by simultaneously pressing the green CALL and the red END/PWR buttons. This should take you into the FASTBOOT menu/screen. Note: if you don't have the USB cable plugged-in, the "FASTBOOT USB" (white text w/red background) will simply show "FASTBOOT". 3. Place the alternate custom recovery image you wish to flash in the Android SDK's tools directory. 4. Next, from your Android SDK's tools directory, flash the alternate custom recovery: Code (Text): fastboot flash recovery recovery-RA-eris-v1.6.2-trackball-optional.img 5. Here's what it will look like from the Windows (DOS) Prompt: Code (Text): d:\android-sdk-windows\tools>[B][COLOR=blue]fastboot flash recovery recovery-RA-eris-v1.6.2-trackball-optional.img[/COLOR][/B] sending 'recovery' (3834 KB)... OKAY [ 0.844s] writing 'recovery'... OKAY [ 1.390s] finished. total time: 2.236s d:\android-sdk-windows\tools> 6. After the flash, press the volume-DOWN key to enter HBOOT. From HBOOT, press volume-UP to enter your shiny-new custom recovery. /========\ | SCENARIO 5| jcase's 1-click app, now with trackball-optional custom recovery: \========/ I finally received permission from jcase to re-pack his Eris 1-click app to include the trackball-optional recovery. This version is identical to his original--I simply replaced the file containing the original Amon_RA custom recovery with the trackball-optional version. You can use this version to root or re-root a stock Sense Eris (which should also include those running Sense-based ROMs such as xtrSENSE, and some of the very old, original Eris ROMs). If you are already rooted, you don't need to re-root (i.e., you don't need to re-flash the rootme.zip file), you just need to re-run the app as you normally would in order to get the special trackball-optional Amon_RA custom recovery installed. I also think that this app will work if you already have the original Amon_RA custom recovery installed and you need to replace it with the trackball-optional one. https://sites.google.com/site/scaryalienware/downloads/one-click-tbo.apk MD5 sum: 15763b51cf707c027cc73bc117e1fc39 I won't repeat the installation instructions here, but instead will point you towards both of jcase's threads (here at AF and over at XDA): Universal 1 Click Eris Root App Apk - No PCs, No Scripts Needed, EASY - xda-developers http://androidforums.com/eris-all-things-root/139178-universal-1-click-eris-app-apk-no-pcs-no-scripts-needed-easy.html If you are simply replacing your custom recovery with the trackball-optional one, then you basically just run steps 1-3. I would also urge you to honor the spirit of jcase's threads regarding donations to help-out those less fortunate. All credit to jcase and his team for creating this app that has helped so many people.