[Barnes & Noble Nook Tablet] ylixir:
This guide is for getting your tablet rooted from Linux. It is similar to the guides made by Indirect and t-r-i-c-k for Windows and OS X respectively.

Get ADB working

If you are running a 64 bit system then you will need to have the 32 bit ncurses library installed.

For Arch Linux:

sudo pacman -S lib32-ncurses

For Ubuntu (can someone check this?):

sudo apt-get install lib32ncurses5

Now you will need the Android SDK. you can get it from http://developer.android.com/sdk/index.html

Extract the downloaded SDK to a location of your choice. This will give you an android-sdk-linux directory.

Now we need to install the platform tools. Run the android-sdk-linux/tools/android program and install at least the "Android SDK Platform-tools"

Optionally, you can install the Nook Tablet/Color SDKs.

Choose Tools->Manage Addon Sites

Click the "New..." button and add http://su.barnesandnoble.com/nook/sdk/addon.xml

Also add http://su.barnesandnoble.com/nook/sdk/Nook_Tablet_addon.xml

Now install the Nook Color and/or Nook Tablet SDKs.

You will have to manually edit or create the ~/.android/adb_usb.ini file. Make sure it contains the following line:

0x2080

Now we need to set up the udev rules for your Nook. These instructions work for Arch Linux, let me know if they don't work for your distribution.

create an /etc/udev/rules.d/51-android.rules file and populate it with:

SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"
SUBSYSTEM=="usb",ATTR{idVendor}=="2080",ATTR{idProduct}=="0004",SYMLINK+="android_adb"
SUBSYSTEM=="usb",ATTR{idVendor}=="2080",ATTR{idProduct}=="0004",SYMLINK+="android_fastboot"

run the following commands:

$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
$ sudo udevadm control --reload-rules

reference:

https://wiki.archlinux.org/index.php/Android

Enable USB debugging on your Nook

Open up your web browser on your Nook and go to http://comptonsoft.com/test and Download AppMenu.

reference: http://xdaforums.com/showpost.php?p=19421107&postcount=18

After the download completes, open the AppMenu.apk from the notification area (tap on the lower left corner of the nook screen where the three down arrows are)

Choose "Package Installer", when it says "Install blocked" choose "Settings"

Check off "Unknown Sources" and then choose "Development"

Check off both "USB debugging" options and uncheck "Auto Mount"

Bring up the notification window and tap on the AppMenu.apk and install with package installer. This time it should work.

If you ever need to get back to the appmenu you can now access it from the search screen (make sure to show all results). Sometimes the thing likes to reset it's debugging abilities.

Perform a temporary root

Now the fun begins. Let's get the rootkit. Download the zergrush binary from http://xdaforums.com/showthread.php?t=1296916

Extract the zergRush file from the zip and remember where you put it. I put mine in ~/Downloads

Adjust the following instructions according to your location:

Plug in your nook, you should get a beetle icon in the notification area.

Open up a terminal on your computer and change to the android-sdk-linux/platform-tools directory, and do the following commands:

$ cd ~/android-sdk-linux/platform-tools
$ ./adb kill-server
$ ./adb start-server
$ ./adb push ~/Downloads/zergRush /data/local/
$ ./adb shell

We are now in the nook.

$ chmod 755 /data/local/zergRush
$ /data/local/zergRush

zerg does it's thing and if all goes well, says it's restarting as root and kicks us out of adb

$ ./adb remount

It should say "remount succeeded" if the root worked.

Install su to make the root permanent

In order for the root to persist after a reboot we need to install superuser. Get it from http://androidsu.com/superuser/

Make sure to get the gingerbread version. Extract the contents of the zip somewhere, say ~/Downloads/superuser/ and do the following:

$ ./adb push ~/Downloads/superuser/system/bin/su /system/bin
$ ./adb push ~/Downloads/superuser/system/app/Superuser.apk /system/app
$ ./adb shell
# chmod 6755 /system/bin/su
# ln -s /system/bin/su /system/xbin/su
# chmod 644 /system/app/Superuser.apk
# exit

Install google apps

Of course we are gonna want to get access to the market and what not.

Get google apps from http://goo-inside.me/gapps

Extract somewhere, say ~/Downloads/gapps and do the following:

$ rm ~/Downloads/gapps/system/app/SetupWizard.apk
$ ./adb push ~/Downloads/gapps/system /system
$ ./adb shell
# chmod 644 /system/app/*
# chmod 644 /system/lib/libvoicesearch.so
# chmod 644 /system/etc/permissions/*
# chmod 644 /system/framework/*
# exit
$ ./adb remount
$ ./adb reboot

When the nook comes up again, choose search, tap the g in the upper left, choose apps, type in market. Choose to add an account, create/sign in.

I had to back out of the market in go back in again a couple times to get the "agree to license screen". If the market just sits there loading for a while, try that.

You can run any apps you install any time by searching for them.

Some tips for getting the most out of your tablet:

I suggest installing a launcher from the market. I use zeam. I think launcher pro and adw launcher are both popular choices also. These will allow you launch apps directly, instead of searching for them.

The Homecatcher app seems to be getting a good reception I haven't had a chance to try it yet, but i plan on it. It allows you to use a different launcher than barnes and noble's by default

Install busybox from here. You'll need to have an sd-card in your tablet for the install to work, but don't need it afterwords (just throw the one from your phone in or something if you don't have one).

To get adbd running as root (to do things like remount or push to system folder) you can run zergRush again as in the temporary root step. I had to su, and then run zergRush, and adb seems a little flakey and kicked me out from time to time when i did it, but it worked. ADB root goes away every time you reboot still.

Happy trails.