Here's a tutorial for the new users facing unanswered (at a first glance) questions while browsing through the tremendous amount of information that can be found.
There are many tutorials about this, but I will try to make one unique tutorial that will be easy to understand for everyone.

Press a THANKS button if you think that this TUT has helped you

IMPORTANT!
Before you proceed, you need to understand one thing: although these upgrades work in 99% of the cases, you are doing this at your own risk!
If you have any problems or question with rooting and flashing ROM's DO NOT open new thread, cause I will delete it, post everything here

Before we start, here is little Q&A section, so please READ this before opening new thread!
How to format and partition SD Card?Read this
Is my desire already rooted?
- Check if you have superuser app in the app list all rooted phones have it
If I root a device which is already rooted, can it mess anything up?
- You can't mess anything up by re-rooting.
Will my phone get the OTA froyo update from HTC here in the US or do I have to do it manually?
- No OTA updates when rooted, to get them you will have to go back to stock to get the update(yepp unroot, or wait for devs to release rooted stock version)
What is S-OFF?
-HTC implemented security on their newer generation phones. This flag, called @secuflag, controls whether your phone has
it's NAND or flash unlocked. Most noticeably, S-ON (security on) will read-lock your /system and /recovery partition, to name a few. Also, secuflag controls whether zip files being flashed through recovery or fastboot, are signed by HTC. The now notorious S-OFF (security off) will disable this NAND security. Since we are unable to access the Radio NVRAM itself (where secuflag is stored), we turned our attention to HBOOT.Here is How to S-OFF your HTC Desire
If you think I should add more questions and answers, send me a PM

How to remove apps & boot sound, install apps, and many other things - Post #5
*Unrooting, flashing ROM and updates is same for every device.

There are several methods of rooting device and one of the safest is using Tiny Core Linux(Live CD), since I had several problems using Windows(64-bit) I recommend this option, but if you are using 32-bit OS you should be fine rooting in Windows.

If you have any comments, ideas or requests to improve this thread, post them here
If you find any step that is wrong, or should be improved reoprt it here

Guide to root with Tiny Core LinuxIMPORTANT - this tutorial will not work if you have installed 2.2 OTA update from HTC!

Download Tiny Core Linux Live CD
---- For a bootloader of 0.75.* or lower AND a current ROM of 1.15.* or lowerDownload
---- For a bootloader of 0.80.* or lower AND a current ROM of 1.21.* or lowerDownload

Burn the downloaded iso on CD/DVD

Boot your computer from that CD/DVD, once you booted it will ask you to press Enter or F2/F3 keys, you need to press Enter

Start the HTC Desire in bootloader by holding back and turning it on by the power button

Connect the USB cable to the phone and PC

Open a terminal by clicking the icon that looks like a monitor at the bottom on Tiny Core Linux and type the following commands:

Once the phone has finished, you will see a screen with a green text. Use the optical tracker to navigate the menu to select Wipe and then press Wipe data/factory reset

Once complete you should be back in the main menu. Now select the option Flash zip from sdcard and than choose rootedupdate.zip

Once back in the main menu, choose restart the phone - the rooting process is now finished

Guide to root using Windows, MAC OS X and Linux

!Some people reported that this method needs to have GoldCard(in most cases you won't need it) even if you have unbranded device, more here

You need to have Android SDK and HTC Sync installed(for Windows users)

Download following items:
---- If you have a bootloader version 0.75.xxxx or below AND a current ROM of 1.15.xxx.x or below - DOWNLOAD / MIRROR
---- If you have a bootloader version 0.80.xxxx or below AND a current ROM of 1.21.xxx.x or below - DOWNLOAD / MIRROR

Unzip the file you downloaded to a directory, then open a command prompt / terminal window at that directory.

Turn off your HTC Desire, then turn it back on with the 'back' button held down. You'll see 'FASTBOOT' written on the screen in a red box. Connect the phone to the computer.

Connect Android device to USB (USB Debugging must be enabled on the device)

Click 'Get CID' (If MMC1 fails try MMC0)

Click the link to open revskills.de, enter the CID number from Goldcard Tool and create your goldcard image, which will be e-mailed to you.

Enable USB Mass Storage on the device.

Click 'Refresh' and select your microSD card in the drop down menu.

Click 'Load GoldCard.img' and open the .img file you got by email.

Click 'Patch MMC'

You now have a goldcard!

[Notes]
HTC Sync is required for drivers only
Android SDK is not required

Guide to root with Tiny Core LinuxIMPORTANT - this tutorial will not work if you have installed 2.2 OTA update from HTC!

Download Tiny Core Linux Live CD
---- For a bootloader of 0.75.* or lower AND a current ROM of 1.15.* or lowerDownload
---- For a bootloader of 0.80.* or lower AND a current ROM of 1.21.* or lowerDownload

Burn the downloaded iso on CD/DVD

Boot your computer from that CD/DVD, once you booted it will ask you to press Enter or F2/F3 keys, you need to press Enter

Insert the goldcard into the phone.

Start the HTC Desire in bootloader by holding back and turning it on by the power button

Connect the USB cable to the phone and PC

Open a terminal by clicking the icon that looks like a monitor at the bottom on Tiny Core Linux and type the following commands:

Turn the phone off via the bootloader menu (or pull the battery and USB cable) and remove the goldcard. Put a non-goldcard SD into the phone or reformat the goldcard and put it into the phone. Put the phone back into bootloader mode (Press Power button and Back button).

In terminal type the following command:

Code:

sudo ./step2.sh

Once the phone has finished, you will see a screen with a green text. Use the optical tracker to navigate the menu to select Wipe and then press Wipe data/factory reset

Once complete you should be back in the main menu. Now select the option Flash zip from sdcard and than choose rootedupdate.zip

Once back in the main menu, choose restart the phone - the rooting process is now finished

Guide to root using Windows, MAC OS X and LinuxIMPORTANT - this tutorial will not work if you have installed 2.2 OTA update from HTC!

Download following items:
---- If you have a bootloader version 0.75.xxxx or below AND a current ROM of 1.15.xxx.x or below - DOWNLOAD / MIRROR
---- If you have a bootloader version 0.80.xxxx or below AND a current ROM of 1.21.xxx.x or below - DOWNLOAD / MIRROR

Unzip the file you downloaded to a directory, then open a command prompt / terminal window at that directory.

Turn off your HTC Desire, put GoldCard and then turn it back on with the 'back' button held down. You'll see 'FASTBOOT' written on the screen in a red box. Connect the phone to the computer.

Turn the phone off via the bootloader menu (or pull the battery and USB cable) and remove the goldcard. Put a non-goldcard SD into the phone or reformat the goldcard and put it into the phone. Put the phone back into bootloader mode (Press Power button and Back button)

Navigate to the 'BOOTLOADER' and then 'RECOVERY' option on the menu, using the volume buttons to move and the power button to select.

In the command prompt/terminal window, enter either 'step2-windows.bat', './step2-mac.sh' or './step2-linux.sh' as appropriate.

When this has completed, your device should be at the 'recovery'("green") screen. Select Wipe and then press Wipe data/factory reset

Once complete you should be back in the main menu. Now select the option Flash zip from sdcard and than choose rootedupdate.zip

Once back in the main menu, choose restart the phone - the rooting process is now finished

fake-flash
Fake-flash is only possible with root access, you need to be rooted to use it. Basically, its a way to have recovery running on the phone without using a PC (making it safer as you are less likely to brick using no USB cable to push files, instead, you push directly from your phone). You can use "ROM Manager" from the marketplace to do this. Simply place the downloaded test recovery image on the phone and the downloaded rom zip (renamed to update.zip) and flash using ROM Manager.Preperation

Download the fake-flash update zip from one of the links below

Copy the update.zip to the root of your SD card (the name MUST remain as update.zip)

When you want to launch the recovery image

Turn on your device with 'volume down' pressed and select 'Recovery'

When the exclamation mark appears, press and hold 'volume up' then press 'power'

Im using Paul's R4 rooting files at the location C:/users/veedubz/r4-desire-root in Windows 7 so point your Command prompt there first and im also assuming that you have a rooted Desire and can get into recovery mode
1. First get into recovery mode with the Green menu then close that command prompt and open a new one and cd to /r4-desire-root folder

Use one of the following methods
4a. Now you have a list of the files you can chose the ones you want to remove , note that this part is case sensitive so com.htc.twitterwidget.apk is not the same as com.htc.TwitterWidget.apk, use the following code(example used is the Stocks app and widget):

The files will be moved to the new folder on your sdcard called /device-files, once there you can also backup to your pc for a bit of extra backup
5. Repeat Step 4. untill all the apk files that you want to remove are gone and to check that they are gone use

XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality.Are you a developer?