[Guide][ALL DEVICES]ROOT + flash custom recovery + fix perfected spl [27 JAN 2012]

Search This thread

Electic

Member
Oct 30, 2010
17
1
@Electic that recovery does not work for that phone. You need to use the RA-hero-v1.6.2 recovery.

Sent from my LG-P925g using XDA

Are you sure bud? Her radio is: 2.22.28.25

Sapphire PVT 32B SHIP S-ON G
HBOOT-1.33.0013 (SAPP10000)
CPLD10
RADIO: 2.22.28.25
Oct 21 2009, 22:33:27


OP said:
If your radio starts with 2.22:

adb push C:\roottools\3.22Radio\recovery-RA-sapphire-v1.7.0G.img /sdcard





Edit:

Same thing on Hero recovery too :/
Code:
./flash_image recovery /sdcard/Recovery-RA-hero-v1.6.2.img
mtd: read error at 0x00000000 (Out of memory)
mtd: read error at 0x00020000 (Out of memory)
mtd: read error at 0x00040000 (Out of memory)
mtd: read error at 0x00060000 (Out of memory)
mtd: read error at 0x00080000 (Out of memory)
mtd: read error at 0x000a0000 (Out of memory)
mtd: read error at 0x000c0000 (Out of memory)
mtd: read error at 0x000e0000 (Out of memory)
mtd: read error at 0x00100000 (Out of memory)
mtd: read error at 0x00120000 (Out of memory)
mtd: read error at 0x00140000 (Out of memory)
mtd: read error at 0x00160000 (Out of memory)
mtd: read error at 0x00180000 (Out of memory)
mtd: read error at 0x001a0000 (Out of memory)
mtd: read error at 0x001c0000 (Out of memory)
mtd: read error at 0x001e0000 (Out of memory)
mtd: read error at 0x00200000 (Out of memory)
mtd: read error at 0x00220000 (Out of memory)
mtd: read error at 0x00240000 (Out of memory)
mtd: read error at 0x00260000 (Out of memory)
mtd: read error at 0x00280000 (Out of memory)
mtd: read error at 0x002a0000 (Out of memory)
mtd: read error at 0x002c0000 (Out of memory)
mtd: read error at 0x002e0000 (Out of memory)
mtd: read error at 0x00300000 (Out of memory)
mtd: read error at 0x00320000 (Out of memory)
mtd: read error at 0x00340000 (Out of memory)
mtd: read error at 0x00360000 (Out of memory)
mtd: read error at 0x00380000 (Out of memory)
mtd: read error at 0x003a0000 (Out of memory)
mtd: read error at 0x003c0000 (Out of memory)
mtd: read error at 0x003e0000 (Out of memory)
mtd: read error at 0x00400000 (Out of memory)
mtd: read error at 0x00420000 (Out of memory)
mtd: read error at 0x00440000 (Out of memory)
mtd: read error at 0x00460000 (Out of memory)
mtd: read error at 0x00480000 (Out of memory)
mtd: read error at 0x004a0000 (Out of memory)
mtd: read error at 0x004c0000 (Out of memory)
mtd: read error at 0x004e0000 (Out of memory)
mtd: write error at 0x00000000 (Out of memory)
mtd: re-read error at 0x00000000 (Out of memory)
mtd: write error at 0x00000000 (Out of memory)
mtd: re-read error at 0x00000000 (Out of memory)
mtd: skipping write block at 0x00000000
mtd: write error at 0x00020000 (Out of memory)
mtd: re-read error at 0x00020000 (Out of memory)
mtd: write error at 0x00020000 (Out of memory)
mtd: re-read error at 0x00020000 (Out of memory)
mtd: skipping write block at 0x00020000
mtd: write error at 0x00040000 (Out of memory)
mtd: re-read error at 0x00040000 (Out of memory)
mtd: write error at 0x00040000 (Out of memory)
mtd: re-read error at 0x00040000 (Out of memory)
mtd: skipping write block at 0x00040000
mtd: write error at 0x00060000 (Out of memory)
mtd: re-read error at 0x00060000 (Out of memory)
mtd: write error at 0x00060000 (Out of memory)
mtd: re-read error at 0x00060000 (Out of memory)
mtd: skipping write block at 0x00060000
mtd: write error at 0x00080000 (Out of memory)
mtd: re-read error at 0x00080000 (Out of memory)
mtd: write error at 0x00080000 (Out of memory)
mtd: re-read error at 0x00080000 (Out of memory)
mtd: skipping write block at 0x00080000
mtd: write error at 0x000a0000 (Out of memory)
mtd: re-read error at 0x000a0000 (Out of memory)
mtd: write error at 0x000a0000 (Out of memory)
mtd: re-read error at 0x000a0000 (Out of memory)
mtd: skipping write block at 0x000a0000
mtd: write error at 0x000c0000 (Out of memory)
mtd: re-read error at 0x000c0000 (Out of memory)
mtd: write error at 0x000c0000 (Out of memory)
mtd: re-read error at 0x000c0000 (Out of memory)
mtd: skipping write block at 0x000c0000
mtd: write error at 0x000e0000 (Out of memory)
mtd: re-read error at 0x000e0000 (Out of memory)
mtd: write error at 0x000e0000 (Out of memory)
mtd: re-read error at 0x000e0000 (Out of memory)
mtd: skipping write block at 0x000e0000
mtd: write error at 0x00100000 (Out of memory)
mtd: re-read error at 0x00100000 (Out of memory)
mtd: write error at 0x00100000 (Out of memory)
mtd: re-read error at 0x00100000 (Out of memory)
mtd: skipping write block at 0x00100000
mtd: write error at 0x00120000 (Out of memory)
mtd: re-read error at 0x00120000 (Out of memory)
mtd: write error at 0x00120000 (Out of memory)
mtd: re-read error at 0x00120000 (Out of memory)
mtd: skipping write block at 0x00120000
mtd: write error at 0x00140000 (Out of memory)
mtd: re-read error at 0x00140000 (Out of memory)
mtd: write error at 0x00140000 (Out of memory)
mtd: re-read error at 0x00140000 (Out of memory)
mtd: skipping write block at 0x00140000
mtd: write error at 0x00160000 (Out of memory)
mtd: re-read error at 0x00160000 (Out of memory)
mtd: write error at 0x00160000 (Out of memory)
mtd: re-read error at 0x00160000 (Out of memory)
mtd: skipping write block at 0x00160000
mtd: write error at 0x00180000 (Out of memory)
mtd: re-read error at 0x00180000 (Out of memory)
mtd: write error at 0x00180000 (Out of memory)
mtd: re-read error at 0x00180000 (Out of memory)
mtd: skipping write block at 0x00180000
mtd: write error at 0x001a0000 (Out of memory)
mtd: re-read error at 0x001a0000 (Out of memory)
mtd: write error at 0x001a0000 (Out of memory)
mtd: re-read error at 0x001a0000 (Out of memory)
mtd: skipping write block at 0x001a0000
mtd: write error at 0x001c0000 (Out of memory)
mtd: re-read error at 0x001c0000 (Out of memory)
mtd: write error at 0x001c0000 (Out of memory)
mtd: re-read error at 0x001c0000 (Out of memory)
mtd: skipping write block at 0x001c0000
mtd: write error at 0x001e0000 (Out of memory)
mtd: re-read error at 0x001e0000 (Out of memory)
mtd: write error at 0x001e0000 (Out of memory)
mtd: re-read error at 0x001e0000 (Out of memory)
mtd: skipping write block at 0x001e0000
mtd: write error at 0x00200000 (Out of memory)
mtd: re-read error at 0x00200000 (Out of memory)
mtd: write error at 0x00200000 (Out of memory)
mtd: re-read error at 0x00200000 (Out of memory)
mtd: skipping write block at 0x00200000
mtd: write error at 0x00220000 (Out of memory)
mtd: re-read error at 0x00220000 (Out of memory)
mtd: write error at 0x00220000 (Out of memory)
mtd: re-read error at 0x00220000 (Out of memory)
mtd: skipping write block at 0x00220000
mtd: write error at 0x00240000 (Out of memory)
mtd: re-read error at 0x00240000 (Out of memory)
mtd: write error at 0x00240000 (Out of memory)
mtd: re-read error at 0x00240000 (Out of memory)
mtd: skipping write block at 0x00240000
mtd: write error at 0x00260000 (Out of memory)
mtd: re-read error at 0x00260000 (Out of memory)
mtd: write error at 0x00260000 (Out of memory)
mtd: re-read error at 0x00260000 (Out of memory)
mtd: skipping write block at 0x00260000
mtd: write error at 0x00280000 (Out of memory)
mtd: re-read error at 0x00280000 (Out of memory)
mtd: write error at 0x00280000 (Out of memory)
mtd: re-read error at 0x00280000 (Out of memory)
mtd: skipping write block at 0x00280000
mtd: write error at 0x002a0000 (Out of memory)
mtd: re-read error at 0x002a0000 (Out of memory)
mtd: write error at 0x002a0000 (Out of memory)
mtd: re-read error at 0x002a0000 (Out of memory)
mtd: skipping write block at 0x002a0000
mtd: write error at 0x002c0000 (Out of memory)
mtd: re-read error at 0x002c0000 (Out of memory)
mtd: write error at 0x002c0000 (Out of memory)
mtd: re-read error at 0x002c0000 (Out of memory)
mtd: skipping write block at 0x002c0000
mtd: write error at 0x002e0000 (Out of memory)
mtd: re-read error at 0x002e0000 (Out of memory)
mtd: write error at 0x002e0000 (Out of memory)
mtd: re-read error at 0x002e0000 (Out of memory)
mtd: skipping write block at 0x002e0000
mtd: write error at 0x00300000 (Out of memory)
mtd: re-read error at 0x00300000 (Out of memory)
mtd: write error at 0x00300000 (Out of memory)
mtd: re-read error at 0x00300000 (Out of memory)
mtd: skipping write block at 0x00300000
mtd: write error at 0x00320000 (Out of memory)
mtd: re-read error at 0x00320000 (Out of memory)
mtd: write error at 0x00320000 (Out of memory)
mtd: re-read error at 0x00320000 (Out of memory)
mtd: skipping write block at 0x00320000
mtd: write error at 0x00340000 (Out of memory)
mtd: re-read error at 0x00340000 (Out of memory)
mtd: write error at 0x00340000 (Out of memory)
mtd: re-read error at 0x00340000 (Out of memory)
mtd: skipping write block at 0x00340000
mtd: write error at 0x00360000 (Out of memory)
mtd: re-read error at 0x00360000 (Out of memory)
mtd: write error at 0x00360000 (Out of memory)
mtd: re-read error at 0x00360000 (Out of memory)
mtd: skipping write block at 0x00360000
mtd: write error at 0x00380000 (Out of memory)
mtd: re-read error at 0x00380000 (Out of memory)
mtd: write error at 0x00380000 (Out of memory)
mtd: re-read error at 0x00380000 (Out of memory)
mtd: skipping write block at 0x00380000
mtd: write error at 0x003a0000 (Out of memory)
mtd: re-read error at 0x003a0000 (Out of memory)
mtd: write error at 0x003a0000 (Out of memory)
mtd: re-read error at 0x003a0000 (Out of memory)
mtd: skipping write block at 0x003a0000
mtd: write error at 0x003c0000 (Out of memory)
mtd: re-read error at 0x003c0000 (Out of memory)
mtd: write error at 0x003c0000 (Out of memory)
mtd: re-read error at 0x003c0000 (Out of memory)
mtd: skipping write block at 0x003c0000
mtd: write error at 0x003e0000 (Out of memory)
mtd: re-read error at 0x003e0000 (Out of memory)
mtd: write error at 0x003e0000 (Out of memory)
mtd: re-read error at 0x003e0000 (Out of memory)
mtd: skipping write block at 0x003e0000
mtd: write error at 0x00400000 (Out of memory)
mtd: re-read error at 0x00400000 (Out of memory)
mtd: write error at 0x00400000 (Out of memory)
mtd: re-read error at 0x00400000 (Out of memory)
mtd: skipping write block at 0x00400000
mtd: write error at 0x00420000 (Out of memory)
mtd: re-read error at 0x00420000 (Out of memory)
mtd: write error at 0x00420000 (Out of memory)
mtd: re-read error at 0x00420000 (Out of memory)
mtd: skipping write block at 0x00420000
mtd: write error at 0x00440000 (Out of memory)
mtd: re-read error at 0x00440000 (Out of memory)
mtd: write error at 0x00440000 (Out of memory)
mtd: re-read error at 0x00440000 (Out of memory)
mtd: skipping write block at 0x00440000
mtd: write error at 0x00460000 (Out of memory)
mtd: re-read error at 0x00460000 (Out of memory)
mtd: write error at 0x00460000 (Out of memory)
mtd: re-read error at 0x00460000 (Out of memory)
mtd: skipping write block at 0x00460000
mtd: write error at 0x00480000 (Out of memory)
mtd: re-read error at 0x00480000 (Out of memory)
mtd: write error at 0x00480000 (Out of memory)
mtd: re-read error at 0x00480000 (Out of memory)
mtd: skipping write block at 0x00480000
mtd: write error at 0x004a0000 (Out of memory)
mtd: re-read error at 0x004a0000 (Out of memory)
mtd: write error at 0x004a0000 (Out of memory)
mtd: re-read error at 0x004a0000 (Out of memory)
mtd: skipping write block at 0x004a0000
mtd: write error at 0x004c0000 (Out of memory)
mtd: re-read error at 0x004c0000 (Out of memory)
mtd: write error at 0x004c0000 (Out of memory)
mtd: re-read error at 0x004c0000 (Out of memory)
mtd: skipping write block at 0x004c0000
mtd: write error at 0x004e0000 (Out of memory)
mtd: re-read error at 0x004e0000 (Out of memory)
mtd: write error at 0x004e0000 (Out of memory)
mtd: re-read error at 0x004e0000 (Out of memory)
mtd: skipping write block at 0x004e0000
error writing recovery: No space left on device
#
 
Last edited:

Electic

Member
Oct 30, 2010
17
1
Just to add, the handset is dog slow, so perhaps theirs an issue? Anyways to check the internal memory?

Though Im comparing it to my DHD.
 

Electic

Member
Oct 30, 2010
17
1
/data/local/tmp Yes, mate. I started there and got the same problem. Searched the issue and ended up in /system/bin to the same issue :/
 

mumilover

Senior Member
Mar 18, 2010
1,348
616
Copenhagen
OK. It seems that you have a corrupt mdt layout.
The only thing left, is to re-flash your device from fastboot.
Find an appropriate ruu (matching your version nr) and re-flash to stock.
If your version nr is to high, we can always "downgrade" it to a lower version nr.

If you use fastboot commander ver. 1.51 from my signature, and copy-paste the device info and post it here, i can help you find the right ruu for you.
 

Electic

Member
Oct 30, 2010
17
1
Thank you kindly for the support. The missus is at work at present (its her handset) so cant dont have the handset here.

Ill look back at this when she's home.

Thanks again
 

Electic

Member
Oct 30, 2010
17
1
Theres another issue. Without recovery I cant flash S-off? Thus the FastBoot Commander wont function?

SPL/hboot version: 1.33.0013.
Radio version: 2.22.28.25.
Main software version: 1.91.161.1.
cid: vodap001.
cpld: 10.
product: sapphire.
mid: sapp10000.
security: on.
build-mode: ship.
 
Last edited:
  • Like
Reactions: brandnew2009

mumilover

Senior Member
Mar 18, 2010
1,348
616
Copenhagen
Download this file: https://rapidshare.com/files/2494932377/1.91.161.1.nbh
Download fastboot commander (FC) ver.1.51
Open FC and use the "Full Zip" tab.
Flash the above file.
Follow on-screen instructions.

NB: The above file will reset your device. All your files and data will be gone...

Once everything is done and you are booted into android os, then follow the first post of this thread.

Good luck.
 
Last edited:

Electic

Member
Oct 30, 2010
17
1
Hmm, this isnt go at all as I envisioned:

###Calling fastboot with: flash nbh C:\Fastboot\Tools\1.91.161.1.nbh###
sending 'nbh' (101532 KB)... FAILED (remote: not allow)
finished. total time: 0.001s
********************************
 

Electic

Member
Oct 30, 2010
17
1
You the man! It worked. Thanks Kindly. Now to continue with recovery!

Thanks alot man, a beer will be winging its way to you soon!

Edit:

All done! Thanks alot, man! Really couldnt have done it without ya. Now to pick her a ROM.
 
Last edited:

Mickyyy

Senior Member
Dec 21, 2010
144
8
SC
I need a bit of help. I'm trying to root but cannot get it.

I have a 32a radio 2.22.28.25 hboot 1.23.0013.

Using superoneclick it tells me I am already rooted. However I cannot get anything requiring root access to receive privileges. Nothing in su app signifying anything is even trying. Also receive an error in terminal when requesting su.

I've tried to unroot and reroot to no avail. Universal androot won't work. Tried in recovery mode and fastboot.

Currently my phone is my internet source so I can't install adb either.

Need some help because I'm confused!

Edit: older version of super one click worked. Version 1.9

Sent from my T-Mobile myTouch 3G using Tapatalk
 
Last edited:
  • Like
Reactions: brandnew2009

acseazzu

Senior Member
Dec 8, 2009
102
5
I currently have hboot 1.33.0013d and was wondering on a way to get the eng SPL and can I use tvall's cm7?
 

fbihawk

Senior Member
Apr 25, 2012
89
9
Olathe, KS
all sorts of issues

Just got an unlocked mytouch 3g from my sister and been trying to unlock, root and load a custom recovery on it. I've tried multiple methods and nothing seems to be working quite right.

I have a 32a chipset with a 2.22 radio

I have 2.2.1 software so I used the SuperOneClick root method. Everytime I use it though the software seems to freeze up. I don't know if it got through all it's steps or not but when I use rootchecker it says it is rooted. I didn't have superuser on the phone so I downloaded it from market and it says the same. However, it says my su binary is out of date and can't verify the md5sum of the new download.

Back to this method, when i try and push the new recovery image to the phone it says
"failed to copy 'C:\roottools\3.22Radio\recovery-RA-sapphire-v1.7.0G.img' to '/sdcard' : is a directory"

I did the not so cool method and turned on the usb storage and just copied the file to the root of my sdcard. (also, oddly enough, if I transfer the file to /sdcard/dcim or some other folder on the card it works fine)

As you would guess, I didn't have flash_image in my shell so I went to step 9

when i go through the steps I get to the end and it says "error writing recovery: permission denied"

I've also tried to install clockworkmod recovery and it flashes fine but it won't ever take me to it.

In the end, I obviously have no idea what I'm doing wrong. I do, however, know I have usb debugging on. This is my second android phone I've rooted so I'm not a complete noob...still pretty close though.

Thanks!
 

ScriptJunkie

Member
Apr 24, 2012
31
3
Austin
Other way to solve the not sticking custom recovery problem

About the recovery issue (This is only on SOME systems!):
In /system/recovery.img there is a full copy of everything that is loaded on the recovery partition. This file is automatically flashed onto the recovery partition every time you shut down. That means two things: 1. Any changes you make directly to the recovery partition gets blown away on reboot and 2. If you want to change the recovery partition you're probably better off just sticking the image in /system/recovery.img and rebooting.

So to fix this problem you have to rename the custom recovery file to:
recovery.img
then make sure it's on /system/recovery.img.
Code:
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mv /sdcard/recovery.img /system/recovery.img
This will make sure that you have the custom recovery on every boot.

OR

you could delete the file located on: /system/etc/install-recovery.sh which is responsible for flashing the stock image
Code:
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
rm /system/etc/install-recovery.sh
Others who don't have this problem, please ignore the above :0)

Thanks for the post. Almost all worked perfectly.

I have a 32B board with the 2.2.1 Froyo and 1.33.0013 SPL. I rooted through SuperOneClick smoothly, but the custom recovery wouldn't stick. So I tried the first method (quoted on top) to solve it. It didn't work. And I don't like to erase stock files, like the second method suggest.

So, I looked around the files in the /system/etc/ folder, and it turns out that you can just modify install-recovery.sh very easily. Just replace the part where it says /system/recovery-from-boot.p (at the end of one of the lines, all the way to the right, after a long series of numbers) by /system/recovery.img. So every time you shut down your system is pointed to the custom recovery. And, if you want to go back to the stock recovery, you only need to change back the line and reboot.
 

ScriptJunkie

Member
Apr 24, 2012
31
3
Austin
ENG SPL

Every time I try to change my SPL to an engineering one I soft-brick my phone, and I have to flash the 1.5 android SAPPIMG.nbh image to get it back. I followed the steps to the letter, but to get the custom recovery image I used the previous post to get the custom recovery image (so I wouldn't have to delete install-recovery.sh).

Help, please. What can I do?

This is my phone info after I install all the updates to get it to Froyo 2.2.1:

Code:
SAPPHIRE PVT 32B SHIP S-ON G
HBOOT-1.33.0013 (SAPP30000)
CPLD-10
RADIO-2.22.27.08
Oct 21 2009,22:33:27

I root it, install custom recovery and flash ENG SPL without errors. I shut down and power up again (I tried rebooting too), but it gets stuck on the green splash screen of myTouch 3G. I waited over 10 min, and nothing. I pull out the battery and boot into fastboot and it changed the SPL alright, SHIP->ENG, S-ON->S-OFF, and G->H. I also still have access to the custom recovery, but it won't start.

Code:
SAPPHIRE PVT 32B ENG S-OFF H
HBOOT-1.33.2010 (SAPP30000)
CPLD-10
RADIO-2.22.27.08
Jun 2 2009,17:27:03
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    I added a DONATE button... my HTC Magic device was stolen.. i need a new one for testing...
    Once i have enough for it i will remove the donate button :0)


    Root your sapphire/magic device the easy way.

    This guide is confirmed to work with Rogers 2.1 update!
    It will not work with the 2.2.1 update...
    Instead, use this tool for root and continue from step 5..

    WANT ROOT ONLY:
    try to install "universal androot" from market and just do step 4.
    --OR--
    Only do the blue steps in this guide!
    The recovery is optional!
    The spl is a luxury and only needed if you have some specific use for it!

    Remember spl = hboot ( the names are interchangeable)

    READ EVERYTHING BEFORE YOU DO ANYTHING.
    I'M NOT RESPONSIBLE IF YOU BRICK YOUR DEVICE.

    This guide is made for NOOBS with windows, but the steps can be made on any OS.
    The RootTools-package have the tools + images needed for windows, linux and mac!
    You don't even need the android sdk :0)
    No need for goldcard!



    Step 0) -Only do this step if your going to flash custom recovery + spl(optional)
    Reboot your system into fastboot (hold power-button and back-button together)
    Write down EVERYTHING YOU SEE ON YOUR SCREEN.
    Reboot into your system again.

    Step 1)
    Download and extract the contents of RootTools to C:\roottools

    Step 2)
    start a command promt (cmd)
    type:
    cd c:\roottools\windows

    Step 3)
    Make sure that your device has usb debugging turned on by doing:
    push "menu" -> Settings -> Applications -> Development -> make sure that "USB debugging" IS CHECKED.

    now install the app that will root your system by typing:
    adb install C:\roottools\App\UniversalAndroot_1.6.1.apk

    Step 4)
    Start the app from your device... it's called universal androot.
    The app will automatically check your system version.
    But, just to sure - verify it then push "root :)"
    Wait for it to finish..
    if it fails, then try again... if it still fails try to choose:
    "Do not install Super user" and then push "root :)"
    If all goes well then you have ROOT :0)
    If it did not go well, then ask for help in this thread!

    You can now do what ever you want...
    But i recommend to continue with the recovery part.
    The eng spl is optional, and you dont need it unless you have enough experience with fastboot and terminal commands! Roms are flashed using custom recovery...



    Step 5) RECOVERY
    Now we use the info you wrote down earlier...

    ---------------
    If your radio starts with 3.22:

    adb push C:\roottools\3.22Radio\recovery-RA-sapphire-v1.7.0H.img /sdcard

    ----OR---

    If your radio starts with 2.22:

    adb push C:\roottools\3.22Radio\recovery-RA-sapphire-v1.7.0G.img /sdcard

    ----OR---

    If your radio starts with 6.35 type:

    adb push C:\roottools\6.35Radio\Recovery-RA-hero-v1.6.2.img /sdcard
    ------------

    Step 6) OPTIONAL
    If you would like a eng(Engineer) spl/hboot then do this:
    --------------

    If your radio starts with 3.22 or less type:

    adb push C:\roottools\3.22Radio\hboot_2010_signed.zip /sdcard
    (If you have the 3.5mm jack use the above, but only if you have something important that needs eng spl.
    Using this spl will cut your ram in half and make the 3.5mm jack useless!
    You can always revert back to stock spl when your done doing the "important" stuff :0)


    ----OR---

    If your radio starts with 6.35 type:

    adb push C:\roottools\6.35Radio\hboot_2007_signed.zip /sdcard


    Step 7)
    Now we are going to flash custom recovery.
    type:
    adb shell
    su
    (Now look at your device. If the superuser app is asking for permissions, then just push "allow" and make sure that the "remember" option is checked.)
    cd /system/bin
    ls
    (now make sure that you see a file called "flash_image". If you do not, then make step 9 and forget the rest of THIS step)
    ./flash_image recovery /sdcard/_________ (where the "_________" are replaced by the name of the recovery image you pushed in step 5)
    ( An example:
    ./flash_image recovery /sdcard/Recovery-RA-hero-v1.6.2.img
    ---OR---
    ./flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0H.img)
    Remember, if you get no response, or the command it self is repeated, then you are good to go. In Linux (and thereby also Android) no errors means success!



    Now you should have a custom recovery.. you can read in the forum what that can do for you...:0)
    I recommend you to stop here, or you can continue if you made step 6.

    If your recovery is not sticking(like it returns to stock on every boot) check out the second post!
    Warning, step 8 can brick your device if done improperly!



    Step 8)
    Now we are going to flash eng spl/hboot using the custom recovery.
    Turn of the device.
    Start in recovery mode by holding the home-button together with power-button for min 5 sec.
    (Hold the home-button first then the power-button :0)
    The custom recovery should start. You navigate using the trackball.
    Choose "flash zip from sdcard"
    (If you get errors like those:
    E:Can't mount /dev/block/mmcblk0p1 (or /dev/block/mmcblk0)
    (No such file or directory)

    Or
    E:Can't mount SDCARD:
    It's a small bug that shows up randomly.
    It means that the custom recovery can't mount your sdcard...
    To fix it try this:
    Select "usb-ms toggle".... waiting 5 sec...then push menu-button.
    Some times you need to repeat it 2-3 times before you again can get access to the sdcard!
    Then choose "flash zip from sdcard" from the menu.)

    Choose the zip file you pushed in step 6.(should start with hboot)
    Follow the instructions on the device screen. JUST DO WHAT IT TELLS YOU TO DO!!!
    The device should restart a couple of times...
    It's normal if you see a different recovery screen for 10-15 sec... LET IT WORK!
    By all means don't interrupt it unless it has taken more then 2 min!
    (IF MORE THAN 2 MIN, THEN REMOVE BATTERY)
    You are done when it's back in recovery and is doing nothing for 30 sec or so.
    Choose "Power off".
    Restart in fastboot and check that your info has changed from what you wrote down earlier...


    DONE. You now have eng spl + custom recovery + ROOT... You can now do WHAT EVER YOU WANT TO DO.. you have complete control over your device :0)

    THE END!
    Check out some of the tools in my signature :0)

    Step 9) ONLY IF YOU DID NOT FIND flash_image IN STEP 7
    type:
    exit
    (you should now be back to windows command promt, if not keep typing exit until you are)
    type:
    adb push C:\roottools\App\flash_image /data/local/tmp
    adb shell
    su
    cd /data/local/tmp
    chmod 777 ./flash_image
    ./flash_image recovery /sdcard/_________ (where the "_________" is replaced by the name of the recovery image you pushed in step 5)
    ( An example:
    ./flash_image recovery /sdcard/Recovery-RA-hero-v1.6.2.img
    ---OR---
    ./flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0H.img)
    Remember, if you get no response, or the command it self is repeated, then you are good to go. In Linux (and thereby also Android) no errors means success!
    (Now go back and read the text after step 7 which has gray+red colour)


    LINK TO ROOTTOOLS:
    Rapidshare
    Hotfile
    Depositfiles
    Fileserver
    3
    Recovery issue

    About the recovery issue (This is only on SOME systems!):
    In /system/recovery.img there is a full copy of everything that is loaded on the recovery partition. This file is automatically flashed onto the recovery partition every time you shut down. That means two things: 1. Any changes you make directly to the recovery partition gets blown away on reboot and 2. If you want to change the recovery partition you're probably better off just sticking the image in /system/recovery.img and rebooting.

    So to fix this problem you have to rename the custom recovery file to:
    recovery.img
    then make sure it's on /system/recovery.img.
    Code:
    su
    mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    mv /sdcard/recovery.img /system/recovery.img
    This will make sure that you have the custom recovery on every boot.

    OR

    you could delete the file located on: /system/etc/install-recovery.sh which is responsible for flashing the stock image
    Code:
    su
    mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    rm /system/etc/install-recovery.sh
    Others who don't have this problem, please ignore the above :0)

    NB: Some of the info is borrowed from.
    Source: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
    3
    OK. It seems that you have a corrupt mdt layout.
    The only thing left, is to re-flash your device from fastboot.
    Find an appropriate ruu (matching your version nr) and re-flash to stock.
    If your version nr is to high, we can always "downgrade" it to a lower version nr.

    If you use fastboot commander ver. 1.51 from my signature, and copy-paste the device info and post it here, i can help you find the right ruu for you.
    2
    Thanks and sorry for the redundant question.

    Where can I get the 1.33.0013d SPL?

    No worries, I found the post you were talking about. But 1.33.0013d does not take the S-OFF, it just allows to use one fastboot command. Is there a way that I can get full fastboot control with 2.2.1 update?

    Is there a fast ROM that you would recommend for this set up?

    SAPPHIRE PVT 32B SHIP S-ON G
    HBOOT-1.33.0013d (SAPP30000)
    CLPD-10
    RADIO-2.22.27.08

    Thanks, you are the most helpful person I have found in this forum.

    Figured it was key to being rooted. Ok, so how do I run app that requires super user?

    A easy quick check (to see if you are properly rooted) is to download a terminal in your phone and type su. If the $ changes to # you are set.

    You have to allow root privileges to the terminal for this to work. But this comes from the root app. So if you say is not there I don't know.

    I rooted with SuperOneClick and I had to reboot for the root app to work.

    Think i might try a factory reset and start over.
    Ok... to clarify SU and super user app:

    SU = Super User.
    It's a special binary with only one purpose, to give you root access (root = super user = i can what the f*** i want to do).
    Some devices has the binary already, but you can only use it if you are root.. so its like chicken and eggs.. you need one for the other to work and vice versa.

    What does rooting app / scripts / programs do then ?
    Well, the only thing they do is to make sure you have su-binary in your system, and that EVERYBODY can call it... that's why you can get root permission by simply calling: su...
    That's when your terminal marker changes from $ (normal user) to # (root)...

    What does super user app do then ?
    Well, the problem is that EVERYBODY can call su and get root permissions... so if you have other apps in your device, they can get root permissions and mess your system up if they want... super user app creates a wall around su-binary, so you have to get through the app to get root permissions. This way, you (the user) have control over WHO and WHAT get access to root permissions.

    Summary: Super user app is nice to have, but it is NOT a necessity. If the su-binary is there and you can call it, then you are ROOTED ( have root permissions).
    Simple test is to call su inside a terminal app... if you marker changes to # then you have root (no matter if super user app is there or not)...
    You could also start a shell from adb, then call su.. if the marker changes.. you are rooted.

    Code:
    adb shell
    su
    I hope this helps the confusion around su / root / super user ap / rooting.

    To answer the following: "But 1.33.0013d does not take the S-OFF, it just allows to use one fastboot command. Is there a way that I can get full fastboot control with 2.2.1 update?"
    You can always flash eng spl (1.33.2010) through custom recovery to get full fastboot controll.. once you are done doing the stuff you need to do, you NEED to flash back the 1.33.0013d spl for the android system to work...

    Or you could hex-edit the 1.33.0013d spl making it discard all s-on flags and thereby become s-off (good luck :0)
    2
    Check out the second post.
    All the info is there..
    Don't forget to hit that thanks button :0)