I've had it. I've been waiting since November last year for an official firmware update from HTC for my HTC Hero. Since then the update has been postponed numerous times and all the while I see these reports from people using leaked Android 2.1 ROMs. Now, it appears the official update will come in May, but I'm done waiting!
As we speak I'm installing
Villainrom 5.22, which appears to be the
most popular 2.1 ROM out there. Unfortunately it's not that straightforward to update your ROM and the necessary information is scattered among several forums and posts. Below is a list of the steps that I did to get 2.1 on my HTC Hero. Basically there are two kinds of updates: flash images and update packages. Flash images have the extension
.img and are flashed using the command
flash_image from the android shell. To install an update package you put the package as
update.zip on the sdcard and reboot the phone into recovery mode. From there you can install the update package.
Flash a new Radio ROM
I've read somewhere on the
XDA Hero forum (sorry, can't remember the post) that the newer ROMs need a newer Radio ROM as well, so I've decided to flash a new radio ROM first. I suggest you make a backup first (step 2+3) and flash the Radio ROM afterwards.
I've downloaded version
63.18.55.06JU_6.35.09.26 and put it on my sdcard as
update.zip using the USB cable and enabling USB mass storage. I've shutdown my phone and then, while keeping the
home key pressed, turned it on again. My phone booted into the recovery mode, displaying a menu from where I selected
flash sdcard:update.zip.
Flash a new Recovery boot loader
The first step went well but I really should have created a backup
before flashing the new radio. Better late than never, I suppose. I booted into the recovery mode again and selected
backup but I instead of a backup I got an error message:
error running rom backup. backup not performed. First thought: update the recovery image.
I've downloaded
recovery-RA-hero-v1.6.2.img and followed the steps in
this post, using adb (android debug bridge):
adb shell reboot bootloader
fastboot boot recovery-RA-hero-v1.6.2.img
adb shell mount /sdcard
adb push recovery-RA-hero-v1.6.2.img /sdcard/recovery-RA-hero-v1.6.2.img
adb shell flash_image recovery /sdcard/recovery-RA-hero-v1.6.2.img
adb shell reboot
Make a Nandroid backup
Reboot into the (new) recovery mode and selected
nand backup. There was also a
nand + ext and
BART backup options, but I don't quite know what each does, so I ignored them

After backup move all the contents of the sdcard to your PC. (The sdcard will be wiped in the next step.) Note that the nandroid backup does not backup the contents of your sdcard.
Wipe all data
From Android version 1.5 to 2.1 is a big step so I followed XDA poster's advice and wiped all the data from my phone before flashing the new firmware. Boot into recovery (if not already done) and select each of the following options from the recovery menu:
Wipe Data/Factory Reset
Wipe Dalvik cache
Wipe SD
Flash the new ROM
I opted to go for the VillainROM 5.2 (aka 5.22) You can get it
here. The trick is the same: download the file and put it on the sdcard as
update.zip. Then, boot into recovery mode and flash the zip from the sdcard. Reboot. Rinse. Repeat.
This should have done the trick. Note that the first time the phone boots it might take a while for all the components to initialize, so go easy on your phone.
Another great guide is found
here.
And I've just got word that the official 2.1 has been postponed
yet again until June. Now I'm really glad I've decided to go for the leaked 2.1.