I simply took BCNice20's instructions and added more detail for less experienced users. In fact I copied most of this directly from his thread and added more detail.
I take absolutely no responsibility for your phone if you brick it, if it melts, if it sleeps with your wife, or if it burns your house down.
Proceed at your own risk.
If you need to get started with the SDK and ADB start here
Temp root your device using Visionary or Z4 (I prefer Visionary)
If you are already temp rooted skip this step
Download the file linked at this address http://www.thebcblends.com/shift/Shift-root.zip
Extract the contents to the root of your SD card.
If you are having trouble extracting download 7-Zip
Once installed connect your phone to your computer as a disk drive
right click on the shift-root.zip, select extract here, then use the dropdown to locate your device, more specifically your SD card
Once you have extracted the file to the root of your sd card change your connection type back to charge only
If you have followed my other thread you already have adb working
Open the cmd prompt and paste the following
you will see this
Superuser will prompt you to click allow on your phone. Click it quickly to allow permissions!
Now you will see
Make sure you copy and paste this exactly
Your result should look like this 386c19451e8dd18f9b98fad6b11be4c0 hboot_orig.bin make sure the numbers match. You may have some extra path in front of hboot_orig.bin.
Next copy and paste this exactly
Your result should look like this 60ec1006e6ec2e8acb370d6aad35b17e hboot_eng.nb0 make sure the numbers match. You may have some extra path in front of hboot_eng.nbo.
If these do not match do not proceed. Delete the file placed on the root of your sd card and repeat step 2 and redownload.
Now we're going to flash the eng spl. This is where the unpleasant things can happen.
Make sure you are in adb shell with superuser(root) permission. This was explained in Step 3.
If you are not in adb shell with root permissions then do not proceed. Do not pass go, do not collect $200.
Now DO NOT REBOOT until you are instructed to do so!!
Now paste this exactly into cmd prompt
dd if=/sdcard/Shift/hboot_eng.nb0 of=/dev/block/mmcblk0p18
You have flashed the eng spl. Now we will make sure it flashed properly.
Check the md5 of new flash hboot and restore if necessary
run this command to pull the newly flashed hboot to your sdcard
dd if=/dev/block/mmcblk0p18 of=/sdcard/Shift/hboot_check.nb0
now we check the md5 to see if it matches
it should read 60ec1006e6ec2e8acb370d6aad35b17e
if the md5sum matches then congratulations its safe to reboot!! you can skip the next bit and continue on to step 7
if you absolutely cannot get the eng hboot to flash right then run this to restore the stock hboot
dd if=/sdcard/Shift/hboot_orig.bin of=/dev/block/mmcblk0p18
then pull it to check md5
dd if=/dev/block/mmcblk0p18 of=/sdcard/Shift/hboot_check1.bin
then check the md5sum
it should read 386c19451e8dd18f9b98fad6b11be4c0
if it doesnt keep trying until it does but DO NOT!! reboot till it matches
check hboot and perm root!!
ok now reboot your phone into bootloader
turn off phone and hold power+vol down till it boots into bootloader
look at the top and make sure it says s off
if so reboot the phone back into android
put the phone into airplane mode
Go to setting, applications, manage applications and uninstall superuser
Next temp root with visionary
after you are temp rooted then attempt to perm root with visionary
your phone will reboot and you are now officially perm rooted any changes you make will now stick on reboot
**Edit Recovery Added**
Download ROM Manager from the Market. (Pay for the donate version!)
Open ROM Manger and install recovery.