[Nexus One General] efrant:
Step-by-step for Rooting Gingerbread with Locked Bootloader

Here is an attempt at a step-by-step guide for the n00bs.

I take NO credit for this method or any files mention -- all credit goes to the devs. I just tried to dumb them down a bit.

Ok, here goes. This assume that you already have the Android SDK properly installed, which is found here: http://developer.android.com/sdk/index.html

Note: According to the GingerBreak source code: Before using, insert empty formatted sdcard.

First, let's list all the required files:

1) GingerBreak

2) busybox

3) su

4) Superuser.apk

Second, let's get all the files:

1) GingerBreak is available here: http://c-skills.blogspot.com/2011/04/yummy-yummy-gingerbreak.html. Make sure you extract the file from within the archive.

2) su and Superuser.apk are available in the su-2.3.6.1-ef-signed.zip found here: http://xdaforums.com/showthread.php?t=682828

3) busybox is available from many source. Here is one: http://multiupload.com/MVT98F5HBY

4) Place/extract all the files in the same directory as the ADB executable (probably /program files/android/android-sdk-windows/platform-tools). All the files should be in that directory, not in any subfolders.

(Note: The commands you type in are after the colon.)

Now, let's get all the files onto your device:

1) Open a command prompt and navigate to your /android-sdk-windows/platform-tools directory

2) Type: adb push GingerBreak /data/local/tmp/GingerBreak

3) Type: adb push Superuser.apk /data/local/tmp/Superuser.apk

4) Type: adb push su /data/local/tmp/su

5) Type: adb push busybox /data/local/tmp/busybox

Now let's get to the rooting:

1) Open an adb shell: adb shell

2) Change directory to where you pushed the exploit: cd /data/local/tmp

3) Change permissions on the exploit: chmod 700 /data/local/tmp/GingerBreak

4) Change the permissions on busybox: chmod 755 /data/local/tmp/busybox

5) Run the exploit: ./GingerBreak

6) Wait for it to run. It will take a while, and output a bunch of lines that you can ignore.

7) When it's finished, you should see a message saying "dance forever my only one" and you will see the # instead of $.

Now, We need to make the root permanent by installing su:

*Note: if you are having problems with the steps below (steps 3 and onwards), see post 48.

1) Mount the system partition as read/write: mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

2) Change directory to where you pushed su, busybox and superuser.apk: cd /data/local/tmp

3) Run busybox to copy itself to the proper directory: ./busybox cp busybox /system/bin

4) Change the permissions on busybox: chmod 4755 /system/bin/busybox

5) Run busybox to copy Superuser.apk to the proper directory: busybox cp Superuser.apk /system/app

6) Run busybox to copy su to the proper directory: busybox cp su /system/bin

7) Change the permission on su: chmod 4755 /system/bin/su

8) Mount the partition as read-only: mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system

9) Exit the root shell: exit

10) You should now see $ instead of #

11) Exit the shell: exit

Now you are back to the commnd prompt. Let's verify that you still have root access:

1) Open a shell: adb shell

2) Type: su

3) At this point, it will hang until you give su permission through the Superuser app on your device, so look on your device and give it permission.

4) If the $ changes to a #, congratulations, you have root access.