1. Download and install Astro File Manager from the Market
2. Open Astro and find and install Universal Androt from your cdcard:
Select UniversalAndroot.apk > Open App Manager > Install > Settings> [tick] Unknown Sources > OK > Back > Select UniversalAndroot.apk > Open App Manager > Install > Install > Open
3. In the app and choose the correct version from the dropdown box:
Superuser for Android 2.0~2.2 - if you have updated your phone recently
Superuser for Android 1.5~1.6 - if you have refused updates recently or your country/provider hasn't released one yet
Then choose: "Root

"
Wait until it says "Woot ! Your device is rooted !" and exit the program.
4. Download and install Android Terminal Emulator from the Market (use Better Terminal instead if this one doesn't work)
5. Run "Terminal Emulator". Type (press and hold menu to get the keyboard up) in the following:
su (press enter and wait for the "Super User Request Prompt". Choose "Allow" and make sure its ticked to Allow every time.)
flash_image recovery /sdcard/recovery.img (press enter - make sure this is typed exactly as seen)
N.B. See * below for more assistance and if that doesn't work move onto **
6. Turn off your phone and press Home + Power to start it up again. This should boot into recovery mode.