We at SmallCloudBuilder and SmallNetBuilder love gadgets. In fact, it’s pretty much a job requirement for this field of work. With tablets making big news lately, the gadget lover in me has been in overdrive.
With the advent of Android-based tablets, many more manufacturers are jumping into the game and using Android in new ways. It’s been a bumpy road so far, however, and everything isn’t great for consumers. Many manufacturers are locking down devices to the point where Android’s power is hidden pretty well.
Such is the case with the Nook Color, Barnes & Noble’s little e-reader. It’s Android back there underneath the stock firmware. But nothing on the front end is standard Android, and you can’t really get to any part of the real Android OS.
This can be changed through “rooting”, aka Jailbreaking by iOS users. Rooting has various meanings, but on the whole, grants you complete access to the underlying Android OS to run what you want. The Nook Color happens to be one of the easiest “roots” to do, or at least that’s what the Internet claims.
Tim recently went through the process of rooting his Nook Color, and wound up rather underwhelmed. Apparently the stock 2.1 sources from B&N are rather poorly coded, according to informed forum and blog posts. Users running 2.2 and 2.3 on the device have had much different experiences, though, and that’s what I decided to go for.
Research, Research, Research
The important thing about the Nook is that Barnes & Nobles has not updated the underlying OS since stock Android 2.1. This means that no sources exist from B&N to perform true roots, so 2.2 and 2.3 rooters have some research to do on which “mod” to use.
Different mods take different approaches. Some have modified the stock 2.1 kernel to run 2.2 programs. Others are taking a stock Linux kernel that is roughly the same version as the Android kernel, and patching it.
I decided to jump straight in and go for Android 2.3 (Gingerbread) using CyanogenMod, which is a kernel replacement mod. After all, I’ve been using Linux since RedHat 6.1. I know my way around a command line, compiling and installing kernel modules, etc. How hard could it be?
As you might imagine, there’s more to it than meets the eye. There’s a “standard” root and an “advanced” root. The primary difference is how you install Android. The standard root uses a SD flash card, which the Nook Color boots from and leaves the primary flash memory intact. The advanced root wipes the internal flash and installs directly, completely replacing the factory code.
The only available installation instructions for CyanogenMod are for the advanced kind of root. This involves installing a bootloader (called Clockwork) that you can then muck around with to install different versions of Android into the onboard flash.
The CyanogenMod CM7 Lock Screen on a Nook Color.
CM7 Home Screen. Notice the pretty theme. CM7’s default theme is resolution independent, mostly.
Launcher for CM7
You can see my WPA2-AES AP remembered but not connecting.
The web browser with an example page.
CM7’s gingerbread keyboard, much improved over the stock nook keyboard.
Since CM7 is also for phones, you can pull up the phone view on the nook.
The informational page about the nook.
Here you can see how much RAM is free. This is with the browser running in the background.
Themes are nice but most are not resolution independent, or built to accommodate the Nook’s weird aspect ratio.
CM7 is smart enough to know that the theme won’t look right on the device.
And we have the lovely blue terminal. I would have preferred green on black, but it’s just a preference of mine.
CM7 is the latest beta version of CyanogenMod, and is the only one that supports the Nook Color. Not everything works, but what does, works beautifully. The browser is awesome, the interface is fluid (iPad-quality!), and it uses only uses 80 MB of RAM compared to the stock OS that uses 300+ MB.
What I didn’t realize was that I had no way of going back. Issues with the Wi-Fi were prevalent, and made browsing a chore. I couldn’t connect to my WPA2-AES access point at all. So I used a separate AP with a guest network feature that I opened up temporarily. Even then, I couldn’t stay online for more than 10 minutes and also ran into sleep issues that I thought had been fixed with my version of the CyanogenMod beta.
So I tried to revert to a backup. Unfortunately, something didn’t work right during the restore and I would up with a Nook Color that wouldn’t get past the “N” boot screen. So I installed a 2.2 Android mod onto the SD card and booted with that, so at least I knew I wasn’t bricked and can probably return the device if I want to admit defeat.
So even the easier Android-based tablets have issues. For $250, the Nook Color is a great piece of hardware. Its 512 MB of RAM is more than in the iPad 1, and is rumored to match the iPad 2. The 800 MHz TI-OMAP processor is nearly as fast as the A4 chip in the iPad 1.
Rooting the Nook Color shows the true power of the device, which is much more than enabled by the stock B&N firmware. But the rooting process still isn’t foolproof and not for folks who aren’t comfortable with a command line.
While running around on the forums looking for answers, I began to notice some interesting things. One is that many of the Android hackers seem very personable, unlike iOS jailbreakers who tend to be standoff-ish. This might be from having to deal with Apple’s dim view of their efforts. But some of it seems more like elitism to me.
Another thing I noticed was the number of people who want to root their Nook Color, but are either scared of the command line, or just not very computer-savvy. When I started poking around Linux, I at least had a good grasp of how Windows worked. And since Windows NT borrowed many concepts from Unix, I was able to easily relate concepts to Linux.
The desire of noobs to hack their devices is interesting, though. It seems that people want to be able to use their devices to their fullest extent and don’t like manufacturer-imposed roadblocks. With the iPhone, the driving force was to use carriers other than AT&T. With the Nook Color, it could be the desire to have a reasonably-priced Android tablet on a decent hardware platform that is free of wireless carrier contracts.
To those users I say: Welcome! But you have a lot of learning to do. Rooting generally means having a decent knowledge of Linux, so I would recommend downloading and burning an Ubuntu Disk and running the live edition for a bit to get a feel for the command line. There are also many books and websites available to help bring you up to speed.
But even a little Linux / Android knowledge might not equip you to handle a rooted device that won’t boot. So if you’re uncomfortable with the potential of rendering your Nook Color useless, you’ll be better off waiting for Android tablet manufacturers to come to their senses. They seem to be trying to replicate the cell phone business model of two-year contracts in return for device discounts. But even with carrier subsidies, Motorola’s Xoom pricing is still in la-la land and Samsung doesn’t seem to have gotten the memo on competitive pricing yet, either.
Next time, I’ll see if I can install a mod that yields a more functional Android tablet with better performance than Tim found.