I’ve rooted my HTC Magic, so here is a short tutorial on how I did it. It was very easy actually.
Please, if you are unsure of what you are doing, don’t follow this guide and cry to me later if you brick your phone. This guide is for HTC Magic 32A, and tested only on models available in Serbia.
You will need to download a couple of files, and the most important thing is the first one – Amon RA recovery image. I really can’t explain now how much this image eases the flashing of Android phones. Also, RA comes with Nandroid backup (so you can always “undo” if something goes wrong) and SD card formatting utilities. Anyway, on this forum thread you can read which recovery image is suitable for your phone – for mine, it was the recovery-RA-sapphire-v1.7.0H.img
Now, before downloading ROMs and other stuff, lets first flash that recovery image to your phone. This used to be done via adb utility, but someone has created a phone application that exploits bluetooth buffer overflow, so the image can be flashed via phone. Copy the recovery image to your SD card, name it shortly, say “recovery.img”, and then (on your phone) run the FlashRec application. It should say here that you have a “EBI1” phone, don’t continue if it says otherwise and skip this tutorial coooompletely! First, do a backup (because your phone already has a recovery image, but it is not this good), and then in the text box type /sdcard/recovery.img and the click Flash button.
Suppose that step ended successfully (if it didn’t, don’t ask me what to do about it, GIYF). What you have now is a special recovery image with the root access to your device. Recovery image is started by shutting down your phone, and then pressing the green Home button and red Power button together. Press it, and keep them pressed until screen turns on. If you’ve done everything right, soon you should have a recovery screen (somewhere in the bottom should be written “recovery image 1.7” or similar).
First, do a nandroid backup. You will see it in the menu. Then restart your phone (normal way), connect it to USB and copy the nandroid folder from your phone’s SD card to your computer, so that you can always go back if you screw up something with roms.
Now is the time to download ROMs. I used Cyanogen 5.0.7 ROM which is Android 2.1 codenamed Eclair. It is uber fast and I haven’t found a single bug yet. There are four files that need to be downloaded. First, the rooted Android 1.6 ROM from HTC. Then, the cyanogen mod ROM, followed by a new kernel, and then finally google apps, which are for some reason not included in cyanogen ROM mentioned before. There are other ROMs (including Cyanogen’s) which include google apps, but I won’t discuss them here now. Copy all four zips to the SD card.
Reboot your phone to recovery mode. From wipe menu, choose reset factory settings. Then wipe your dalvik-cache. Since this is your first flashing (I assume so in this guide), you don’t need to wipe anything else. After that, return to the main menu, and apply the downloaded ROMs using “flash zip” option from the menu, in the order you downloaded them, that is:
Reboot your phone, wait a little while until dalvik-cache is recreated, and enjoy your new operating system 🙂
Most of the credits goes to @Cyanogen, Amon RA who repacked his recovery image, bcrooks who packed the kernel and guys behind the flashrec utlity who saved our a**es from using fastboot (totally eliminating the need of a personal computer during flashing).