[Nook Touch General] Renate:
There are many tools and "Super-Ultra-Mega-Rooters" and things to root your Nook.

They will install 23 different things on your Nook.

If you like them, use them.

What is "rooting"?

At the most basic level, "rooting" is managing to get a root (all-powerful) shell (command line interpreter).

When your Nook is sitting there with a prompt saying # then you are rooted.

Alright, a prompt #, but on where?

On your desktop computer, which has to be linked somehow to your Nook.

The way we link Android devices to desktop computers is with ADB (Android Debug Bridge).

Every Android device has this capability built in, but sometimes it's disabled.

Sometimes they make it easy to enable, sometimes they make it hard.

On the Nook, it's fairly easy because the Nook will boot up off an external SD card.

How to root any Nook

The configuration for the Nook is stored in a filesystem called uRamdisk inside the boot partition.

If we can get a copy of uRamdisk, modify it, then replace the copy in the boot partition we can root.

Copy uRamdisk to the desktop

There are two easy ways to get a copy of uRamdisk:

Put noogie on an SD card, boot up, connect the USB and a disk will appear on your desktop.

This will be the boot partition, copy uRamdisk.

Get the update zip from B&N and unzip it.

They call the file ramdisk.img, but it's uRamdisk.

Modify uRamdisk

You need to extract two files out of uRamdisk then replace them.

There is a utility for Win32 called bootutil.exe in the signature below.

bootutil /x /v uRamdisk init.rc default.prop

This should say that it extracted two files.

Using an editor you need to edit the two files.

Don't use Windows Notepad (it's miserable and doesn't understand Unix end-of-lines).

Try Notepad++ if you don't have a good text editor.

Comment out a few lines in init.rc (additions in red):

service adbd /sbin/adbd
[color=red]#[/color] disabled

...

# adbd on at boot in emulator
on property:ro.kernel.qemu=1
[color=red]#[/color] start adbd

on property:persist.service.adb.enable=1
[color=red]#[/color] start adbd

on property:persist.service.adb.enable=0
[color=red]#[/color] stop adbd

You can use ADB over WiFi or USB.

Over WiFi can be easier because you don't need to configure desktop drivers.

As so far modified the ADB would use USB.

If you want it to work over WiFi instead, delete the comment # mark:

[color=red]#[/color] setprop service.adb.tcp.port 5555

Now a minor modification to default.prop.

Change it so that it reads only (no other lines):

ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1

To put these two files back into the desktop's copy of uRamdisk:

bootutil /v /r uRamdisk init.rc default.prop

This should say that it replaced two files.

Copy uRamdisk to the Nook

Use noogie as in step one and just copy the uRamdisk over the old copy.

Reboot. Make sure that your WiFi is turned on and connected.

Use ADB

Get adb.exe from the Android SDK.

You connect to your Nook using either an IP address or a host name if you defined one in your C:\Windows\System32\drivers\etc\hosts.

adb connect nook [color=red][i]or whatever you named it[/i][/color]
adb shell

or

adb connect 192.168.1.2 [color=red][i]or whatever the IP is[/i][/color]
adb shell

Then you will get your # prompt.

You can do whatever you want.

Usually the point of all this is to allow you to modify something in the system.

To do this, you have to "remount" the system partition.

# mount -o rw,remount /dev/block/mmcblk0p5 /system

The rest is up to you!