Saturday, May 21, 2011

A Nook Color Update

I recently opted to move from my "stock" rooted Nook Color to an install of Cyanogenmod7 running entirely off an SD card. This will allow me to restore Barnes and Noble's stock OS to the nook's internal storage and I get my custom environment just by inserting my special SD card... or I can remove it, reboot and return to stock.

That said, CM7 has been really nice. From what I can tell, the only thing I loose is the ability to view "Children's" books on the Nook Color as they aren't supported by the Nook app that's available from the Android Market. Everything else appears to work great.

Installing to SD card requires a card that's very good at small block random I/O. It turns out that counter-intuitive most "high speed" MicroSD cards are actually quite poor at small block random IO. Also, for some reason, Sandisk appears to be the reigning "speed king". For some reason, generally speaking, Sandisk Class 2 and Class 4 cards have generally been found to be the best option. For more information, there's quite a bit of discussion on this thread on xda.

If you were interested in doing this same kind of install, I would recommend checking out this very good guide here.

Stock Nook color Linpack, originally uploaded by arwild01.

Stock Nook color Quadrant scores, originally uploaded by arwild01.

It turns out that my Nook Color is actually "faster" running CM7 off of SD then it was running B&N's kernel off of the Nook's internal memory. This isn't just my perception... I have benchmarks to back it up. The first two screenshots featured in this article show my benchmarking results I was seeing running a rooted version of B&N's 1.1 release. Whereas the latter two screenshots show the new results now that I'm running CM7 from an SD card. (Clicking on the images will take you to larger version).

Stock Nook color Linpack, originally uploaded by arwild01.

Bare in mind, I have not installed an "overclocked" kernel at this point. My understanding is that it's quite possible to get another 30% boost in performance from overclock and the Nook Color will still be quite stable. The huge increase in linpack scores and Quadrant "CPU" numbers can largely be attributed to the much improved JNI capabilities found in the Android 2.3 (Gingerbread) kernel used by CM7 and the much older Android 2.1 (Eclair) kernel that B&N had supplied with my nook. (In fairness to B&N I've not tried their latest Nook Color OS which is Android 2.2 (Froyo)-based which should see most of those same performance improvements.)

Lastly, now that I'm on CM7, I thought I would install the newly released Netflix for Android app. I'm happy to report that it works quite well. I was able to install netflix by mostly following the instructions documented in this reddit post.

However, it turns out that for SD installs, ES File explorer can't mount the /system file system in read/write mode so you can't edit the build.prop file at all. However, if you open the Terminal Emulator and enter the following commands you can do it yourself:

busybox mount -o remount,rw /system

Afterwards most users were then able to use ES File Explorer to perform the necessary edits to build.prop. I opted to use the "Nexus S" variant.

In my case, however... I couldn't get ES File Explorer to work at all. Every time I attempted to edit the file after remounting the filesystem produced an error. However, I realized that the CM7 install includes a copy of the venerable vi editor and the stock Terminal Emulator works well enough to use it. The only catch, as fellow vi users well know... how in the world do you send an "Esc" key from an android virtual keyboard (to exit edit mode and return to command mode). It turns out that the stock Terminal Emulator will send an "Esc" if you hold volume down on the nook and then press a "1" on the virtual keyboard!

All in all, I'm really happy with this install.

Here's a quick video showing Netflix running on the Nook Color:


  1. I just put CM7 nightly 87 on my NOOK Color. Incredible! I made the mistake of building it on a Patriot 8GB Class 10 uSD thinking that would be fast. Today I bought a Sandisk 8GB Class 4 and it smokes! Now I'm trying to find a screenshot app.

  2. If you are rooted, there are several to choose from. I use "ShootMe"

  3. A friend of mine stumbled across a link to this post on XDA. On a whim I was looking back at it... and for all this time, the CM7 quadrant screen shot... IS THE WRONG IMAGE! I'm surprised that the XDA people didn't notice/comment. Anyway... I'm fixing it now.