Complete Guide to Installing, Configuring CyanogenMod 7 Stable Release (Android 2.3, Gingerbread) on the Nook Color
If you are new to Nook Color operating system and install options, I strongly recommend reading this guide to picking your Nook Color operating system and installer. And if you're just starting to explore what Android is and are a little hesitant, you can always try Android for free on your computer with a virtual machine.
Within 30 minutes your Nook Color can be running the latest stable, available version of Google's Android 2.3 (Gingerbread) OS (technically the CyanogenMod 7 Stable manifestation of it), and thanks to its use of the SD card, all safely achieved without altering your existing Nook Color's setup or violating the warranty. Included in all the new features, performance benefits, and elevation of your own personal coolness, you get Bluetooth support. The Nook Color can do VOIP (e.g., Skype), GPS navigation, sending music to wireless headets or stereos, and much more!
My goal in this document is to help less technical people through the slightly more technical and slightly more we-assume-you-know what-you're-doing verygreen's CyanogenMod 7 (CM 7) to SD install instructions, covering things left out, additional problems you might encounter, and configuration you might want to do post install. If you have any basic questions or run into trouble, please check out this Nook Color Modding FAQ which might save us both some time.
Be aware, I experienced lingering and frustrating stability and file system corruption issues with several installs to several SD cards. Other people are not having this experience, but if you do be aware that your SD cards may be too "fast". Your choice is then to try and find other workable SD cards or do an eMMC (internal memory) install, such as you'll find in my guide to phiremod install on the Nook Color.
Step 1: Installing CM7 Stable to your SD card
The first step is to follow verygreen's instructions on how to take the SD card image he made, combined with the latest updated CM7 install, combined with the Google apps pack (gapps) to get a bootable system.
Before you begin, though, let me give you some tips.
- Windows users will need Win32DiskImager to flash the requisite .img file to your SD card. It's free, download Win32DiskImager now.
- Mac / Linux / FreeBSD users will use "dd" to flash the requisite .img file to your SD card. The command you will execute looks like:
# dd if=generic-sdcard-v1.1.img of=/dev/sdcard
If needed, replace /dev/sdcard with the real path of your mounted SD card and specify the real path of the data image (after unpacking the gz version you downloaded).
- I strongly recommend against using class 10 rated SD cards! Testing over several days proved that my system would not run reliably (tons of "force close" errors and the file system reverting to read-only) on a class 10 rated card, the Patriot LX series. Whereas the system works flawlessly on my PNY class 4 card, which cost less than half as much and actually operates just as fast, according to SD Tools it writes at 12 MB/s and reads at 84 MB/s read, which exceeds class 10.
- If you insist on using a class 10 card, the verygreen install script will probably hang when it goes to create the disk structure. A workaround for this is to first burn the image to a working (and dirt cheap, $7-10) class 4 PNY or Sandisk (or other) microSD card (of equivalent or, to be safe, smaller size) and then when you've got the install completed clone the microSD card by using Win32DiskImager to create a .img file of the working class 4 SD card and then write that image to your class 10 SD card. It's a hassle, you'll be waiting 15 minutes to read, 15 minutes to write, but it works! And you've now got a backup to boot. Assuming your class 10 was larger than your class 4 SD card you can then expand the virtual SD partition using any non-destructive partitioning product (the partition is fat32) so that you get all your space used. If you've got Windows 7, use its Disk Mangement feature to safely expand the partition, if you've got another Windows version you may need to use EASUS's Partition Master Professional Edition ($19) or Acronis' DiskDirector ($49).
- The CM7 build you want is "update-cm-7.0.0-encore-signed.zip", so make sure you get that one! (Obviously if you're reading this document in the distant future, make your best choice!)
- You might want to initially avoid the Dalingrin OC kernel/ROM upgrade instructions for now, I'll cover that separately below.
- If you get hung up trying to install the Google apps pack because it seems like the recovery console isn't installing it, you may be going into the wrong recover mode or no mode at all! Turn off the device and then turn it back on holding both power and N for 6 seconds, one to two seconds after the "Touch the Future of Reading" comes on the screen. You'll see the Linux penguin at the top and a bunch of console messages, one of which will indicate it's looking for "gapps". If you don't see that you're not in the right recovery screen!
Those tips being given:
Go to and follow carefully verygreen's CyanogenMod 7 (CM 7) to SD install instructions!
The entire process will only take you about 15 - 20 minutes. If you were using a class 10 card you can do the class 4 to class 10 clone at this point, or at the very end when you've got everything set up, it's your choice.
Step 2: Turn on Bluetooth (optional)
If you're ready to turn on Bluetooth, there's a trick. If you don't do this, Bluetooth will just refuse to turn on / be enabled.
- Turn off wifi (Settings > Wireless & Networks > Wi-Fi)
- Turn on Bluetooth (Settings > Wireless & Networks > Bluetooth)
- Turn on wifi
It seems a bit odd, but that's what you have to do. From then on out it'll work fine.
Bluetooth Keyboard Instructions
Pair as you normally pair a Bluetooth keyboard, that all works just as you'd expect. But, if you don't do this next step you'll likely want to throw your keyboard and Nook Color out the window within the first 30 minutes of typing. When you type on your Bluetooth keyboard the virtual keyboard will very likely appear, or re-appear if you've hidden it. I am not sure why this is. You close the keyboard, you type, maybe it stays closed for a moment or two, but invariably it opens up again. And, because it's open not only do you have much of your screen real estate wasted by a keyboard you're not using, your physical keyboard presses will often linger long enough to pop up the Gingerbread character selector. In other words, type "e" on the keyboard and about 5% of the time it will think you held "e" down in order to bring up the list of international "e" variations, which you then need to close. And, as if that's not annoying enough, the predictive text completion that will go on with the virtual keyboard open will lead to sometimes sluggish responses to your keypresses, and even missing text. The solution? Buy and install the Null Keyboard ($2)! It's money well spent. You install it, enable it in settings, and then when you are going to use your BT keyboard you hold your finger down on an input box for a few seconds, it asks you to choose your input method, you choose Null Keyboard, and voila! You can now type on your BT keyboard with joy. And when you put away the keyboard don't forget you'll need to switch the input back to your Android (or Gingerbread) keyboard next time you need to type with the virtual one.
Step 3: Adding Important Apps
CM7 is great, but you'll need some other free apps to really get the best experience out of it. The list had gotten rather long so I have now put it on its own page. I strongly recommend you go now and install all of the free Must Have Apps for your Nook Color.
Obviously you can add more apps beyond those, but you walking that list you will cover the basics and be in good shape to proceed.
Step 4: Overclocking!
If you want to at this point you can try some overclocking. It appears to be pretty stable, pretty safe, and potentially makes your Nook Color 40% faster than when you bought it! It can arguably run as fast as the Samsung Galaxy Tab!
This process is pretty simple, it involves replacing the uImage file on the SD partition of your microSD card with an alternative that has been "hacked" for performance (and/or features). The one everyone is using now for CM7 is Dalingrin's.
- Download the 2.6.29 Dalingrin OC kernel (or earlier version, DO NOT DOWNLOAD THE LATEST) for CM7 on SD card. You do not want to download the latest, it requires a test build of CM 7 that isn't stable. Do not pick the wrong kernel! Follow the link in Dalingrin's kernel announcement thread for the “Froyo and CM7 kernel”. Then choose the most recent dated folder, then pick the kernel called “update-CM7-dalingrin-OC-sd-MMDDYY.zip” (where the MMDDYY is replaced with the date of the recent version). MAKE SURE YOU PICK THE ONE WITH "CM7" AND "SD" IN THE NAME!
- On your Nook Color go into the installed "Terminal Emulator" app, type "su" to make you the superuser. You should see the prompt change to "#" instead of "$". If this doesn't change, close out and try again. I've seen Terminal Emulator seem to have issues getting super user permission at first. Once it has accepted your "su" and the prompt changes, type in "rm -rf /data/dalvik-cache/*". As soon as this is done, shutdown your Nook Color (hold the power button down, then choose power off) and put the microSD card in your computer.
- Rename the existing file in your mounted SD card "uImage" as "uImage.original".
- Open the kernel file you downloaded and copy the "uImage" file inside it to the SD card, so it sits next to the original uImage file.
- Safely eject the SD card from your computer, pop it in your Nook Color and power on!
Your Nook Color will now be running the latest kernel!
To turn on the overclocking, go to Settings > CyanogenMod Settings > Performance > CPU Settings > Max CPU Frequency.
If something goes wrong and your device won't boot or in some other way seems seriously screwed up, just shut down, pop out the microSD card, put it back into your computer and delete the "uImage" file, and rename the "uImage.original" to "uImage". Dealing with any problems is beyond the scope of this article, your best bet for support would be the people in this thread. And don't forget, we're doing all this on the microSD, you can always pop-out the microSD and your original Nook Color is still there.
Step 5: Backup
You really should back up at this point. Shut down and make an image of your SD card if possible. Things can easily get screwed up, corrupted, etc. with an alpha-stage release like this, so it's best to be able to easily get back to where you were. I've seen a lot of things get corrupted and had to reinstall more than a few things. Better safe than sorry. Also, use Titanium Backup to backup your app data!
Step 6: Keeping Up to Date
Once you've got your system up and running you'll inevitably want to update it as new bug fixes and features are released. This process is a lot less painful than it used to be, thanks to the clever way these installs are distributed and also thanks to the great apps available for backup and restore.
I do not recommend people update to the 2.6.32 kernel yet, since it requires the test/dev version of CM 7 and isn't ready for prime time yet. If you do you'll also need to update u-boot file.
The details of how you do this are too big to insert here, but can be found in this separate guide to keeping your Nook Color up to date.
Post Script - Addendum
If you see a lot of "force close" events happening randomly or you find that files you were working on suddenly become unusable, your problem is most likely with your SD cards. You can try to find other SD cards that will work, or you can try an eMMC (internal memory) install such as the one I describe in my guide to phiremod install on the Nook Color.
I've been running CM7 for a week now, and tried quite a few kernels along the way. I am mostly thrilled. My setup has been stable ever since I ditched the class 10 rated cards. Everything I need works, including most notably Bluetooth! Admittedly the range is terrible, but good enough for my purposes, and I'm sure range will improve soon. Wifi is stable, since the device never sleeps. And battery life is good, though because the device never sleeps it isn't nearly as good as a stock Nook Color. The video is works at very respectable frame rate since the RC4 update. And I've had no trouble with overclocking.
CM7 Versus Froyo
CM7 feels much faster than Froyo, the responsiveness of the interfaces, the boot time, maybe it's all in my head, but hopefully not. One major issue gone is the crippling slowness of Market downloads/etc. I experienced with Froyo on a class 4 SD card were totally gone on CM7 with the same class 4 SD card.
Don't Forget to Use Your Internal Memory!
You can access the contents of your Nook Color's original, internal memory within your CM7 OS by browsing to /mnt/emmc with an appropriate file manager (see above). In this way you can still use most (5+ GB) of your internal storage for things like music and video files (not apps, since the system doesn't know to use that location). So don't forget that space is available if you need it.
Responding to Force Close Messages
Unfortunately at this stage you can expect some instability in the OS, and this seems to manifest itself primarily as "force close" messages when an app fails. My experience suggests the best thing to do when you get any such message is to reboot. On my system a force close can correspond with the file system having become or about to become read only. I assume the OS tries to protect itself by becoming read only and once the system starts going, baby, it's gone! So, the best policy seems to be to immediately reboot, and if you have any more problems on reboot do the "rm -rf /data/dalvik-cache/*" and reboot again.
One particular force close message I got frequently was from Google apps ("gapps") and Google framework. I suspect the issue related to network issues, perhaps it trying to run when the wifi wasn't yet reconnected after a wake. I was able to eliminate this by disabling the automatic sync, go to Settings > Accounts & sync > Auto-sync and set it to unchecked. This means my email won't automatically come in, but I can manually retrieve it by choosing "Refresh" from the Gmail menu. Personally, my phone alerts me on every email, so it's not vital for my tablet to do it as well. Warning, do not uncheck the "Background data" checkbox on the same page, Market and a few other more vital things will refuse to work if you do that.
Another cause of force closes seems to be corrupted installs / configuration / filesystem. If an app in particular isn't working try the following, first one, then if you're still having the problem go to the next one, and so on:
- Clear dalvik-cache and reboot (rm -rf /data/dalvik-cache/*). Then reboot.
- Use ClockwordMod's permission fix option. Then reboot.
- Backup your data related to the app (using Titanium Backup) then uninstall and reinstall the app using Market. And only if the app is working try to restore the data (only) from the backup you made.
This approach has resolved several different force close problems I had.
(FYI, ClockworkMod still crashes and reboots the NC when I try to back up a ROM, and refuses utterly to enter CWM recovery on a reboot.)
As I mentioned above, further testing has suggested that most of my were the result of my using a class 10 card. Since I cloned my SD card from class 10 to class 4 I've seen almost no instability, and what problems remain are likely down to problems with individual applications and their compatibility. I'd encourage people to just use class 4 or 6... And as I mentioned, my PNY class 4 cards all perform as well as my class 10 card, but with greater stability!
Dalingrin is frequently releasing new kernels, and it's tempting to jump to the latest, but always check the change log first (in the beginning of his thread) to see if it resolves any problems you have. Sometimes you may wish to hold off and see how others embrace it. Ultimately it's a matter of the bugs you can live with versus the ones you can't.
I'm thrilled with my new mobile set up, which was only possible with the Bluetooth ability of CM7! I used to do the same with my OQO Model 02, but sadly that device was a little before its time...
(The iGo Stowaway keyboard is the single great gadget I've ever had! I got it for $30 at a Tuesday Morning discount store, and four or five years later it's still the best mobile keyboard I've seen, and they are so loved you can't get an old stock one online for less than $175!)