From Android Wiki
Rooting the Magic/Sapphire (Method 1)
First of all, everyone owes Haykuro a great big thanks for working on this and helping create the solution without even owning a magic. The following is his method just reworded slightly. if this method fails, try method 2. this method is for older "branded" devices (like the Vodafone Magic).
- Enable USB debugging on the device in settings->applications->development->"USB Debugging"
- Ensure you have the Android SDK downloaded, and the included USB driver installed correctly on your desktop.
- Open up a DOS prompt and "cd" to the tools subdirectory of your SDK folder.
- Make sure your usb cable is inserted and you have Fastboot and ADB installed and ready to use.
- Type the following command at your DOS prompt:
You should see your Android phone's serial in the list. If you get an empty list, you need to sort out your USB driver.
- Download Haykuro's Magic "rootme" rom (Mirror) and the Magic modified recovery
- Unzip the recovery-new.img.zip file (do not unzip the rootme-signed.zip file). Put both in your "tools" directory.
- Connect the phone with the USB cable and from the notifications bar, mount the SD card. Rename rootme-signed.zip to update.zip and copy it and the recovery-new.img across to the phone's SD card (which should be in your "My Computer" as a new drive).
- Alternatively you can copy the files across by entering these commands on your desktop (not the device):
adb push rootme-signed.zip /sdcard/update.zip
adb push recovery-new.img /sdcard/recovery-new.img
- On your device, enter the bootloader FASTBOOT mode by trying one of the following
- Turn off your device and while it is off hold down back while you press power.
- Turn off your device and while it is off hold down volume down while pressing power
- Type the following commands on your desktop (not on the device):
fastboot boot recovery-new.img
- Apply your update (by selecting menu item. dont miss it), reboot (using HOME+BACK, or via selection), and allow it to boot fully. Upon a complete boot enter the following command on your desktop (not on the device):
adb shell flash_image recovery /sdcard/recovery-new.img
- To get the hacked SPL (to be able to apply nandroid backups and etc) download haykuro's SPL update and copy it to your sdcard (again as "update.zip")
- Reboot into recovery mode by powering off, and holding HOME+POWER
- Apply update.
- To gain root access from a Terminal Emulator application running on your phone, see Magic Root Access.
Source(s): Android solutions
Rooting the Magic/Sapphire (Method 2)
If you have Asian Version of Magic, do not use this method cause it disables wi-fi.
- Copy this update to your SD-card.
- Download the rooted recovery image here.
- Enable USB debugging on the device
Settings -> Applications -> Development -> USB Debugging
- Boot the device in fastboot mode.
adb shell reboot bootloader
- Connect the device to your machine over USB.
- Type the following command on your desktop (not on the device):
fastboot boot recovery-RAv1.0H.img
- Choose option "Apply sdcard:update.zip" from the menu on the device
- note: you may need to unplug the usb if you receive any errors
Source(s): Android solutions
Rooting the Magic/Sapphire (Method 3)
If you have the same problems with Method 1 as some people described in the discussion page (after the fastboot step it hangs at "HTC Magic") do the reading here: http://wiki.xda-developers.com/index.php?pagename=HTC_Sapphire_Hacking