[Nook Color General] leapinlar:
Change Log and SD Tips

CHANGE LOG

09/22/13 - Added A 16 Swapping Internal and External Media Storage

11/23/12 - Added description in B1 on how to use my SD formatting zips

11/02/12 - Added 1.4.3 Stock ROM modified for verygreen SD installation (B11)

10/29/12 - Added verygreen SD formatting zips to the attachments in post two

10/26/12 - Retitled section B3 "Dual Booting" and added more information

10/23/12 - Updated Alternate CWM for SDs to v6.0.1.2 in item B5 and added a v6.0.1.2 bootable SD to item A10 and attached them both.

10/20/12 - Added information about not powering up after a wiped /boot partition to section A3

10/17/12 - Added link to updated SD installation instructions to section B2 and updated the SD installation image to Rev 5 to fix a CM10 issue

09/16/12 - Split out 'Flashing stock ROMs with CWM' to it's own item A15

08/21/12 - The verygreen SD installation image was updated to Rev 4 to accommodate JB zips and larger /data partitions in section B2

08/10/12 - Added a corrected version of the Alternate CWM for SD installs to section B5

08/09/12 - Added BetterBatteryStats link to section A13 and link to Taosaur's simplified SD installation guide to section B1

08/04/12 - Edited section A8 to clean up and include the latest information about recovery bootloops

08/03/12 - Added a modified version of the stock romrestore utility

07/30/12 - Added description of stock automatic partition 2 repair utility (romrestore) to section A12

07/28/12 - Added Skip Oobe (Out-of-Box Experience) for stock Nook Colors to section A

07/24/12 - Added Nook Color Charging to section A

07/11/12 - Added Factory reset with 8 failed boots to section A

07/08/12 - Added Emmc partition repair to section A, split tips into two posts

06/26/12 - Added How the verygreen SD works to section B

06/16/12 - Updated 'SDboot" to Rev 2 to make it easier to use Goo Manager with verygreen SD installs

06/13/12 - Released Rev 3 of the verygreen image for installing CM to SD, correcting an error introduced in Rev 2

06/10/12 - Described how to get out of some recovery flag bootloops (item A8)

06/03/12 - Added CWM 5.5.0.4 bootable SD

06/01/12 - Added Bootable SD cards

05/28/12 - Softkey patch no longer needed

05/18/12 - Added info about customizing navigation bar in phone gui mode.

05/14/12 - Added Recovery Flag bootloops

05/13/12 - Added warning about needing to use new CWM with newer Nook Colors

05/09/12 - Edited Revised SD Image for CM9 to indicate new script prepared

05/02/12 - Added Verygreen SD vs. Racks dual boot SD

04/30/12 - Added NookColorUMS for CM7 and CM9

04/27/12 - Added Using ROM Manager with SD installs

-----

B. TIPS THAT APPLY TO THE VERYGREEN SD INSTALL OF CM

B 1. Installation of CM on SD vs EMMC

How CM is installed for verygreen SDs is significantly different than for installing to internal memory (emmc).

Emmc (Embedded MultiMedia Card) installs are controlled by an installation script built into the zip itself. The zips are hard coded to install to specific partitions on emmc. CWM recovery is used to install to emmc and CWM turns over installation of the zip to that script built into the zip.

For verygreen SD installs there is no CWM recovery, just verygreen's script built into the boot partition. A properly named install zip (update-... cm-.... diff_... or gapps...) must be copied to the boot partition. Installation is controlled by his special script. It takes over installation of the zip, mostly ignoring the script built into the zip itself. It does not backup gapps or format /system. It just copies the new system files over the top of the existing files. Therefore if gapp or other files not in the zip were already there, they are still there and not modified.

Since the script installer does not format anything before installing a new ROM, sometimes it is a good idea to clear things out first. Or maybe your installation is acting up and you want to start fresh without formatting the whole card and losing your media files. You could use the modified Alternate CWM for SD (see item B5 below) to do it, but not everyone has installed that on their SD. So I have prepared and attached some zips as an alternate (and I think cleaner) way to wipe your SD partitions. They can be flashed with any recovery (on emmc or SD) since they are hard coded to format those partitions on SD that are named in the zip title. They have safety checks built in to make sure that you have your partitioned verygreen SD in the slot before they will attempt to format anything. If you are just installing a fresh nightly and you want to keep your data, just wipe system and cache (but that means you need to re-install gapps too). If you are having operational problems and want to keep the same ROM, just wipe data and cache. Or if you are putting on a completely different ROM, wipe system, data and cache.

If you do somehow get into CWM recovery on emmc, be warned that most things you do with it (like flashing or wiping) will happen to emmc, not the SD (except for those zips I just mentioned above). And if you are using older versions of CWM, it will try to place any nandroid backup files to the boot partition of the SD. There is not room there so it will fail. A work around is to use the new CWM recovery (version 5.5.0.4) that allows you to back up to the emmc media partition. Get a flashable zip to install the new CWM to emmc here or attached to the post above. The TWRP recovery also saves backups to internal storage. Get the latest version here. Or you could flash the stock recovery with CWM 5.5.0.4 as Alternate also attached to the post above.

For more information on SD installs, look at my post here.

For those wanting a simplified guide for installing CM7 to SD go Taosaur's excellent blog here. It also works well if you want to install CM9 or CM10 to SD. Just substitute CM9 or CM10 wherever it says CM7. I also have an updated SD installation instruction thread for CM9 and CM10 linked in my signature.

B 2. Revised verygreen SD image file for CM9/CM10

The original image file created by verygreen is an amazing thing. But for CM9/CM10 it has three problems. First, the boot partition is too small to accommodate the larger CM9 install zips. Second there is a problem of duplication of apps included in CM9 and gapps.And third, the naming standard by CM has changed. It no longer begins with update-. That means the existing install script will no longer recognize or install a new nightly when it is copied to the boot partition. Users must rename the file to start with update- if they want the existing install script to work. I have modified the install script to now also install nightlies if they begin with the new standard (cm-). I also added to the script the ability to recognize the new prefix (diff_) that is used by the new Goo Manager program to make an incremental update to an existing ROM. The new script will continue to recognize and install zips beginning with update- to provide backward compatibility. My modified image/script now fixes all these problems. I updated the image to Rev 5 to make it 300MB to accommodate the larger CM10 and JB gapps zips and to make the /data partitions larger for 8 GB and larger SD cards. You can read more about this here. Updated installation instructions for putting CM9/CM10 on SD have been posted along with the latest image here.

B 3. Setting up dual booting on the Nook Color

Dual booting is a really nice feature of the Nook Color. There are three ways that I know of to accomplish dual booting.

a. Leave emmc with one ROM and put one ROM on SD using verygreen's method. This is the scheme I use and recommend for users. This is the one that most of these tips in section B apply to.

b. Leave emmc with one ROM and use a dual boot SD install by Racks where two ROMs are installed on SD. I have discussed that scheme in section B8 below. Actually this scheme is triple booting because there is one ROM on emmc and two on SD.

c. Put two ROMs on emmc. I do not recommend this method as it means having to repartition emmc and that is risky since glitches might happen during set up. Vital information is stored on partition three and you can totally brick your device if you mess that one up and have not made a backup of it. I do have an emmc partition repair thread linked in my signature to help you repair if it messes up. But many users have used this scheme and seem to like it. If you are going to use it follow Taosaur's excellent thread here.

Use the boot menu to select the system you want to run. If you hold the "n" button just after the first tiny screen flash during boot, you will enter the boot menu which allows you to select the system you want to boot.

Below are some specific tips to make your verygreen dual boot work better.

Using the same SD media partition with emmc and the verygreen SD

By default, all ROMs installed on internal memory (stock, CM7, CM9, etc.) always use the first fat partition on your SD as "sdcard". That usually is partition 1. When ROMs are installed to SD using verygreen's method, the default for that ROM is changed to partition 4 of the SD.

If you want ROMs installed on emmc and installed on SD to use the same SD card for storing your media, you need to modify the emmc installed ROM to also use partition 4 of the SD. Go to /etc when booted to emmc and there will be a file named vold.fstab. Open that file in a text editor and look for a line that has 'sdcard auto' in it (without the quotes) and change it to 'sdcard 4' (and for CM10 it will say 'sdcard1 auto'). Save the modified file and reboot. Now both emmc and SD will use the same media partition on SD to save its data. No need to swap SD cards. Use the boot menu to select which system you want to boot up.

For modifying stock emmc you still modify the vold.fstab file but there are two auto's in that line in the file. Change the first one. If you have not rooted your stock, you will need to use one of the flashable zips I have attached below. One zip modifies stock to use partition 4 on the SD for media storage and the other zip returns it to stock settings. Use CWM to flash these zips. If you do not have CWM on emmc, use the bootable CWM SD I have discussed in item A10 above. Be sure to make the CWM SD on a different SD than your ROM is installed on or you will lose everything there. These zips are only to be used on systems that have stock on emmc.

Speeding up booting by modifying the dalvik cache setting.

The verygreen SD installation is set up to share the cache partition with the ROM on emmc. And since normally part of the dalvik cache is stored on the cache partition, every time you boot from one ROM to the other, the system is forced to rebuild the dalvik cache because the system apps are different for each ROM. I have discussed the dalvik cache in section A2 in my first post of this thread. To speed up booting by eliminating this rebuild, make a change to the dalvik configuration. When booted to the SD, create a local.prop file as I discussed in item A1 above and put this line in it:

dalvik.vm.dexopt-data-only=1

This forces the ROM on SD to store the entire dalvik cache on the /data partition. Then when it boots after being on the other ROM, it does not have to be rebuilt.

B 4. Access to the SD boot partition inside CM

One of the annoyances of the SD install was the need to remove the SD and place it in your PC if you wanted to copy a new install zip to the boot partition for installation of a new ROM. I have developed a script that will mount the boot partition in CM so that you can download the new zip directly to the nook and copy it to the boot partition without removing the SD. See my post here to get the script and learn how to use it.

[Edit 6-16-12:] I just added Rev 2 of the script to my original post. This version adds a symlink so that it shows up in the root directory as 'sdboot' as well as under /data/sdboot. This makes it easier to use Goo Manager to download new ROMs. Just change your download directory in Goo Manager to /sdboot/ and it will download the ROM directly to your boot partition. Before you reboot, I would suggest you look in sdboot to be sure it downloaded successfully.

B 5. Using a modified Alternate CWM recovery for SD installs

Usually CWM recovery cannot be used with SD installs because CWM usually modifies emmc, not the SD. But I have modified a CWM recovery (v6.0.1.2) that can be used as an alternate recovery for SD installations. It can be used to modify the SD for everything CWM does EXCEPT FLASHING NEW ROMs to SD. (If you do try to flash a ROM with it, the ROM ends being installed to emmc.) But you can flash other zips (like gapps) as long as it has a generic installer script (and that is almost all install zips except ROM zips and zips that flash new kernels or new recoveries). For flashing new ROMs zips, continue to copy the install zip to the boot partition like you always have and the script in the boot partition will do the installing for you. This CWM will nandroid backup the SD, wipe dalvik-cache or cache, fix permissions, etc.

I am attaching a file to this post (AlternateCWM-SDInstalls-Rev2-v6.0.1.2.rar) which contains the files you need. To install to your SD card, unrar the file and you will have two files, uAltImg and uAltRam. Insert the SD card into your PC and copy those two files to the boot partition. Put the SD card back into the Nook. Installation finished. You can boot to the Alternate CWM for SD by using the boot menu and selecting SD/Alternate or holding the Volume Up/Down keys together while booting. Note that when the CWM is loaded it has "for SD" appended to the title so you can tell it is for the SD install.

B 6. ROM Manager and SD installs

When you install CM to SD, the app ROM Manager (RM) is installed with it. It should not normally be used with the SD install. It generally is geared toward doing what it does to emmc. If you tell it to install a new CWM recovery, it will install it to emmc (but if you want a new CWM recovery on emmc, go ahead and do it). It will find and download ROMs and gapps for you, but if you tell it to install them, it will try to boot into emmc CWM and install the zip to emmc. But it ends up booting into the verygreen SD recovery instead and doing nothing. Then the next time you boot into CWM recovery on emmc, it will finish the install it wanted to do originally (to emmc).

B 7. NookColorUMS for CM7 and CM9/CM10

One of the more useful apps I had for the SD install was NookColorUMS by Samuel Halff. I have a dual boot setup with CM7 on emmc and CM9 on SD. Before I developed the SDboot mount script in item B4 above, I would boot into CM7, run NookColorUMS and I was able to mount my SD boot partition so my PC could see it. That way I could copy the new ROM zip directly from the PC without taking out the SD card. I don't need to do that anymore since I developed the script. But NookColorUMS was still very useful if the ROM download was done on the PC or for looking at any partition on emmc or SD. Or, in my case, after building a new ROM on Ubuntu, I could copy it directly to the Nook's SD boot partition using UMS.

But NookColorUMS would not work on CM9, first because UMS was not enabled on CM9 and later, after the devs added support for UMS, because the lun file locations on CM9 were different than CM7. I started to play with the coding in NookColorUMS and figured out how to patch it to work on CM9. It worked so well I wanted to share it with the community. I contacted Sam and asked for his permission to post my modified app to XDA. He agreed. Thanks Sam!

The app as developed by Sam works perfectly on CM7. The CM9 patched version works very well, but has one quirk. After you go to settings and enable UMS and plug in your USB cable, the "Turn on USB storage" dialog always pops up. If you want to use NookColorUMS you must dismiss that pop-up by hitting the back key. Then you can mount any partition you want with the app. (If you do select that pop-up button, sdcard and emmc are unmounted in CM and mounted in your PC and you must turn off USB Storage in CM to get sdcard and emmc back on CM.) Once you have finished with the PC (with either version of the app), be sure to use the "eject" command in Windows (right click on the drive) to make sure it has finished any writing it may have been doing to the drive. Then you can use NookColorUMS to finish unmounting the drives.

In order for this to work on CM9 you must be running a recent (4/22 or newer) nightly and enable Mass Storage by going to settings, storage, menu, USB computer connection and select 'mass storage'. If that setting is missing or greyed out, your nightly is too old.

I have attached to this post a rar file that contains both the original app for CM7 and my modified app for CM9. The CM9 version also works great on CM10. Install the appropriate version and enjoy.

B 8. Verygreen SD vs. Racks dual boot SD.

These two versions of SD installations are very different. Many people are confused since Racks' new scheme is so popular now. The verygreen install is what I have been describing in the above paragraphs. Racks has prepared a much different setup. He has an image file that has all the partitions already set up to accept two systems on the SD. And he puts a modified version of CWM on his for backing up and flashing new ROMs to them.

How ROMs are installed is very different between the two systems. The verygreen script in the boot partition installs the ROM, correcting the zip install script so that it installs properly on his SD. With Racks' you use his modified CWM to install specially modified ROMs that Racks has prepared. You have to get the ROMs for flashing from his special web site. He has modified each ROM so that the installation script built into the zip puts the ROM on the partitions on his SD. He has the CM7 ROMs configured to go on his system1 and the CM9 ROMs configured to go on his system2. If you by mistake downloaded a CM ROM from somewhere else and try to flash it with his CWM recovery, it will get put on emmc, since all CM zips are configured to do that by default.

(Edit: Racks now has a thread set up where the user can use one of his scripts to modify the standard ROM or gapp files found on other sites so that they install properly on his setup. Look here.)

B 9. How to upgrade your SD installed CM to a larger SD.

You may have installed CM to SD on a relatively small SD and would like to upgrade it to a larger SD without having to lose everything you have set up on the smaller SD. You can do that with disk imaging software. I will give an example of someone who originally installed to an 8GB SD and wanted to upgrade to a 32GB SD. If your sizes are different, just substitute your sizes in the example below.

Get win32diskimager free from the web. Put your 8GB SD in your card reader and open win32diskimager in Windows. Choose the drive that has your SD in it. In the image file box pick a location on your hard drive and give it a name to save the image to. Then click 'read'. It will read the card and create an 8GB image file where you told it to. When it has finished, eject the 8GB card and insert the 32GB card. Select 'write' in win32diskimager and it will burn a clone of the 8GB card to your 32GB card.

Then get the free Mini-Tool Partition Manager software and use it to expand partition 4 on your SD to fill the rest of the empty space.

You should be able to boot that in your Nook just like you did with the 8GB card and all your apps and data will be intact.

(This should also work on Racks' Dual Boot SD. Just expand partition 7 instead of partition 4. I have not tested this though.)

B 10. How the verygreen SD works.

The verygreen image when first burned to the SD makes a single bootable partition on the SD. It is 117MB for the original verygreen image and 300MB in my latest revised image. It contains four files. MLO and u-boot.bin which are bootloader files and uImage and uRamdisk which are the verygreen installation script files.

The first time it is booted, the verygreen script starts with the penguin on the screen and a bunch of scrolling text. It looks at the SD to see if it has been partitioned yet. If it has not, it partitions it into those additional partitions necessary for installing ROMs. In addition to p1 (boot, fat, primary), it creates p2 (system, ext4, primary), p3 (data, ext4, primary) and p4 (sdcard, fat, primary). The sizes of these partitions are determined by the size of the whole SD with the larger sizes being for the largest cards (SDs larger than 16GB). P1 is either 117MB (original verygreen) or 300MB (my updated version). P2 varies between 300MB and 920MB. P3 varies between 500MB and 1,950 MB. And p4 takes up the remainder of the SD. In case you are wondering about the cache partition, the verygreen install uses the existing cache partition on emmc, which it shares with the ROM there.

After partitioning, it looks for a zip to install. If it does not find one, it stops and tells you to put one on the SD. The next time it boots it does the same checking and, since it is now partitioned, it just looks for an installation zip to install. If it finds one, it installs it, dynamically correcting it to install to and use the partitions on the SD, deletes the install zip, then powers off. The first time it installs a ROM, it renames those uImage and uRamdisk verygreen files to uRecImg and uRecRam and they become the verygreen recovery files. And it copies new MLO, u-boot.bin, uImage, and uRamdisk files from the zip. The new MLO and u-boot.bin are updated versions of the bootloader files which has the new boot menu. uImage and uRamdisk become your ROM kernel and ramdisk. These are what normally will load in the future to start the ROM.

So if you look at the boot partition now in the PC, it has six files in it. The new MLO, u-boot.bin, uImage and uRamdisk from the latest installed ROM zip. And it will have uRecImg and uRecRam which are the renamed original script files that are now your SD recovery.

Now, with the disk partitioned and the ROM installed, ordinarily, after the cyanogenmod or Cyanoboot logo comes up, it boots by default to CM via the uImage and uRamdisk files. If you intercede with the boot menu and tell it to boot to SD recovery, it looks for uRecImg and uRecRam and loads the verygreen recovery. The penguin comes up again and the script does it's checking and looks for a zip to install. If it finds one, it installs it and deletes the file when finished and powers off. If it cannot find one, it just powers off.

So anytime you want to install new ROMs, gapps or other zips, just copy those files to the boot partition and boot to SD recovery and the verygreen script will install them and delete the zips when successful. In the original verygreen script, install zips must be named beginning with update- or gapps-. In my newest revised image and script, they can be named beginning with update-, gapps-, cm- or diff_ and the script will recognize and install them.

B 11. Stock 1.4.3 ROM on verygreen SD

I have some good news for a few users. I have successfully modified the 1.4.3 stock B&N ROM zip to be flashable to a verygreen SD. That means you can put CM on emmc and still have your stock ROM available if you want to boot to it. Or you can just put it away for future use. Then you can use another SD to run a different version of CM on SD.

The modified ROM zip must be installed with CWM or TWRP recovery to the SD. Don't use the verygreen boot partition installer. A newer version of TWRP or CWM recovery (newer than 3.2.0.1) must be used. Those older versions require that you have normal SDs in the slot and you will have your verygreen SD there. The newer versions can find the installation zips on internal memory (emmc media). The recovery can be on emmc, bootable SD or Alternate CWM on your verygreen SD. Version 5.5.0.4 for emmc and version 5.5.0.4 and version 6.0.1.2 of a bootable SD are all attached to my post above.

The ROM zip is hard coded to install to the partitioned verygreen SD. I have built in checks in the installer to make sure you have the verygreen SD in the slot and it has been partitioned. It can even have an old CM ROM on it as the installer will format the system and data partitions on the SD in preparation of putting the stock ROM on it. But anything you have on the SDCARD partition (p4) is left intact.

After flashing the stock ROM, you will have to go through B&N registration just like you would if it were installed to emmc. But be warned if someone else previously registered the device with B&N, you can't register it yourself unless the prior owner has de-registered it. The prior user can de-register it by logging into their B&N account on the web and selecting "erase and de-register" for that device under their account settings. B&N tracks the device by serial number and it will display the same serial number as it would on emmc. If you can't or don't want to register with B&N, see my item A14 above for instructions on how to skip registration. It just means you will not be able to buy books or apps from B&N.

After you have successfully registered the software on SD, you can move the SD to another device with a different serial number and it still works. I'm not sure of the long term implications with B&N of doing that. You may run into trouble when ordering new books or software through their store.

And here is even more good news. I was able to modify GMPOWER's Manual Nooter 5.08.20 zip to also work on the verygreen SD. So now you can have rooted stock on SD. I have contacted GMPOWER and he is ok with me posting a link to a server where I have placed the modified zip. Thanks, GMPOWER.

And I have prepared a zip to add the dalingrin OC kernel and apps2SD support to rooted stock on SD. And I added a zip to block updates even if you choose not to root.

So the procedure to get this working is to prepare a verygreen SD using the image file attached to my SD installation instructions thread here (generic-sdcard...). Then boot it at least once with the SD in the Nook so the SD can partition itself. If you have an existing verygreen SD prepared, you can skip these two steps.

Download and copy the zip files linked below to your internal storage (emmc media). Boot to recovery and insert the prepared verygreen SD into the Nook. Find the ROM zip on internal storage and install it. It will automatically get put on the SD. It will first format the system and data partitions on the SD and then install the ROM. Boot to the SD and the new stock ROM should load.

Follow the directions to register with B&N. Once you have registered you can stop there if you are satisfied with plain stock. Let B&N finish uploading their free books to you before you do anything else. This could take several minutes depending on your internet speed. If you decide to stay with unrooted stock, be warned that if B&N decides to automatically update you to a new version in the future, it may mess up whatever you have installed on emmc. Therefore I recommend that you install the Block Updates zip which blocks OTA updates. If you install Manual Nooter you do not have to install Block Updates separately since it is included in Manual Nooter.

To install Block Updates, Manual Nooter or OC/apps2SD support, install the zips to the SD with recovery just like you did the ROM. If you install Manual Nooter, it has gapps and Market with it so you must register them with Google. And you need root if you want to use the OC and apps2SD support, plus you will need a program like SetCPU to adjust the processor.

You can get the modified 1.4.3 B&N stock ROM zip here, the modified Manual Nooter zip here, the modified OC/apps2SD zip here, and the modified Block Updates zip here (all four modified for verygreen SD installation).

B 12. SD Card Quality

There has been a lot of discussion among Nook Color users about quality of SD cards needed to run a ROM. The consensus has been that SanDisk Class 4 cards work the best. (I have also found that the new SanDisk Ultra Class 10 cards work really well too.) The issue is that the card needs fast random small file read/write ability. And other brand cards, even if rated a higher class, do not fair well with this attribute. The symptoms of a bad card are sluggish performance, apps force closing and general lock-ups. There has been a lot of benchmarking of various brand and speed classes in a thread here.