How To Root Nexus One Running Android 2.2.1 From Ubuntu Linux

Root Nexus One LinuxNexus 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 Nexus One Softroot files.

Procedure:

  1. 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.
  2. Launch terminal and navigate to the folder where you have ADB and these files.
  3. 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
  4. 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.
  5. 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
  6. 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
  7. 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.

[via XDA-Developers]

Advertisement
  • Pingback: How To Root Your Android Phone / Device

  • Tom

    This procedure works on openSUSE 11.3 and rooting a OG Droid.

    Thanks for the clear instructions.

  • Paul

    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.

    • http://www.hqraja.com Haroon Q. Raja

      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.

  • alvaro

    this procedure can root a samsung galaxy mini? i tested all methods and no one can root my phone! :(

  • Hillshum

    Successfully rooted a Samsung Gravity Smart running 2.2.2 using Ubuntu 10.10.

    • Hillshum

      Actually, maybe not. I think I lost it after a reboot. The issue is probably with getting the /system partition or something