I don't know about the rest of you, but I'm sick of HTC's ****. The Hero's been on Android 1.5 for yonks now, and the "2.1 we promise" update has been pushed back time and time again.
So, for your consideration, a guide on installing custom ROMs, from scratch.
Note: No warranty is offered or implied. If you brick your phone, it's not my fault. I'll solve your problems for consultant rate of £150 per hour, which may involve playing Minesweeper for 4 hours, buying you a new un-broken phone, and pocketing the difference. Otherwise you're on your own.
1: Insecure firmware preparation
In order to install a custom ROM, you need to somehow get to the stage where you can flash a replacement firmware on your phone. Unfortunately, you can't do it if you run a sufficiently recent (secure) version of the Hero firmware. You need to downgrade to the following:
Orange: 2.73.61.5 or below
T-Mobile: 1.76.110.6 or below
- If USB Debugger mode is enabled on your phone, disable it (Settings->Applications->Development)
- Switch off your antivirus. Yeah, I know, but HTC Sync is *really* fragile
- Install HTC Sync on your Windows PC (Windows only, sorry)
- Put the phone into sync mode, which should give you a green icon in the Windows systray
- Run the HTC ROM update app
With any luck, your phone should eventually come back up running a nice insecure firmware.
2: Replacing the recovery image
Now we have an insecure image, we've got a starting point. The next step is to replace the HTC recovery image (which saves your ass in case everything goes wrong) with a hacked version. The hacked version will install firmwares which haven't been signed off by HTC as "approved", as well as offering other features.
- Enable non-market apps (Settings->Applications)
- Plug in USB, enable USB mount, and copy flashrec and an Amon Ra recovery image to the root of the SD card - then unmount the SD card from the phone
- Go to Google Market, and install ASTRO File Manager
- Use ASTRO and install the flashrec package
- Run flashrec, and hit the "backup" button
- Type /sdcard/recovery-RA-hero-v1.5.2.img in the box (or fix the URL if you decide to try a different recovery image, which I haven't personally tested), then the Flash button.
You can now boot the new recovery image! Shut down the phone, then hold the Home and Power buttons until the recovery screen appears (note, seeing the Hero logo first is normal)
3: Doing stuff from the recovery image
From in here, you can do all sorts of neat stuff. This is your lifeline in the land of ROM hacking, your get-out-of-jail-free card, and the default location you are dumped if you brick your main OS (oops).
There are four main settings here to take note of:
- USB-MS Toggle - lets you transfer files to the SD card, e.g. new firmware
- Backup/Restore - lets you back up your current HTC image, in case you want to revert
- Wipe - clears data & returns to factory settings, often needed between firmwares
- Flash zip from sdcard - load your shiny new ROM from "update.zip" on the sdcard
Hopefully you've worked out what you need to do, from the above description
- BACK UP! Only a moron would forget to back up their HTC image before installing custom stuff.........
- Wipe
- Enable USB-MS
- Transfer the ROM of your choice to the SD card, rename it update.zip, then disable USB-MS
- Flash zip from sdcard
- Wait
- Reboot
- Wait
- Yank the battery 'cos it seems buggered
- Power it up again
- WAIT. No, really.
Job jobbed.
Which ROM to use? Well, here's a non-exhaustive list: http://wiki.xda-developers.com/index...%20Hero%20ROMs
I've tried two different images so far - VillainROM 6.0 (which is what you'd expect an HTC 2.1 update to smell like, more or less) and SuperHero (more of a blend of Nexus1-style normal Android, with some pieces of HTC Sense - fairly buggy compared to Villain but VERY nippy). Via the recovery console, you can try several ROMs - just be careful not to try and apply more than one type of update between reboots. Others I might consider are aHero and Vanilladroid. Have a look, try some out, post back your findings.
Have fun!