[Nook Color Android Development] Taosaur:
MAJOR UPDATE 2/22/12: While the process hasn't changed too much, the key files have all been replaced for greater flexibility, and they are NOT compatible with the old method using rookie1's prep-dualboot zip. See this post for an update path from the old method to the current one.

This guide details how to repartition your internal storage and install two operating systems, or ROMs, side by side. If you're looking for a SD install that leaves the Nook's main storage untouched, you're in the wrong place (see my sig).

This guide takes advantage of the multiboot functionality built-in to CM7.1 nightlies since about #140. As such, it is not compatible with CM7.0.x builds or with earlier boot menus.

What you'll get: Whatever two ROMs you install, each will have a nearly 2GB /data partition for apps and they will share a nearly 2GB /media partition for storage, and both will have access to the SD card for more storage. At startup you will see either a small green bar labeled "CyanogenMod," or the word "cyanoboot" in blue. Both boot menus work the same:

Do nothing, and your primary system will boot

Hold down both volume buttons, and your alternate system will boot

Hold down 'n' for a more detailed boot menu

Hold 'n'+power and recovery will boot (if you installed CWM internally).

All of these actions must be taken in the first couple seconds, before a "loading" message appears below the logo. Once you see a confirmation message, you can release all buttons.

DISCLAIMER: As usual, YOU are responsible for changes YOU make to YOUR device. This process is intermediate difficulty level. It probably shouldn't be the first thing you've ever done with ClockworkMod Recovery, and you probably shouldn't just follow the steps if you don't understand them. If you don't know how your NC is currently partitioned, turn back now. If you want to preserve your warranty, turn back now. Here be serpents; be so warned.

Following the guide as-is with all default options gets you a stock 1.4.1* install on secondary and a CM7 install on primary. I hope you can figure out what to substitute where for different results.

*I don't have access to a CWM-flashable 1.4.2 zip right now, but there are instructions for making one here.

The Guide

Prerequisites:

CWM on either SD or internal recovery (internal recommended)

Wi-Fi access

Materials:

repartitionDual2GBdata

BNpri2alt

reformatData

1.4.1-keep-CWM (IF you're not starting with an up-to-date stock install)

CM7.1+ OR MiRaGe's CM7.2 OR unofficial CM9 nightlies (w/ compatible gapps)

CM7 gapps(look near the bottom of the page)

Steps:

Put all materials in your SD card's root directory (DO NOT UNZIP).

Boot into CWM.

From CWM main menu, "backup and restore" and "backup."

From CWM main menu, "install zip from sdcard," and "choose zip from sdcard."

Choose the repartitionDual2GB file.

Reboot recovery. If you have internal CWM and no boot menu, you may need to use the rhythm method:

Repeat step 4 and choose reformatData

If your backup in step 3 was stock, you can "backup and restore" then "restore" and skip to step 13.

Otherwise, repeat step 4 and choose 1.4.1-keep-CWM.

When it finishes, hold the power button to shut down, remove your CWM card (if applicable), and power back on.

Complete B&N registration process¹

Power off and boot back into CWM (may require rhythm method above).

Repeat step 4 and choose BNpri2alt.

From CWM main menu, in "mounts and storage," format system, data, and cache.

From CWM main menu, choose "Advanced" and "Wipe dalvik cache."

Repeat step 4 and choose CM7 update zip.²

Reboot into main partition and set up Wi-Fi.

Reboot into alt partition (hit both volume buttons at once on "CyanogenMod" loading screen) to make sure it's working.

optional: install gapps, keysmod, etc from CWM.

¹Any mods you want to make to stock, do it now: update to a newer version, root with Manual Nooter (if rooting 1.4.x firmware, follow the linked instructions but use MN 5.12.20), flash keysmod, overclock kernels, or anything else CWM-flashable.

²If you backed up an existing CM7/9 install in step 3, then after step 16 just install gapps, install keysmod if you want it, then from CWM's main menu, Backup & restore > Advanced Restore, and restore

data only

from your most recent backup. When you boot into CM7 (not tested with CM9), it will be just like you left it.³

³Steps 17 and 18 may look unnecessary, but several users experienced force closes in their CM7 installs when they didn't take these steps.

Other Resources:

CMpri2alt: Moves a CyanogenMod install from the primary partition set to the alternate partition set

BNalt2pri: Moves a stock install from the alternate partition set to the primary partition set

CMalt2pri: Moves a CyanogenMod install from the alternate partition set to the primary partition set

Revert dual boot: deletes the alternate partition set and alternate boot files. Does not restore stock partition sizes, but must be run prior to partitioning back to stock.

1.4.1 full restore: removes CWM from internal recovery, does not affect partitioning

1.4.1-to-alt-partition: updates any existing stock install on the dual boot partition (removes root, does not remove installed apps)

Steps to back up and/or update both partitions

Instructions to rename boot files created with j4mm3r's old multiboot

Possible fix for rooted stock boot-looping at 'n' screen on secondary

Credits:

repartitionDual2GB and reformatData provided by DeanGibson

1.4.1 zips provided by rajendra82

possible boot-loop fix provided by sryan1983

BNpri2alt, BNalt2pri, CMpri2alt and CMalt2pri are minor alterations of DeanGibson's files

revert-dualboot is a minor alteration of rookie1's remove-dualboot

Racks11479 provided key info for the above alterations

________________________________________________________

Old Resources (Do Not Use with Current Method):

prep-dualboot

froyo-to-dualboot

Remove dual boot: returns partitioning altered with prep-dualboot to stock (1GB/5GB, non-blue-dot)

1.2 full restore: removes CWM from internal recovery, does not affect partitioning

1.3-to-alt-partition: updates any existing stock install on the dual boot partition (removes root, does not remove installed apps)

Video documenting setup for a CM9 (Ice Cream Sandwich Alpha) dual boot with Nook Color stock 1.4.1

Old Credits:

1.2 full restore provided by nemith: thank here

prep dual boot and remove dual boot by rookie1: thank here

froyo-to-dualboot from jasoraso: thank here

1.4-to-alt from jasoraso: thank here

You can thank me with the button below, or if you feel real strongly about it, you can make a donation at my blog.

UPDATE 5/25/12: Removed the prerequisite for 1GB/5GB partitioning. A little bird named jicama confirmed that the newer partitioning script doesn't care if you start with a blue dot NC. Prep-dualboot would carve the alt partitions out of /media, which doesn't work if /media's not big enough. RepartitionDual just deletes the last three partitions (/system, /data and /media) and makes new partitions from the now-unallocated space, so as long as you have the right number of partitions, it doesn't matter how big they are.