How To Root Nexus One Running Android 2.2.1 From Ubuntu Linux
Nexus One has been rooted a long time ago and that method is still quite easy to follow as long as you are running Windows. However, there might be many of you wanting to root the device from Linux and while the method previously worked on Linux, it won’t work if you have applied the Android 2.2.1 OTA update. Fortunately, there is a way to do that right now from Ubuntu. Read on for detailed instructions.
This method is brought to us by XDA-Developers forum member anthortic who – being a proud Ubuntu user – wanted to root his Nexus One without having to use Windows for the purpose. He tried rooting it with SuperOneClick – our preferred universal rooting method that works for most Android devices – but it didn’t seem to work in Linux. Perhaps the reason was that he had applied the Android 2.2.1 OTA update but the bottom line was that it didn’t work. He then decided to develop a manual method using the same exploit used by SuperOneClick, and it worked!
If you are unfamiliar to rooting, you are advised to check out our top 10 reasons to root your Android device as well as our comprehensive Android rooting guide. Basically rooting will allow you to run thousands of apps that require root access to properly function. It will also let you install custom ROMs and recovery images to your phone to change its OS and perform several advanced operations on it.
Disclaimer: Please follow this guide at your own risk. AddictiveTips will not be liable if your device gets damaged or bricked during the process.
Requirements:
- PC running Ubuntu Linux. The method has been tested to work on Ubuntu 10.10.
- Nexus One running Android 2.2.1 Froyo.
- ADB installed and working on your computer.
- The required (https://addictivetips.com/app/uploads/2011/02/nexus_one_softroot.tar) Nexus One Softroot files.
Procedure:
- Download the Nexus One Softroot files from the link given above and extract the contents of the tar file to the same folder where you have ADB.
- Launch terminal and navigate to the folder where you have ADB and these files.
- Enter the following terminal commands:
sudo ./adb push psneuter /data/local/tmp/psneuter sudo ./adb push busybox /data/local/tmp/busybox sudo ./adb push su /data/local/tmp/su sudo ./adb shell chmod 755 /data/local/tmp/psneuter sudo ./adb shell chmod 755 /data/local/tmp/busybox sudo ./adb shell chmod 755 /data/local/tmp/su sudo ./adb shell cd /data/local/tmp ./psneuter sudo ./adb shell
- You should now get the # prompt, indicating that rooting has been successful. To confirm this further, enter the command ‘id’ (without the quotes). You should see get ‘uid=0(root) gid=0(root)’ as the response, confirming that you now have root access.
- There are a few steps still left to make this root permanent. Continue by entering these commands:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system cd /data/local/tmp ./busybox cp busybox /system/bin chmod 4755 /system/bin/busybox busybox cp su /system/bin chmod 4755 /system/bin/su exit exit
- You should now set your /system partition back to read-only before you get ready to wind up. Simply enter these terminal commands:
sudo ./adb shell su mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system exit exit
- Lastly, you must install the SuperUser app. The latest version available from the Android Market is recommended and should work perfectly. Once it is installed, you’re all done.
There you go – you now have your Nexus One running Android 2.2.1 Froyo rooted permanently.
Successfully rooted a Samsung Gravity Smart running 2.2.2 using Ubuntu 10.10.
Actually, maybe not. I think I lost it after a reboot. The issue is probably with getting the /system partition or something
this procedure can root a samsung galaxy mini? i tested all methods and no one can root my phone! 🙁
It wouldn’t go past stage 3.
after typing “cd /data/local/tmp./psneuter” i got the response – “cd: can’t cd to /data/local/temp./psneuter”
Android 2.2.1 Nexus One, PC running Ubutnu 10.10.
My apologies. It was supposed to be
“cd /data/local/tmp” followd by “./psneuter”. I had missed an ‘enter’ there. Updated the guide with the changes and it should work now.
This procedure works on openSUSE 11.3 and rooting a OG Droid.
Thanks for the clear instructions.