Rooting B&N revision 1.4 to 1.7 on any hardware
From nookDevs
- Warning: nookDevs.com is not liable if you screw up during the root process. kthxbai
- Warning: This will probably (probably = actually) void your warranty, nookDevs.com is not liable for that either in any way shape or form.
- Warning: What you are about to do should only be undertaken by a competent person, not your pet monkey Guenter, even if he has a small hat (Futurama)
- Warning: Make sure you read the FULL page BEFORE starting anything to confirm you know what you are getting into!
- Warning: By following the instructions below you release nookDevs and all related parties from any and all liability and damages as a result of this process. We can help you if you run into problems but we help at OUR discretion.
To start the rooting process please scroll down...
This method of rooting is known to work on B&N firmware revisions 1.4-1.7, on all hardware versions. Unlike the other rooting methods, this one involves an element of luck -- it takes advantage of a memory-corrupting bug in the web browser, and its success depends on the current contents of the memory which depends on more variables than we can control. As such, the method requires a little bit of (or more) patience.
Contents |
Preparation
- Install Google's Android platform tools from http://developer.android.com/sdk/index.html. These include many useful utilities, such as the ADB control software.
- Open up a terminal to use ADB
- Open a command prompt
- Navigate to the directory that you installed, then go into the platform-tools subdirectory. This is where the adb executable lives.
- Connect your nook to the same WiFi that your computer is on. You need direct (non-firewalled) access to the Nook's IP address to connect via ADB.
- Find your Nook's IP address: from the home screen, go to Wi-Fi. Select "Wi-Fi Hotspot", then select the router that you're connected to. The Nook's IP will be displayed on the main screen. Write it down somewhere.
Enable adbd on the Nook
This is the luck portion of the root. adbd is the other half of ADB: ADB runs on your computer, and tries to connect with adbd on the nook. Once connected, you can issue commands, shuffle files, and install applications. Our final goal is to be able to start and stop adbd at will.
- Open the Nook's web browser and navigate to the web site http://goonies.be/~neilk/adbd.html. For simplicity, you may want to go to http://goonies.be/~neilk/, bookmark the page, then edit the bookmark to point to adbd.html
- When you load this web page, the browser will crash. (It may automatically reload itself a few times first.) After it crashes, it 'might' enable adbd.
- Go back to the command prompt on your computer, and type:
adb connect
One of two things will happen:
- You will get the message 'unable to connect to
:5555'. In this case, restart your web browser and load the web page again (from the history). You may have to do this a dozen times or more, so keep at it! - You will get the message 'connected to
:5555'. Success!
At this point you have (temporarily) access the nook via ADB, can now enter commands on your PC for the Nook, and can move files back and forth. If you reboot the nook, adbd (the nook companion to ADB) will not be running.
Pull and modify /init.rc
If this isn't your first time through, and you have a modified copy of init.rc, skip this step.
Now that you can connect into the Nook, you will want to pull and edit the /init.rc file. This file is run when the nook turns on, and includes an option to enable adbd (disabled by default). Download the file to your PC with:
adb pull /init.rc
Open this file with Notepad (or a different plain text editor), and find the part the lines:
service adbd /sbin/adbd disabled
Change 'disabled' to 'enabled,' and save the file.
Getting root access
You got the web browser to launch adbd, but you only have the privilege level of the web browser's user - system. To install software and to start adbd when the Nook reboots, you need root access. Rage Against the Cage will give you root access. Next, you'll restart adbd, and push the modified init.rc back to the nook. After that, reboot the nook and you're done!
- Download [ratc.zip].
- Extract it to the same directory that adb is stored in, then go back to the command prompt:
adb push ratc.bin /sqlite_stmt_journals adb shell $ cd /sqlite_stmt_journals $ /system/bin/chmod 777 ./ratc.bin $ ./ratc.bin
(several lines of output follow -- don't do anything, a few seconds later adb will disconnect you.)
Keeping root access
If everything went well, you should have root access on the Nook. However, the Nook is now relatively unstable and may stop working at any point, so work quickly!
The nook may crash - just reboot, then restart the process from scratch. (Remember, you don't need to pull init.rc again.)
First, you need to stop your PC's ADB server. It still thinks that it's connected to the nook.
adb kill-server
Second, extract this [batch file] to the same directory as ADB. It automatically issues the following commands, reducing the chances of the nook crashing before init.rc has been pushed to it. (Note: I wrote the batch file after rooting, so it's untested. It won't do any harm, but it may not work. Feedback?) Feedback: when I try the batch file it crashes my browser permanently, making it so I have to restore to stock.
adb connectadb push init.rc /
Run it by typing:
push.bat
It will prompt you for your nook's IP address, then try connecting. Every few seconds, ADB will complain that it can't connect to the nook. Let's fix that.
Perform the browser crash procedure again. After each attempt, check if the computer successfully transferred init.rc. If it did, you're done!
If the nook crashes before the transfer completes, go back to "Enabling adbd". You can skip "Pull and modify /init.rc", but do the other steps. If the adb push gives a "permission denied" error, redo the "Getting root access", and try again. You may have to do this quite a few times until the whole process succeeds.
Your rooted Nook
Assuming everything worked, you now have a rooted Nook with adbd running on reboot, with root access. You should be able to adb connect into it without jumping through any other hoops.
What's next? Browse the applications, and install to your heart's content.
Suggestions:
- Mynook.ru Launcher A polished replacement launcher. You must replace the launcher to access additional applications with the nook.
- Trook A RSS feed reader for the nook, and much more! It can install applications, too. Just go into the nookdevs feed.
- NookLibrary A replacement library for the nook. If unifies sideloaded books with Barnes & Noble content, and offers other improvements.
- NookMarket A program that allows you to easily install everything on nookdevs. Trook offers more functionality (imho)
- Games There are a few games on the applications page.
There's also a Python script to automate the process: root-nook-eink.tar.xz (Updated Jun 6 , 2011)