[Nook Color General] bachon:
Here is the updated Guide - feedback still welcomed!

Nook Rooting 101

“I got a new Nook for my birthday. What’s all this stuff about rooting?”

The Barnes & Noble Nook eReaders share some of the same electronic architecture as many smart phones and tablets. These devices work using the Android Operating system. The factory installed OS (Operating System) of the Nook limits many of the possible advanced features since it was designed primarily to be a reader. Some tech-savvy programmers have learned how to modify the Nook devices to more closely emulate advanced features found on many of the Android devices.

Quick detour: Those wanting to modify their Nooks are going to run into a lot of terminology. Here is a link to a glossary of many of these terms.

http://www.acertabletforum.com/foru...-dummies-guide-android-terminology-lingo.html

The number of terms addressed within this post will be far more modest. But these are terms that you really should understand before attempting to make changes in your Nook.

Some rules of thumb: There are a wide variety of people who post within this forum.

o	Some come here with backgrounds using different operating systems. These include Windows, Macintosh. Unix, or Linux. Some of the terminology is in these worlds is significantly different.

o	This is an International forum. You will mainly see people posting in English here. Remember that English may not be the first language of at least some of the people who post here.

o	Some of the people who post here are quite accomplished at programming. But they may not be quite as accomplished at writing clear, concise instructions or answers. Or they may be busy and may post only the ‘essential part of an answer” without taking time to offer any background or explanation.

o	There are people who post here who simply don’t know quite as much as they think they do. Confirm what you read in a single post.

o	Some are patient and quite helpful and some are not. Remember – this is a free forum. Reminder: Those willing to contribute to the cause help everyone.

All of this is mentioned to remind people that they should take the time to research and really understand things well before they act. You’ll probably obtain better results. The senior members in this forum can and do grow tired of answering the same questions repeatedly. You are strongly encouraged to spend some time here doing your own research before asking questions. It’s very likely that the answer to most of your question is already here, though this is a huge forum with many threads. Don't let your eagerness to get something done fast turn you into an annoying pest.

What is Rooting?

The term root comes from the Unix/Linux world. The Android operating system is loosely based on the Unix operating system. A user who has “Superuser” rights or permissions to all the files and programs in the software OS is called the root. Regular users can use the software, but typically cannot make changes to the firmware or Operating System that controls how the device operates. Superuser privileges allow users to make a host of changes to the software code on the device.

Regular Nook users have the right to operate the Nook as it shipped from the factory. Rooted Nooks grant Superuser rights to regular Nook users. These rights can be used to overcome restrictions placed on the device by the manufacturer. Rooting typically results in the ability to alter or replace system settings and run applications Barnes & Noble chose not to include.

You will see where many in this forum say, “I rooted my Nook.” Those new to this forum might get the impression that rooting is a separate step you must perform BEFORE you can load and use a different Operating System. That’s not quite correct. The installation process for a new Operating System will actually perform the rooting and make the necessary changes to the firmware on your Nook. After you have loaded a new Operating System, your Nook will be rooted. But it won’t be because of some specific set of steps you take.

ROMs

A stock ROM is the version of the device’s Operating System (OS) that comes loaded on it when you buy it. The Nook Readers have a stock ROM. Users of this operating system do not have Superuser rights to change things on the device.

A custom ROM is a fully standalone version of the OS, including the kernel (which makes everything run), apps, services, etc - everything you need to operate the device, except it's customized by someone in some way..

So what does the "customized" part mean? Since Android is open source, developers are free to take stock ROMs, modify them, remove garbage, optimize them, add things, and pretty much do whatever their imagination and skills allow.

Kernels

Another word you’ll frequently see on this site is kernel. Your Nook’s kernel controls much of the communication between the various electronic parts of the unit. An analogy is that the kernel is like programming stored in the Read Only Memory found on desktop and laptop computers. Think of the BIOS (Binary Input Output System). Some portions of the settings in this memory can be changed, such as when you install a hard disk drive. BIOS also allow other settings to be adjusted to suit the preferences of various users. But other portions of the BIOS would typically not be changed or your computer’s electronics cannot communicate with one another.

That is a pretty close approximation to how the kernel on your Nook is setup. Some portions of the programming were set at the factory and should not be changed. But other portions of the programming can be changed. And updates to the programming for kernels are made available, just as updates for BIOS can be flashed into the Read Only Memory of a desktop or laptop computer.

Many of the custom ROMS you can load on your Nook will make at least some changes within the kernel of your unit. Just as there are various versions of the custom ROMs. There are versions of the programming for kernels as well. Let’s stop there for now. The subject can quickly get pretty deep. That should be enough for now. Some will also call the kernel of your Nook the bootloader or the firmware.

Different Approaches

Some people who want to use one of these custom ROM systems on their Nook just install the ROM on a SD chip. (SD stands for Secure Digital.) All the current Nook readers accept a Micro SD chip. A custom ROM can be loaded onto your Nook from this SD chip. Some people choose to load a custom Android Operating System operating from the SD chip. They can then power down the Nook, remove the SD card. They, after restarting their Nook, and the regular Barnes & Noble operating system will run.

At least some of the custom ROMs allow users to select whether to run the operating system (ROM) installed on the SD card, or run the native Nook operating system. You don’t need to go through the process of inserting or removing the SD card to switch the OS. A series of keys are pressed as the Nook is starting to choose which of the ROMs you want it to run. Since you get to choose at startup, some people call this dual booting.

There are other methods of installing custom ROMs on a Nook. One is to install the ROM into the eMMC. (This stands for Embedded Multi- Media Card.) This is the flash memory of your Nook that contains the original Barnes & Noble operating system. Loading the ROM into the eMMC means the original B & N operating system is no longer available to run. Some users report the ROMs operate a bit faster and that there are fewer problems when the Nook is run in this manner. But do remember that this means the original operating system on your Nook will no longer be available to run. There are instructions located on this site that include steps to re-install the original system. So, this may not be as drastic a step as it might seem at first glance. There are also programs which will allow you to save all the data settings – including the OS settings currently loaded on your Nook so they can be restored later. That will not be covered in this post.

Some users have been loading more than one operating system into the emmc of their Nooks. They can choose which Operating System they want and that one will run on the device. Some have even figured out ways to have both the original B & N stock ROM and a custom ROM to be loaded into the emmc. So no SD card is required after installation to operate the Nook.

Those totally new and unfamiliar with Rooting may find it a little less daunting and feel a bit safer to use the SD chip method. As they gain more experience and know better what they are doing they may decide to venture out and try the emmc method for the potential advantages this method offers.

The Downside Of Custom ROMs

Of course, there are dangers of using custom ROMs which you should be aware of.

You May Void Your Warranty

As long as we’re talking about risks, this one needs to be mentioned. It's possible that loading a custom ROM might void your warranty. This is generally only a problem if you replace the ROM in emmc of your device. The manufacturer might be able to tell that the Nook has had a custom ROM installed and not honor the warranty, in case you need to use it. Barnes & Noble hasn’t acted hostile to rooting yet, but that could change. It might be possible, but the chances of this happening with a custom ROM running of the SD card are almost inconceivable.

Something Could Go Wrong

First of all, something may go wrong with the flashing process (that's the process of installing a custom ROM) and leave your Nook bricked. One user on this site poetically said that bricking was: “Turning a beautiful orchestration of electronic components into a paperweight or, brick.

A Bricked Nook won’t operate. The chances of this happening are relatively low – especially if you use the SD chip method. And most of the time you can restore your Nook back to normal. Please take note of the phrase “most of the time”. You should understand that a bricked Nook is a possibility that can happen. Anyone doing a casual scan of the subject lines of posts on this site will see people who say something like “I’ve bricked my Nook.” So it can be done.

Try to go for a custom ROM that has been tested by time and has lots of positive feedback from users on this site. You are more likely to be successful with such a ROM.

Other Potential Problems

Custom ROMs could have bugs. Bugs are mistakes in the programming. Some are minor and won’t cause big problems. But others can be more serious.

There are channels on this site for how to post problems due to bugs. Those who post in the appropriate ROM forum will likely get an answer back and the bug will probably be acknowledged. Experienced users may even suggest methods to fix the problem.

So What‘s the Bottom Line?

Many of the people at this site have determined that the potential benefits of running these custom ROMs outweigh the risks. There are lots of experienced people here who will offer their advice if you decide to try this. But it is ultimately your responsibility to consider the risks and benefits in deciding what to do.

Quick detour: Let’s be very clear and realistic. Your Nook is never going to be an I-Phone or another full featured Android Phone. It was designed to be an eReader. (So was the Kindle.) But custom ROMs can add features and unlock capabilities on your Nook that Barnes & Noble probably won’t ever include in their stock ROMs. In short - You cannot really turn your Nook into a smart phone.

“But there are so many choices!”

Yes there are. Let’s try to understand why this is a good thing. Apple and Microsoft own the rights and hold patents on their operating systems. They jealously guard their secrets and strictly enforce their patents. And they make money selling their operating systems.

Unix is also a patented operating system. Linux is an open source operating system based on Unix. It isn’t really owned by anyone. The concept allows many users to tinker with it to improve it. The Android operating system is loosely based on Linux and is also open-source. Developers take stock ROMs and modify them to create their own unique versions. Developers of custom ROMs are able to optimize the software, unlock built-in features, and create an even better version of the Android software. The Android developers who make these custom ROMs release the software to the general public free of charge. We are fortunate to have these developers constantly working and freely sharing these custom ROMs available to everyone.

Stable versus Cool

Since ROMs are constantly being developed by many people, there are multiple flavors of ROMs available to us. Anyone who has ever done any programming knows that sometimes your new code fixes one problem but creates others. Programmers generally call these bugs.

A major portion of the ROMs may work OK, but there may be bugs in portions of the code. Groups of developers collaborate and post their versions of a ROM to be checked out and tested by other users to discover and fix all the bugs.

Then there are some general flavors of the Android system that have become established and are recognized by many. Let’s consider a few of those since you will see these mentioned frequently on this site.

Since April 2009, each Android version has been developed using a codename based on a dessert item. Released in alphabetical order, the names were Cupcake, Donut, Éclair, Froyo, Gingerbread, Honeycomb and Ice Cream Sandwich.

The Android versions distributed within the lifetime of the Nook include:

o	Android 2.1 (codename Eclair)

o	Android 2.2 (codename Froyo)

o	Android 2.3 (codename Gingerbread)

o	Android 3.0 (codename Honeycomb)

o	Android 4.0 (code Ice Cream Sandwich)

Important detour: It is time to mention CyanogenMod. After the first developers discovered how to root their mobile devices, some enthusiasts began to distribute custom ROMs. Steve Kondik, who was known as Cyanogen, became recognized as the leader of a group of independent developers. They took some of the Google stock ROMs and made modified versions of them that added new features for users.

These custom ROMs grew in popularity, and a small community of developers, called the CyanogenMod Team made contributions. Within a few months, the number of devices and features supported by CyanogenMod blossomed, and CyanogenMod quickly became one of the most popular Android firmware distributions.

Like many open source projects, CyanogenMod is developed using a distributed revision control system. Contributors submit new features or bug fixes to a designated site. Contributions may be tested by anyone, voted up or down by registered users, and ultimately accepted into the code by one of a handful of CyanogenMod developers. As new flavors of the stock operating systems were released, these CyanogenMod developers began to modify them and create custom ROMs.

Let’s look at some of these versions individually. We’ll use the codenames in this list.

Eclair

Eclair was the original Barnes & Noble Nooks as delivered on the original Nook. This was the Black and White model. And even Barnes & Noble began replacing this Operating System.

Froyo

Many consider Froyo a big improvement over Éclair. It has been in use for some time and is considered a stable platform for the Nook. Barnes & Noble is currently loading this system using a method called push to update Nooks to run a stripped down version of Froyo. It is important to understand that the B & N version does not have all the features of some of the custom Froyo ROMs. This was the first stock operating system with an official CyanogenMod version. The version was known as CyanogenMod 6 (CM6).

Gingerbread

The Gingerbread version that many people on this forum use has become known as CyanogenMod 7. That’s right – sometimes the system is still called Gingerbread – but that is generally the stock ROM. Most people use the CyanogenMod version. This version is widely called CyanogenMod 7, though many just refer to it as CM7. It was developed from the official Android 2.3 Gingerbread source code, but was modified for many smart phones. There are currently several versions of this that will run on Nooks of various kinds. As of this writing, many consider this a good choice for a Nook operating system. It blends many recent features with a high degree of stability. The CM7 releases include Bluetooth support for the Nook, meaning that you can use Bluetooth keyboards and headsets! It should be noted that Bluetooth support is still evolving.

In April of 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3 OS. The latest stable version, CyanogenMod 7.1, was released in October of 2011, based on Android 2.3.7. CyanogenMod 7.2, is approaching the final stages of being finished (as of February of 2012). CM7.2 is expected to be the last update to the 7.x series.

Honeycomb

This Android system first showed up on the Motorola Xoom tablet. It offers some new features, but has not been released by the official development community. Because such development is constantly underway, some may post test versions for downloading. Be careful! This ROM is still very much in the developmental process. As an example, a few developers have been trying to take features of Honeycomb and include them in updated versions of Gingerbread. One of these versions has been given its own name: phiremod nook

CyanogenMod version 8 was planned to be based on Android 3.x Honeycomb. However, Google did not immediately release the source code for Honeycomb. By the time they did, the code for the next version was already being studied.

Ice Cream Sandwich

Android 4.0 (Ice Cream Sandwich) is the latest version of the Android platform for phones, tablets, and more. It builds on the things people love most about Android — easy multitasking, rich notifications, customizable home screens, resizable widgets, and deep interactivity — and adds new ways of communicating and sharing.

The Android 4.0 Ice Cream Sandwich (ICS) source code was released. Since Honeycomb was quickly superseded by Ice Cream Sandwich, the release schedule advanced from CyanogenMod 7.x directly to CyanogenMod 9.

As you start to explore and consider custom ROMs for your Nook, you will often see some of these letters in the names of custom ROMs.

Stable versions are those where all known issues have been addressed and resolved. This version is for everyday use.

-test / -RC versions are similar to the experimental versions, but are in the final stages of testing before being declared as "stable". There may be a few bugs left, but this version is usually stable enough for everyday use.

Experimental / -alpha versions are those where new features are being added, modified, and tweaked, and there are known bugs that are being worked on. This version is for beta / alpha testers.

Nightly builds are daily compiled builds from source code. These versions often have the latest features & tweaks, but they are also the mostly likely to have bugs and issues. These versions are probably poor choices for nubes.

So which do you want to use? Gingerbread – going by the name of CyanogenMod7.0 – may be a good choice for starting out, as of the date of this writing (February of 2012) Yes, you can upgrade this to later versions as you become more familiar with what is out there and become more accomplished at how to modify your Nook.

Hope this information proves helpful to you as you browse through the threads and posts within this forum. :D

Finally, it is hoped that a step-by-step How to Guide will eventually follow this introduction. Thanks to the people who have helped with guidance as it is being developed.

Bach On!