Rooting Android

From Android Wiki

(Difference between revisions)
Jump to: navigation, searcha
m (Add busybox)
Line 18: Line 18:
#remount system as read-write
#remount system as read-write
#*<pre> mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system</pre>
#*<pre> mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system</pre>
-
#copy and rename busybox.xxx to /system/bin/busybox (if this command fails, replace .xxx with .asc and try again)
+
#copy and rename busybox.asc to /system/bin/busybox
-
#*<pre>dd if=/sdcard/download/busybox.xxx of=/system/bin/busybox</pre>
+
#*<pre>dd if=/sdcard/download/busybox.asc of=/system/bin/busybox</pre>
#make it executable
#make it executable
#*<pre>chmod 4755 /system/bin/busybox</pre>
#*<pre>chmod 4755 /system/bin/busybox</pre>
Line 26: Line 26:
#this gives you cp (great for making more symlinks)
#this gives you cp (great for making more symlinks)
#*<pre>busybox cp -s busybox cp</pre>
#*<pre>busybox cp -s busybox cp</pre>
-
#start sh (on emulator enables up/down command memory)
+
#start sh (this is busybox sh and has more commands and is easier to use)
#*<pre>busybox sh</pre>
#*<pre>busybox sh</pre>
Line 34: Line 34:
<pre>
<pre>
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
-
dd if=/sdcard/download/busybox.xxx of=/system/bin/busybox
+
dd if=/sdcard/download/busybox.asc of=/system/bin/busybox
chmod 4755 /system/bin/busybox
chmod 4755 /system/bin/busybox
cd /system/bin/
cd /system/bin/

Revision as of 04:24, 25 January 2009

Start and connect to telnetd

This has been tested and is known to work on RC19 and RC29 on the G1. This has been patched in RC30 so if you have RC30+ you need to downgrade to RC29 first.

  1. Restart your phone
  2. At your phones desktop hit the <enter> key twice and then type "telnetd" and press <enter> again
  3. Download an Android Telnet client and connect to localhost. If you are unable to connect, try steps 1 and 2 over again until you can.
  4. you now have root!

Alternatively if you have adb installed, you can use adb to forward a local port on your linux host to a port on the phone. This avoids the need to install a terminal on the phone:

  1. At your phones desktop hit the <enter> key twice and then type "telnetd" and press <enter> again, then on your desktop:
adb forward tcp:9988 tcp:23
telnet localhost 9988


Add busybox

  1. download busybox by tapping and holding (long pressing) this file and choosing save link to your sd card (using android browser)
  2. remount system as read-write
    •  mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
  3. copy and rename busybox.asc to /system/bin/busybox
    • dd if=/sdcard/download/busybox.asc of=/system/bin/busybox
  4. make it executable
    • chmod 4755 /system/bin/busybox
  5. go there
    • cd /system/bin/
  6. this gives you cp (great for making more symlinks)
    • busybox cp -s busybox cp
  7. start sh (this is busybox sh and has more commands and is easier to use)
    • busybox sh

You will not need to create any more symlinks if you plan on installing any recent JF update as he has done this for you.

P.S. If you have adb running you can paste this in to do all of the previous commands at once (much faster).

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
dd if=/sdcard/download/busybox.asc of=/system/bin/busybox
chmod 4755 /system/bin/busybox
cd /system/bin/
busybox cp -s busybox cp
busybox sh

Protect your root

New updates from google are geared at taking all of this away from you. You should now install one of JF's modified roms so you can keep root after you update. It is recommended that you do not merely block updates and stay at your current version because some bugs (especially the root bug) can pose a serious risk to security and privacy if left un-patched.

Personal tools