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

Search This thread

mumilover

Senior Member
Mar 18, 2010
1,348
616
Copenhagen
I'm stuck on step 8. I can't boot into recovery mode.
I see a hazard sign and an android.

Rogers HTC Magic 32A
It's like saying my computer wont boot up... Not very informative

WHAT DID YOU DO?
WHAT DO YOU HAVE ACCESS TO; RECOVERY, SYSTEM, FASTBOOT, RUU ECT.?
WHAT WAS THE STATE BEFORE YOU DID THE THING YOU DID?
WHICH FILES DID YOU USE?
WHICH GUIDES DID YOU FOLLOW?
WHAT ARE YOU DEVICE SPECS?
 

Mawtin

Senior Member
Nov 8, 2011
255
46
It's like saying my computer wont boot up... Not very informative

WHAT DID YOU DO?
WHAT DO YOU HAVE ACCESS TO; RECOVERY, SYSTEM, FASTBOOT, RUU ECT.?
WHAT WAS THE STATE BEFORE YOU DID THE THING YOU DID?
WHICH FILES DID YOU USE?
WHICH GUIDES DID YOU FOLLOW?
WHAT ARE YOU DEVICE SPECS?

Oh I got it to work, I just forgot to edit my post.
 

rained23

Member
Aug 20, 2009
8
0
I was able to succeed until Recovery mode,
when I try to use eng SPL . It stuck at FORMATING CACHE...

I wanted to install CM 6.1 but I received Status 7. I assume it was cause
by my SPL. So I try to update my SPL but no success.

HTC Magic 32A S-OFF
HBOOT - 1.76.2007
RADIO-6.35.07.29
 

mumilover

Senior Member
Mar 18, 2010
1,348
616
Copenhagen
Download fastboot commander from signature (both v1.51 and magic)...
Use version 1.51 to post here all device info..

The magic version has special tabs and some important files bundled...
 

bradfordbunch

New member
Feb 19, 2011
4
0
Vancouver, USA
Process ends leaving 'Formatting Cache' as last status

I was able to succeed until Recovery mode, when I try to use eng SPL. It stuck at FORMATTING CACHE...

HTC Magic 32A S-OFF
HBOOT - 1.76.2007
RADIO-6.35.07.29

I'm having the same issue...it appears the process is stuck at Formatting Cache, but I believe it's really just bombed out and that is the last message displayed...control is returned to the 'Android system recovery' menu, as I can select an option from there. Here's the device info before and after doing the update:

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

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

after, per Fastboot Commander:
SPL/hboot version: 1.33.2010.
Radio version: 2.22.28.25.
Main software version: 1.88.531.1.
cid: t-mob010.
cpld: 10.
product: sapphire.
mid: sapp30000.
security: off.
build-mode: eng.
 
Last edited:

bradfordbunch

New member
Feb 19, 2011
4
0
Vancouver, USA
Issue resolved! I changed the SPL/hboot version

I need more info on what you are trying to do..
I believe the problem lies with the radio version..
http://xdaforums.com/showthread.php?t=831139

As a clarification to my earlier post, the comment regarding the recovery process 'bombing out' at the point of formatting the cache was incorrect. Because no further status was presented, it appeared the phone was 'hung' at that point when in fact the process had actually completed correctly. I simply needed to select to reboot the phone (from the recovery menu).

Once I did that, the phone would boot but would stay at the initial splash screen and not continue. Once I flashed the DREAMteam ROM I then experienced the boot-loop problem -- the splash screen would come up, it would look like the OS was going to load, and then the phone would reboot.

After research, I suspected the problem might be related to using the updated SPL/hboot version 1.33.2010. I found a ZIP for SPL/hboot version 1.33.0013d and flashed that to my phone. Once that was done (along with doing a super wipe) I then flashed the DREAMteam v1.9.1 ROM (Froyo) available here. Things are working great now. The phone appears to be stable and is fairly snappy with this ROM.
 
Last edited:

LAFitz

Member
Mar 5, 2011
40
0
Where to get roottools

I'm trying to follow this guide on my htc magic 32a / android 1.5 but am stumped by the very first step:

"Download and extract the contents of RootTools to C:\roottools."

Can someone please point me to a source for RootTools?

Thank you in advance,

Laurie
 

SantiMun

Member
Nov 11, 2010
39
3
I'm trying to follow this guide on my htc magic 32a / android 1.5 but am stumped by the very first step:

"Download and extract the contents of RootTools to C:\roottools."

Can someone please point me to a source for RootTools?

Thank you in advance,

Laurie

Read the original post, its at the bottom under "LINK TO ROOT TOOLS"

---------- Post added at 06:10 PM ---------- Previous post was at 06:05 PM ----------

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)

So I have turned S-OFF via flashing hboot and now I would like to turn it back on. Unfortunately I did not see instructions to revert back on the original post. Do I just have to flash hboot again and it will turn S-ON?
 

92drls

Senior Member
Jul 25, 2009
755
143
Behind you
Have come to my backup phone since my sensation has been stolen, I followed your method to a T, when I am in the universal app and hit root, it says
""Failed ! No ~~~ Fu goo ~~~ "

I've tried un/mounting the sd, made sure usb debug was on etc etc.. Any ideas?

Its android 2.2.1 and is asking me every other minute if I want the OTA... Lol its getting old, please help! Thanks
 

Najuto9tail

Senior Member
Aug 25, 2011
758
153
Lajas, PR
In the OP it states that this method will not work for 2.2.1...

Use http://xdaforums.com/showthread.php?t=803682 to get root, then continue with the guide..

I get error adb pushing the recovery image to sd card... why?

hey I managed to Root by using superoneclick 2.3.3 my mytouch 2.2.1 android and I get and error on step 5 where it says failed to ... Is file directory.
I have a thread about help for rooting, will donate 5$ to anyone who helps me.
/showthread.php?t=1527744
 
Last edited:

FPSNige

New member
Mar 10, 2012
4
0
I get error adb pushing the recovery image to sd card... why?

hey I managed to Root by using superoneclick 2.3.3 my mytouch 2.2.1 android and I get and error on step 5 where it says failed to ... Is file directory.
I have a thread about help for rooting, will donate 5$ to anyone who helps me.
/showthread.php?t=1527744

Try adding a trailing slash, so its /sdcard/
 

Electic

Member
Oct 30, 2010
17
1
Code:
c:\roottools\windows>adb shell
$ su

# mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

# cd /system/bin

# cat /data/local/tmp/flash_image > ./flash_image

# chmod 777 ./flash_image

# ./flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0G.img
./flash_image recovery /sdcard/recovery-RA-sapphire-v1.7.0G.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
#

I'm at a loss at this point. I didnt have a flash_image in /system/bin so I completed step 9 and and at this hurdle. I used the one click for root, not sure if that relevant.

Please advise
 
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)