Note: This is meant for 2.1 (Eclair). Some people say you can use this method to root 2.2 (Froyo), but your rom will be unusable if you do. I wouldn't recommend using this for anything but 2.1, I speak from experience Hey guys, this is a write up I saved to my PC from Alldroid before it was shut down. I don't know who wrote it, so I can not give proper credit. If you are or know the author please let me know and I'll giver proper credit. This is how I've rooted my phone. Edit: It was pointed out to me that some folks may misunderstand this thread. I want it to be clear that this is NOT the only way to root your phone. This just happens to be the way I prefer to do it, since I know what is going in to my phone's system. I have also uploaded two versions of my own pre-rooted roms in nandroid form. You can install them via SPRecovery. I'll attatch the link for those below. Stock 2.1 ESE81 - root & busybox (no changes otherwise) MEGAUPLOAD - The leading online storage and file delivery service Deodexed 2.1 ESE81 - root, busybox & deodexed (removed Google Maps and added newer version) MEGAUPLOAD - The leading online storage and file delivery service Install SPrecovery: Download and install RSDlite 4.6 from the web : RSDLite4.6.msi Download and install motorola USB drivers 32 bit or 64 bit as applicable : USB_Drivers_32_bit_4.2.0.zip USB_Drivers_64_bit_4.2.0.zip Download [mbm]'s sbf file from Droidmod.org : SPRecovery_ESE81.sbf Open RSDlite navigate to the and select .sbf file you downloaded above. http://i812.photobucket.com/albums/zz48/radar3d/RSDlite/Rsdlite1.png Power off your phone. Slide keyboard open. Connect USB cable between phone and computer. Press up on D-Pad Normally your phone will turn on when you plug it in so you need to press up on D-Pad immediately, then if it did not come on, while holding up on the D-Pad Power up your phone. In RSDlite you should now see your phone connected if not select “show device” . http://i812.photobucket.com/albums/zz48/radar3d/RSDlite/RSDlite2.png Press “Start” Your phone will reboot at about the 26% spot in the progression (this is normal for THIS .sbf) once your phone reboots you are done and you can close RSDlite even though it will warn you that you could ruin your phone. You now have Sprecovery installed on your 2.1 phone. ---Next--- Rooting Phone: Download: su Superuser.apk reboot phone into recovery mode by shutting down phone and then holding the “X” while powering phone up. This should boot you into the Sprecovery (if not something went wrong with installing Sprecovery) select “Mount Options” Select “Mount /system” then in a terminal window/command prompt from you PC use a couple of adb commands (assuming you have (Android SDK installed on your PC) if not Download it here: Android SDK | Android Developers Do step 2 here: Installing the SDK | Android Developers then: In a terminal window (linux) Command prompt (windows) Navigate to the folder you downloaded the two files into. adb push su /system/bin/su adb push Superuser.apk /system/app/Superuser.apk adb shell "/system/bin/chmod 6755 /system/bin/su" adb shell "/system/bin/chmod 644 /system/app/Superuser.apk" reboot phone to normal mode, open terminal emulator if you have it installed if not get it from market then open terminal window and type su if you get a # you have successfully gained root "superuser" access to your phone. Install Busybox by Root Your Droid on Jan.08, 2010, under Guides, Root Busybox is a useful tool; a package of applets which provides additional Unix tools that are otherwise missing from the Android shell. That may not make a lot of sense, but here’s what it does for you. Busybox allows you to perform more advanced root-related functions on your Droid. That’s good, right? Yes it is, and for some guides, it is absolutely necessary. As always, before you dive into any of our guides, please review our disclaimer. We are not responsible for the outcome of performing any task on this website. Prerequisites: (Please be familiar with the following) • Android Debug Bridge (ADB Commands) • Unix Commands • USB Debugging • USB Debugging Drivers Requirements: • Root • Micro SD Card that is inserted into the Droid • busybox.zip • USB Data Cable Step 1: PC Connection Using the method found in the USB Debugging guide, connect your Droid to a PC via USB and enable USB Debugging. Noteradar3d recommends again booting into recovery and mounting /system as done above) Step 2: Prepare Busybox Files Download busybox Step 3: ADB Commands Using the method found in the Android Debug Bridge guide, open Command Prompt and point it at your Android SDK tools folder. You will now be entering in the following commands, please read and copy all lines carefully. If you will be copying and pasting, remember to right click inside of Command Prompt and select “paste”, otherwise it will display your keystrokes. After each line, press enter to input the command. Noteradar3d recommends again booting into recovery and mounting /system as done above) In a terminal window (linux) Command prompt (windows) Navigate to the folder you downloaded the busybox file into adb push busybox /data/local/busybox • Copies the busybox.zip file from your tools folder into the Local Data directory on your Droid. Reboot phone into normal mode and open terminal emulator • Initiate the Unix terminal emulator so that Unix commands may be sent. su • Connect as a “substitute user” to gain permissions for the following commands. cd /data/local • Change to the Local Data directory on your Droid. /system/bin/chmod 755 busybox • Changes the permissions to the busybox file so that anyone can read/execute but only the owner can write to it. ./busybox • Executes the Busybox shell script. /system/bin/mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system • Readies the mtdblock4 and System filesystems. mkdir /system/xbin • Creates a new directory called “xbin” in the system filesystem. /data/local/busybox cp /data/local/busybox /system/xbin • Copies Busybox from the Local Data directory to the newly created xbin directory. /data/local/busybox cp /data/local/busybox /system/bin • Copies Busybox from the Local Data directory to the System Bin directory. cd /system/xbin • Change to the newly created xbin directory on your Droid. busybox ––install . (Note: you need the . And there needs to be a space between “install” and the “.”) • Installs and executes Busybox in xbin. /system/bin/mount -o ro,remount -t yaffs2 /dev/block/mtdblock4 /system • Unmounts the mtdblock4 and System filesystems that are no longer in use. sync • Synchronizes all the aforementioned commands to the Droid. reboot • Reboots the Droid You have now successfully installed Busybox and can now utilize its functionality in future hacks! Unix Commands by Root Your Droid on Jan.08, 2010, under Background Information, Guides While working with a Rooted Droid and ADB, you will notice that there is an extensive use of code. Much of this code may be unfamiliar to you, but it shouldn’t be scary. When you see lines such as: su mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system cat /sdcard/flash_image > /system/bin/flash_image chmod 755 /system/bin/flash_image sync You may feel like you are in over your head. But it’s a lot simpler than it looks!What you see above is called Unix commands. These commands are recognized by the base Linux kernel which controls the Android OS. Linux is an open source computer operating system; Google uses it to create Android. So these Unix commands are similar to the Windows Command Prompt commands we learned about in the Android Debug Bridge guide except they are used for different systems. When using Unix commands in future guides, it is important to read through them carefully and copy them exactly. Though a mistake will most likely return an error message and cause no harm, it is possible to miss a character and do some damage. Caution and deliberation is key! Here are a few common Unix commands used for Droid modding purposes. These certainly aren’t all of them, and all commands will be described within individual guides. • su – (Substitute User) Used to change to “root user” to perform Superuser Permission commands. • mount – Readies a file system for use; allows the user to perform commands to a directory. • cd – (Change Directory) Changes to the proceeding directory. • chmod – (Change Mode) Changes the mode of files and directories; commonly used to change permissions. • mkdir – (Make Directory) Makes a new directory for files. • mv – (Move) Moves a file or directory from one place to another. • sync – Synchronizes all data which has been scheduled for writing. As I’ve stated, there are many more commands which may be used while sending commands to your phone. Don’t fret; they will be described fully as you go along. One important consideration to make is that after EACH line of Unix commands, you must hit enter to run the command before going on to the next line. You may not copy and paste multiple lines into Command Prompt at once. I bet you’d never guessed you would be learning a new programming language while working on your Droid! Though you are far from mastering the Unix system, I hope this has familiarized you with some of the necessary commands needed for advanced root-related functions.