Linuxslate.com Forums
http://linuxslate.com/cgi-bin/forum/YaBB.pl
Mobile Linux Devices >> Other Android Mobile Phones and Tablets >> Rooting official Froyo on the Dell Streak via Mac
http://linuxslate.com/cgi-bin/forum/YaBB.pl?num=1292961265

Message started by Administrator on Dec 21st, 2010, 2:54pm

Title: Rooting official Froyo on the Dell Streak via Mac
Post by Administrator on Dec 21st, 2010, 2:54pm

Rooting the official Froyo (2.2) on the Dell Streak.

This was done on a US AT&T (locked) Streak that had been previously rooted, and upgraded to the official O2 (European) 2.1.  Since it was running the O2 2.1, I got the official upgrade notifications to 2.2

As one might expect, doing the update removes root access.

Here's how to get it back.

I did this on a Mac, but it should work on any platform.  You do not need .NET/Mono

This gives you ownership of your Streak.  It does NOT unlock it for use on other carriers.

Prerequisites:

Android sdk, or at least a working adb for your platform.  You should be able to use the adb executable included in SuperOneClick.
Knowledge of how to use adb and type commands.
The Intestinal Fortitude to deal with the possibility of permanently ruining your Dell Streak. Understand what you are doing, and the consequences before proceeding.  I am providing a list of commands I used, I am not telling you to root your device, or suggesting that you should or should not.

Assumptions:
Mac or Linux with android-sdk installed.  We are in the tools directory where the adb executable is.
Stuff we download goes in ~/Downloads.
USB Debugging is checked in Settings >> Applications >> Debug (on phone)

What You Need:
SuperOneClick: We are going to download SuperOneClick, and then NOT USE IT. Get it from this thread:
http://forum.xda-developers.com/showthread.php?t=803682

(1.5.5 was the latest as of this writing.)

Unpackage it.

The Procedure:

Connect the Streak to the Computer with a USB cable.
Open a terminal (Applications >> Utilities >> Terminal on a Mac)

Install Superuser
In the terminal, do:


Code:
./adb install ~/Downloads/SuperOneClickv1.5.5-ShortFuse/Superuser.apk


You can get it from the market if you'd rather, but you can't escape the command line forever.
Don't Open it, don't touch it,... don't even look at the icon yet.

Copy the su binary, and the busybox binary to the sdcard.  I don't care how you do this -- card reader, USB storage, adb push, just do it. Here's how to do it via adb:


Code:
./adb push ~/Downloads/SuperOneClickv1.5.5-ShortFuse/su /sdcard/su
./adb push ~/Downloads/SuperOneClickv1.5.5-ShortFuse/busybox /sdcard/busybox

Push rageagainstthecage directly to the place where we will execute the attack from:


Code:
./adb push ~/Downloads/SuperOneClickv1.5.5-ShortFuse/rageagainstthecage /data/local/tmp


Log in via adb:


Code:
./adb shell


(Prompt will change to just a $) In the adb shell, do:


Code:
cd /data/local/tmp
chmod 755 rageagainstthecage


Run the attack:

Code:
./rageagainstthecage


Wait. rageagainstthecage will spit out some text. You'll eventually get dumped out of adb, and you will return to the terminal prompt.

Wait some more (about 30 sec to 1 min)  adb on the Streak is restarting as root.
Try to adb shell back in again:


Code:
./adb shell


If you cannot connect, wait a few more seconds/minutes and try again.  You should get back in within a few tries.

This time the cursor should be a #
If not, try the attack again, or re-boot the Streak and try the attack again.

If it is a #, congratulations, you're in.  Now we need to make it a useable root shell so we can actually do stuff as root, make it permanent.  From the # prompt do:


Code:
mount -o rw,remount -t yaffs2 /dev/block/mtdblock6 /system


We need to copy su and busybox from the sdcard to their proper places, but we have no copy command (yet), so we use dd:


Code:
dd if=/sdcard/su of=/system/bin/su
dd if=/sdcard/busybox of=/system/bin/busybox


Make them executable, with the proper permissions:


Code:
chmod 4755 /system/bin/su
chmod 4755 /system/bin/busybox

Remove rageagainstthecage:

Code:
rm /data/local/tmp/rageagainstthecage


(One can assume that you rooted the machine for a reason.  You can do what you needed to do as root now, if you want)

Remount the filesystem read only.

Code:
mount -o ro,remount -t yaffs2 /dev/block/mtdblock6 /system

exit


Reboot the Streak to make sure root stuck.

Log back in again (You can do this from adb, or from a Terminal on the Streak)

Try to become root:


Code:
su


Superuser.apk should warn you that something is trying to run as root (Either adb or the Terminal app), grant it permission.

You should again get the # root prompt.  You can do what you need to do as root.



Title: Re: Rooting official Froyo on the Dell Streak via
Post by Zandar on Jun 24th, 2011, 3:15pm

This is probably outdated now due to Gingerbreak. I don't know if it works on the Streak 5, but it works swimmingly on the Streak 7 running Android 2.2.2. XDA link:
http://forum.xda-developers.com/showthread.php?t=1044765

Linuxslate.com Forums » Powered by YaBB 2.1!
YaBB © 2000-2005. All Rights Reserved.