[RECOVERY/BOOTSTRAP]Tweaked Safestrap v2.00a (ICS Leak) 06-13-2012

Search This thread

Rick#2

Senior Member
Mar 15, 2009
186
137
St. Albert
************************************
************************************

Note: Please uninstall Hashcode's Safestrap before you try installing this one. To accomplish this properly, you have to do two things:

1. Open up the Safestrap app from your launcher, and choose "Uninstall Recovery". Let it finish. It'll tell you whether or not it worked.

2. Then, go to Settings - Apps and find Safestrap. Click "Uninstall".

************************************
************************************

Installation of this app requires root privileges. If the installation does
not work, it is likely because you either:

a) don't have busybox installed.

b) you do have busybox installed but it doesn't have the functions we
need.

No problem. Just do this through adb or a terminal on the phone:

Code:
$ su
# mount -o remount,rw /system
# cp /system/xbin/busybox /system/xbin/busybox.old
# cp /data/data/com.hashcode.droid4safestrap/files/busybox /system/xbin/
# chmod 755 /system/xbin/busybox
# exit

Now it should work without a hitch.

************************************
************************************

Those of you who came from the Droid 3 might remember my customized version of Hashcode's Safestrap, which included a console, improved user-interface, non-safe flashing, etc.

I've finally got it to the point where I think it would be okay to release out in the wild. That being said, I'm not responsible for anything dumb you do to your own device. :D

I wouldn't bother using the non-safe flashing capabilities yet, seeing as how there hasn't really been any official releases using the new ICS kernels that have been leaked as of late. This feature is handy if you're a developer testing out update.zips for /systemorig, but for the average person you'd best pay heed to the warnings and just use Safestrap as it was originally intended; that is, leaving your /systemorig partition intact and only mess around with your "safe" /system. (Or /preinstall, actually, but that's not really important.)

The console is beyond useful. Editing build.prop settings on the fly without having to boot up and do it in a terminal emulator or via adb on the phone is much easier. If you know what you're doing, you can even extract single files from your old backups, modify your old backups, etc. That's just a small fraction, but those of you who would care about this functionality don't need me to say how important it can be.

I've included statically compiled versions of "bash" and "vim" so that there aren't any dependencies on the libraries usually found in /system/lib. Thus, you can use all of these utilities without having either /system or /systemorig mounted. You're free to add your own binaries in your home folder, which is located at /cache/.safestrap/home, or just pop them onto your sdcard.

Also, I have a battery monitor running so it will tell you what level your battery is at, and have put a lot of work into the visual appearance of the user-interface. There are so many things I've modified that it would be impossible for me to list them all here.

Anyways, try it out and let me know what you guys think. I hope you like it!

For those of you who are interested, I always post my sources on Github. You can find my code repositories here:

https://github.com/buddyrich

The .APK can be downloaded from my DropBox via the link below:

http://db.tt/tZdmUHl1
 
Last edited:

Rick#2

Senior Member
Mar 15, 2009
186
137
St. Albert
=========================
RECOVERY MENU REFERENCE
=========================

Select Highlighted Item - Enter or Power

Scroll Up - Volume Up or Left Arrow
**Note: The Left/Right Arrow keys may sound weird but since the menu is displayed in portrait mode, it just feels like you are pushing Up/Down.**

Scroll Down - Volume Down or Right Arrow

Direct Menu Selection - Hit the corresponding number/letter at the beginning of each menu item.
**ie: from the main menu, hit "6" to jump to the advanced menu.**

Go Back / Cancel - Caps Lock

===================
CONSOLE REFERENCE
===================

Keys:
--------------------
Tab - Tab
** Note: The Tab key is your best friend when using bash. It will auto-complete file/directory names for you, or list out the possible choices if you double-tap it after entering a few letters.

SYM - Alt

Shift - Shift

OK - Control

Caps Lock - ESC

OK+Shift - Toggle Caps Lock

OK+SYM - Toggle Alt Lock
** Note: The LED beside the Caps Lock button will illuminate when either Caps Lock or Alt Lock is enabled.

OK+Backspace - Force exit

OK+A - Home

OK+E - End

OK+C - Stop current process, ie: if a program you are running chokes up.

=========================

bash Commands:
--------------------

Here are a few of the more useful bash commands that you will use:

===========
ls, ls -a, ls -l, ll
===========

Code:
/ {}$ ls

- "ls" lists the files and directories within the current directory.
- You can also add a path after it to look for certain files or directories.

Code:
/ {}$ ls -a

- "ls -a" will list all files and directories, including hidden ones starting with a ".", ie: .bashrc in /cache/.safestrap/home. (The bash startup script).

Code:
/ {}$ ls -l

- "ls -l" will do a long listing, showing permissions, file sizes, etc.

Now, instead of using those parameters, I've made aliases within the .bashrc script so you will probably just want to type:

Code:
/ {}$ ll

- "ll" is an alias for "ls -a -l", so it will list all files/directories, hidden or not and list their properties.

Code:
/ {}$ ll

- By putting a path after "ll", it will single out the file. Add a "*" in there to act as a wildcard to list multiple files with the same first few characters.

- ie: "ll /system/lib/libc*" would display all the files and directories starting with "libc" within /system/lib as well as their properties.

========
cd
========

Code:
/ {}$ cd (path)

- Change directory. Pretty self-explanatory. Try doing:

Code:
/ {}$ cd ~/

- This takes you to the home folder. Pretty useless here but this is usually pretty handy in other scenarios.

Code:
/ {}$ cd ../

- Using "../" as your target will cause you to drop down a single directory in the tree.

**** Don't forget to hit tab to auto-complete directory/file names for you whenever you've already entered the first few characters. More accurate and much less typing. ****

=======
mv
=======

Code:
/ {}$ mv (source) (destination)

- "mv" is short for move. The source is the path to the file/directory you want to move, and I don't think i need to tell you what the destination is.

=======
rm
=======

Code:
/ {}$ rm (-r -f) (target)

- "rm" is used to delete the targetted files.
- "-r" means to recurse, or go into every inner directory automatically, erasing as it goes.
- You'll use the -r flag a lot, because you can't delete directories without it unless you use "rmdir", which is just more typing.
"-f" means force in case of permission errors, as long as you are root.

========
cp
========

Code:
/ {}$ cp (-f -a) (source) (destination)

- Copy the source file or directory to the destination.
- Use "-f" to force the copying, in the event of a potential overwrite.
- Use "-a" to maintain permissions of the original, you'll want to use this whenever you are copying anything important. I just use it all the time, but sometimes it won't work, such as when copying from an /sdcard to either the /system or /data partition.
-This is because the file system of your /sdcard doesn't care about permissions.

=========================


============
[VIM REFERENCE]|
============

Vim deserves, and has, entire websites devoted to it's use. Here are some of the basics.

------------
Using Vim|
------------
From the console, simply type:

Code:
/ {}$ vim

Where is obviously replaced by the name of the file you are editing.

Multiple files can be opened at once by just adding them as parameters to vim:

Code:
/ {}$ vim file1 file2 file3 file4 filen

---------------
Insert Mode |
---------------
This is the mode you want to be in to make any visible changes to the file you are editing.

- Enter Insert Mode by pushing "i" when vim opens.

- Exit Insert Mode by pushing Capslock.

Keys:
------
Backspace - In insert mode, deletes the previous character.

Capslock - Exits insert mode

---------------
Visual mode |
---------------
By typing in "v" instead of "i", you will enter visual mode; this is Vim's fancy way of saying you will be selecting text.

Keys:
------
- Copy or Cut text by hitting "y" or "d" after you've made a selection

- Paste with "p" or "P" (that is, Shift+p). Shift-"p" puts the text before the cursor whereas plain lowercase "p" will paste it after.

- When you're done highlighting what you want to either cut or copy, just hit Capslock to go back to Command Mode.

-------------------
Command Mode |
-------------------
Vim starts out in Command mode. It seems confusing but once you get used to it, you can't help but hate Notepad. :D

Some of the more common commands are listed below.

Keys:
------
u - Undo

Shift+r (Usually denoted as R) - Enter Replace Mode, where you are replacing text instead of inserting it.

[#]yy - Yank (copy) the current line if you just entered "yy", or copy "#" lines if you enter #yy, ie: 5yy to copy 5 lines.

[#]dd - Delete (cut) the current line, or delete # lines if preceded by a #.

p - Pastes after the cursor

Shift+p (usually denoted as P) - Pastes before the cursor

:[#] - (Ignore the square brackets; a colon followed by a number goes to that particular line in the text file you are editing. eg: ":5" goes to line 5. (Obviously, don't type the quotation marks in.)

Note: - If you are in Insert mode, you will have to push Capslock to exit and be allowed to enter Command Mode by entering a ":"
- It's fairly common practice to just hit Capslock twice whenever you're done inserting so that you are sure to be able to hit ":" and proceed to enter another command.

:w - Write (save) the currently open file.

:q - Quit. If you haven't saved since making any changes, it will prompt you to either save your changes or append a "!" after "q" to quit without saving. (See below)

:q! - Force quit without saving.

:wq - Save and then quit.

:e [path to filename] Opens up another file; you can use bash command-line completion to scan the current directory, or otherwise just enter another path.

:next or :prev - Aptly named, move to the next or previous file if you opened vim with two or more files as parameters, ie:

Code:
/ {}$ vim file1 file2

:/[text] - Search for "text". ie: ":/search" will find instances of the text "search" in the current file and highlight them.

Note: You need to make sure you are aware of regular expressions/escape characters before using this reliably; it's not broken if you can't seem to search for a quotation mark or other special characters, you need to precede them by a \. ie: to look for a double-quote symbol " you would enter :/\". The \ tells it that the next character is meant to be taken literally and not symbolically.

:/[text]/[moretext]/gc - Replace "text" with "moretext" everywhere in the file and ask confirmation for each change. If you forget to type in the "gc" at the end, it'll just replace everywhere without asking you for confirmation.

That's all I'm going to put here. There are tons of guide out there and I've already preloaded a pretty awesome configuration (.vimrc located at /cache/.safestrap/home) and runtime files. If you want to quickly access the configuration file, you can type ",,e" in Command Mode and it will automatically pop open.

================
COLOR CHANGING
================

1. If you want to change the color scheme, you need to figure out what the RGB code for the color you want is. Here's a website that provides a large table of colors and their corresponding RGB color code:

http://web.njit.edu/~kevin/rgb.txt.html

For example, let's say we like the "SlateGray4" color from the table linked above want to use it for the menus in both Safe and Non-Safe mode. As you can see, in the "R;G;B; Dec" column, the three codes we are interested in are 108, 123 and 139.

2. Now that you know the color codes, in our case 108, 123 and 139, we simply do the following:

a) Push 7 from the main menu, or scroll down and select "console menu".
b) Push 1, or scroll down and select "open console"

(Don't panic if it takes a few seconds to load the console; on the first initialization or after wiping the /cache partition, it will take a few seconds to reconfigure itself.)

c) At the prompt, enter the following:

Code:
/ {}$ ns_rgb 108 123 139
/ {}$ s_rgb 108 129 139
/ {}$ cc
/ {}$ exit

Now, it'll take another second or two and when the menu pops back up, you'll see that it is the color we chose from the table. The "ns_rgb" command takes three parameters, each of which correspond to the R, G and B values of the color code, and uses them for the "Non-Safe" (hence the "ns") menu color.

Similarly, the "s_rgb" command, (well technically, it's a bash function but anyways...) takes the same three parameters. It is applied to the "Safe" menu color.

The "cc" command actually sets the color, so don't forget to enter it. Otherwise, you won't notice a change when you exit out from the console.

Feel free to experiment with different colors! If you don't what you've done and just want to reset it back to the way it way, just wipe the cache partition:

a) Push 3, or scroll down to "wipe menu".
b) Push 1, or just hit Enter on "wipe cache".
c) Confirm your selection by pushing 8 or scrolling down and selecting "yes - wipe cache".

=================================================

More to come as I have more time.
 
Last edited:

danifunker

Senior Member
Sep 12, 2011
893
242
41
Toronto
www.funkervogt.com
Awesome, just a couple questions:
1) where is the dropbox download
2) if I already have the hashcode safestrap installed, how does one install yours? And what happens if I am already running a custom ROM?

Sent from my XT894 running ICS
 

Rick#2

Senior Member
Mar 15, 2009
186
137
St. Albert
Good call, I should make that clear.

Make sure you uninstall Hashcode's Safestrap, both inside the app and from the Android Settings menu before you install this .APK.
 

mj084

Senior Member
Sep 26, 2008
1,097
365
- download the pimped apk, uninstalled safestrap recovery, uninstalled old safestrap
- installed pimped safestrap, install new safestrap recovery, reboot

looks fine :)

anyone who restorerd a full backup of ics leak with safestrap 2.0?
friend got a problem, and system was unbootable and lost root....
 

Rick#2

Senior Member
Mar 15, 2009
186
137
St. Albert
Yeah, I've done it about four times today. No problems using either my modified version or Hashcode's original Safestrap v2.00.

It was no problem recovering from a busted /system partition either; just fastbooted the /system and /preinstall partitions only from the .219 leak, then rebooted the phone into the stock recovery and re-applied the .208 leaked update .zip file. Re-rooted with the technique I posted the other day without a hitch.

Didn't even lose any data... :p
 

Rennert

Senior Member
Apr 20, 2008
664
128
Yeah, I've done it about four times today. No problems using either my modified version or Hashcode's original Safestrap v2.00.

It was no problem recovering from a busted /system partition either; just fastbooted the /system and /preinstall partitions only from the .219 leak, then rebooted the phone into the stock recovery and re-applied the .208 leaked update .zip file. Re-rooted with the technique I posted the other day without a hitch.

Didn't even lose any data... :p

I mean full restore in safestrap, not advanced restore.
After restore from systemorig cames an "error while restoring systemorig!" And system damage.

...Tapatalk
 

Rick#2

Senior Member
Mar 15, 2009
186
137
St. Albert
I mean full restore in safestrap, not advanced restore.
After restore from systemorig cames an "error while restoring systemorig!" And system damage.

...Tapatalk

I'm not following you here, this happened to you using my version?

I've done it countless times while testing this before I released it and have been working with this code for a long time; it's pretty foolproof.
 

Rennert

Senior Member
Apr 20, 2008
664
128
I'm not following you here, this happened to you using my version?

I've done it countless times while testing this before I released it and have been working with this code for a long time; it's pretty foolproof.

No, this was tested with hashcodes safestrap. Restore in your version doesn't tested, but not need at time;-)

...Tapatalk
 

jgardner

Senior Member
Feb 8, 2008
71
13
Having some issues with getting safestrap installed in the 208 ICS leak. The app installs fine, click install and it says install complete, but I have no safestrap. Even after a reboot it still says "Not Installed" in the safestrap app. Anyone else experiencing this issue?

Sent from my DROID4 using Tapatalk
 

rumgool

Senior Member
Feb 16, 2012
147
24
GAINESVILLE
Having some issues with getting safestrap installed in the 208 ICS leak. The app installs fine, click install and it says install complete, but I have no safestrap. Even after a reboot it still says "Not Installed" in the safestrap app. Anyone else experiencing this issue?

Sent from my DROID4 using Tapatalk

make sure u installed/updated busybox
 

jgardner

Senior Member
Feb 8, 2008
71
13
That was exactly it. Realized shortly after posting it. Thanks!

Sent from my DROID4 using Tapatalk
 

whiteout7942

Senior Member
Dec 14, 2011
158
26
Washington D.C
So I have tried to restore 2 different backups using your safestrap and I keep on getting MD5 mismatch errors. I have tried deleting and regenerating the checksum file via ADB, disabled signature check, changed the folder name, pretty much everything I could think of. So whats going on?
 

Rick#2

Senior Member
Mar 15, 2009
186
137
St. Albert
An MD5 error would indicate that your backup files don't match the checksum that was generated at the time the backups were initially generated, which most likely means that your backup files may have become corrupted... unfortunately, this can happen with any files stored on an SD card.

Don't worry too much though, there still a really good chance that you can manually restore your data, although if your MD5's aren't matching there's a tiny possibility that your backup files are toast.

*** I'll assume you are trying to restore a "safe" system backup. If it's a "non-safe" backup, then just interchange "/systemorig" and "non-safe" for "/system" and "safe", respectively. ***

You have to manually wipe your /data and /cache partitions in the wipe menu, then format "/system" in the mounts menu. This way you have a clean slate to extract your backups to.

Try this from within the console in the recovery. (Depending on whether you backed up to the internal (/emmc) or external (/sdcard) card, just mount the required partition as follows:

*** Don't worry if you get a message saying the device can't mount because it is busy, that just means it's already mounted. ***

Internal card:
Code:
{}$: mount /emmc

External card:
Code:
{}$: mount /sdcard

(To be sure, it won't hurt if you just mount both of them.)

I'll assume you used the external sdcard which is mounted at /sdcard. Now:

Code:
{}$: cd /sdcard/safestrap/backup

If you list this directory (using "ll", or "ls -l"), you'll see a list of backup directories, prefixed by either "safe" or "nonsafe" and followed by the date and time of the backup. Remember, you can use the Tab key to autocomplete file/directory names so you don't have to type in the entire path. Here's an example:

Code:
/sdcard/safestrap/backup {}$ ll
total 192
d---rwxr-x    6 1000     1015         32768 Jun 24 04:42 ./
d---rwxr-x    3 1000     1015         32768 Jun  6 04:41 ../
d---rwxr-x    5 1000     1015         32768 Jun  6 04:41 nonsafe-2012-05-25.19.22.55/
d---rwxr-x    2 1000     1015         32768 Jun  8 20:42 nonsafe-2012-06-08.13.35.00/
d---rwxr-x    2 1000     1015         32768 Jun 20 03:13 safe-2012-06-19.20.10.44/
d---rwxr-x    3 1000     1015         32768 Jun 24 13:17 safe-2012-06-23.16.25.49/
/sdcard/safestrap/backup {}$

Let's use "safe-2012-06-19.20.10.44" for my example, substitute your own directory name as I'm sure it'll be different.

Go ahead and list the contents by entering the next two commands:

Code:
/sdcard/safestrap/backup {}$: cd safe-2012-06-19.20.10.44
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$: ll

You should see something like:

Code:
/sdcard/safestrap/backup {}$: cd safe-2012-06-19.20.10.44
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ ll
total 1117760
d---rwxr-x    2 1000     1015         32768 Jun 20 03:13 ./
d---rwxr-x    6 1000     1015         32768 Jun 24 04:42 ../
----rwxr-x    1 1000     1015      74135552 Jun 20 03:13 cache.ext3.tar*
----rwxr-x    1 1000     1015     225547776 Jun 20 03:12 data.ext3.tar*
----rwxr-x    1 1000     1015           201 Jun 20 03:13 nandroid.md5*
----rwxr-x    1 1000     1015     280272384 Jun 20 03:12 system.ext3.tar*
----rwxr-x    1 1000     1015     564430848 Jun 20 03:11 systemorig.ext3.tar*
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$

Now that you're at the proper path for the backup you want to restore, we can manually extract the files from the backups. (If you haven't already done so, remember to wipe /data, /cache and /system.)

We have to mount /system, /data and /cache:

Code:
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ mount /system
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ mount /data
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ mount /cache

*** Don't worry if you get a message saying the device can't mount because it is busy, that just means it's already mounted. ***

Code:
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ tar xvf system.ext3.tar -C /

Wait a minute or two for it to finish, then:

Code:
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ tar xvf data.ext3.tar -C /

Wait some more... then:

Code:
/sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ tar xvf cache.ext3.tar -C /

Done. If you want, you can restore your /systemorig partition now but you probably don't want to do that, not if your MD5's don't match up.

Assuming you just restored a "safe" system backup and you are in "safe" mode, you can cross your fingers and reboot. If you aren't in safe mode, switch over to it from the safe-boot menu before you reboot.

At this point, you should have restored that backup manually. Hope that helps, it's always a bummer to lose your data.
 
Last edited:
  • Like
Reactions: whiteout7942

whiteout7942

Senior Member
Dec 14, 2011
158
26
Washington D.C
You sir need a medal. That was the best response I could have expected. I will try this later at work. I regenerated the checksum file but like you said, it has to be at the time of the backup.
 

Rick#2

Senior Member
Mar 15, 2009
186
137
St. Albert
Hey man, no prob. I figure I might as well do it step by step so that others can reference this in the event of a similar situation. Hope it works out for you.
 

whiteout7942

Senior Member
Dec 14, 2011
158
26
Washington D.C
To be honest, I got frustrated and gave up. I have discovered that on the 7-4 AOKP build, if I lose data all I have to do is wipe cache and dalvik cache and boom, I have have 4G. Now if only I can get a init.d tweak to clear both on startup then all I would have to do is reboot the phone to restore data. So long story short, I'm sticking with the non ICS-Leak AOKP, no need to risk going off the upgrade path and alot less of a hassle.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    ************************************
    ************************************

    Note: Please uninstall Hashcode's Safestrap before you try installing this one. To accomplish this properly, you have to do two things:

    1. Open up the Safestrap app from your launcher, and choose "Uninstall Recovery". Let it finish. It'll tell you whether or not it worked.

    2. Then, go to Settings - Apps and find Safestrap. Click "Uninstall".

    ************************************
    ************************************

    Installation of this app requires root privileges. If the installation does
    not work, it is likely because you either:

    a) don't have busybox installed.

    b) you do have busybox installed but it doesn't have the functions we
    need.

    No problem. Just do this through adb or a terminal on the phone:

    Code:
    $ su
    # mount -o remount,rw /system
    # cp /system/xbin/busybox /system/xbin/busybox.old
    # cp /data/data/com.hashcode.droid4safestrap/files/busybox /system/xbin/
    # chmod 755 /system/xbin/busybox
    # exit

    Now it should work without a hitch.

    ************************************
    ************************************

    Those of you who came from the Droid 3 might remember my customized version of Hashcode's Safestrap, which included a console, improved user-interface, non-safe flashing, etc.

    I've finally got it to the point where I think it would be okay to release out in the wild. That being said, I'm not responsible for anything dumb you do to your own device. :D

    I wouldn't bother using the non-safe flashing capabilities yet, seeing as how there hasn't really been any official releases using the new ICS kernels that have been leaked as of late. This feature is handy if you're a developer testing out update.zips for /systemorig, but for the average person you'd best pay heed to the warnings and just use Safestrap as it was originally intended; that is, leaving your /systemorig partition intact and only mess around with your "safe" /system. (Or /preinstall, actually, but that's not really important.)

    The console is beyond useful. Editing build.prop settings on the fly without having to boot up and do it in a terminal emulator or via adb on the phone is much easier. If you know what you're doing, you can even extract single files from your old backups, modify your old backups, etc. That's just a small fraction, but those of you who would care about this functionality don't need me to say how important it can be.

    I've included statically compiled versions of "bash" and "vim" so that there aren't any dependencies on the libraries usually found in /system/lib. Thus, you can use all of these utilities without having either /system or /systemorig mounted. You're free to add your own binaries in your home folder, which is located at /cache/.safestrap/home, or just pop them onto your sdcard.

    Also, I have a battery monitor running so it will tell you what level your battery is at, and have put a lot of work into the visual appearance of the user-interface. There are so many things I've modified that it would be impossible for me to list them all here.

    Anyways, try it out and let me know what you guys think. I hope you like it!

    For those of you who are interested, I always post my sources on Github. You can find my code repositories here:

    https://github.com/buddyrich

    The .APK can be downloaded from my DropBox via the link below:

    http://db.tt/tZdmUHl1
    1
    An MD5 error would indicate that your backup files don't match the checksum that was generated at the time the backups were initially generated, which most likely means that your backup files may have become corrupted... unfortunately, this can happen with any files stored on an SD card.

    Don't worry too much though, there still a really good chance that you can manually restore your data, although if your MD5's aren't matching there's a tiny possibility that your backup files are toast.

    *** I'll assume you are trying to restore a "safe" system backup. If it's a "non-safe" backup, then just interchange "/systemorig" and "non-safe" for "/system" and "safe", respectively. ***

    You have to manually wipe your /data and /cache partitions in the wipe menu, then format "/system" in the mounts menu. This way you have a clean slate to extract your backups to.

    Try this from within the console in the recovery. (Depending on whether you backed up to the internal (/emmc) or external (/sdcard) card, just mount the required partition as follows:

    *** Don't worry if you get a message saying the device can't mount because it is busy, that just means it's already mounted. ***

    Internal card:
    Code:
    {}$: mount /emmc

    External card:
    Code:
    {}$: mount /sdcard

    (To be sure, it won't hurt if you just mount both of them.)

    I'll assume you used the external sdcard which is mounted at /sdcard. Now:

    Code:
    {}$: cd /sdcard/safestrap/backup

    If you list this directory (using "ll", or "ls -l"), you'll see a list of backup directories, prefixed by either "safe" or "nonsafe" and followed by the date and time of the backup. Remember, you can use the Tab key to autocomplete file/directory names so you don't have to type in the entire path. Here's an example:

    Code:
    /sdcard/safestrap/backup {}$ ll
    total 192
    d---rwxr-x    6 1000     1015         32768 Jun 24 04:42 ./
    d---rwxr-x    3 1000     1015         32768 Jun  6 04:41 ../
    d---rwxr-x    5 1000     1015         32768 Jun  6 04:41 nonsafe-2012-05-25.19.22.55/
    d---rwxr-x    2 1000     1015         32768 Jun  8 20:42 nonsafe-2012-06-08.13.35.00/
    d---rwxr-x    2 1000     1015         32768 Jun 20 03:13 safe-2012-06-19.20.10.44/
    d---rwxr-x    3 1000     1015         32768 Jun 24 13:17 safe-2012-06-23.16.25.49/
    /sdcard/safestrap/backup {}$

    Let's use "safe-2012-06-19.20.10.44" for my example, substitute your own directory name as I'm sure it'll be different.

    Go ahead and list the contents by entering the next two commands:

    Code:
    /sdcard/safestrap/backup {}$: cd safe-2012-06-19.20.10.44
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$: ll

    You should see something like:

    Code:
    /sdcard/safestrap/backup {}$: cd safe-2012-06-19.20.10.44
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ ll
    total 1117760
    d---rwxr-x    2 1000     1015         32768 Jun 20 03:13 ./
    d---rwxr-x    6 1000     1015         32768 Jun 24 04:42 ../
    ----rwxr-x    1 1000     1015      74135552 Jun 20 03:13 cache.ext3.tar*
    ----rwxr-x    1 1000     1015     225547776 Jun 20 03:12 data.ext3.tar*
    ----rwxr-x    1 1000     1015           201 Jun 20 03:13 nandroid.md5*
    ----rwxr-x    1 1000     1015     280272384 Jun 20 03:12 system.ext3.tar*
    ----rwxr-x    1 1000     1015     564430848 Jun 20 03:11 systemorig.ext3.tar*
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$

    Now that you're at the proper path for the backup you want to restore, we can manually extract the files from the backups. (If you haven't already done so, remember to wipe /data, /cache and /system.)

    We have to mount /system, /data and /cache:

    Code:
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ mount /system
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ mount /data
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ mount /cache

    *** Don't worry if you get a message saying the device can't mount because it is busy, that just means it's already mounted. ***

    Code:
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ tar xvf system.ext3.tar -C /

    Wait a minute or two for it to finish, then:

    Code:
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ tar xvf data.ext3.tar -C /

    Wait some more... then:

    Code:
    /sdcard/safestrap/backup/safe-2012-06-19.20.10.44 {}$ tar xvf cache.ext3.tar -C /

    Done. If you want, you can restore your /systemorig partition now but you probably don't want to do that, not if your MD5's don't match up.

    Assuming you just restored a "safe" system backup and you are in "safe" mode, you can cross your fingers and reboot. If you aren't in safe mode, switch over to it from the safe-boot menu before you reboot.

    At this point, you should have restored that backup manually. Hope that helps, it's always a bummer to lose your data.