03 October 2011

Nook Color Dual Boot Guide


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. For an update path from earlier versions of this guide or resources related to the earlier version, see the XDA thread.


This guide details how to repartition your internal storage and install two operating systems, or ROMs, side by side. If you want CM7/9 on SD without changing your stock install, you're in the wrong place: CM7 SD Install Guide. Previous versions of this guide only worked with CM7/9 on the primary partition set and stock on the alternate partition set, and there was no way to backup or easily update the alternate install. Now, you can have either system on either partition, or have CM7 on one partition and CM9 on the other, or two side-by-side stock installs. You can also move the alternate system back to primary to back up or update. I would call this process an intermediate or advanced mod, and would not recommend trying to follow these steps if you don't understand what you're doing.

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 2GB /data partition for apps and they will share a 2GB /media partition for storage, and both will have access to the SD card for more storage. At startup you will see a small green bar labeled "CyanogenMod." You have a few options when this bar appears:
  • 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 few seconds, before any message appears below the green bar. Once you see a confirmation message, you can release all buttons.


DISCLAIMER: As usual, YOU are responsible for changes YOU make to YOUR device. If you're uncomfortable using ClockworkMod Recovery, turn back now. If you're not sure 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.

Questions or difficulties should be directed to the thread on xda-developers.com.


Prerequisites:
  • CWM on either SD or internal recovery
  • Wi-Fi access


Materials:


Steps:

  1. Put all materials in your SD card's root directory.
  2. Boot into CWM.
  3. From CWM main menu, "backup and restore" and "backup."
  4. From CWM main menu, "install zip from sdcard," and "choose zip from sdcard."
  5. Choose the repartitionDual2GB file.
  6. Reboot recovery. If you have internal CWM and no boot menu, you may need to use the rhythm method:
    hold nook N key and then press and hold power until the {first} message appears and then disappears with screen going blank. Release power button, then press it again and hold for ~5 seconds, the {first} message should be on the screen for three seconds or so before you release power button, keep holding N button until screen blanks again. If the screen went off while you were holding the power key, that means you were holding it for too long
  7. Repeat step 4 and choose reformatData.
  8. If your backup in step 3 was stock, you can "backup and restore" then "restore" and skip to step 13.
  9. Otherwise, repeat step 4 and choose 1.4.1-keep-CWM.
  10. When it finishes, hold the power button to shut down, remove your CWM card (if applicable), and power back on.
  11. Complete B&N registration process¹
  12. Power off and boot back into CWM (may require rhythm method above).
  13. Repeat step 4 and choose BNpri2alt.
  14. From CWM main menu, in "mounts and storage," format system, data and cache.
  15. From CWM main menu, choose "Advanced" and "Wipe dalvik cache."
  16. Repeat step 4 and choose CM7/9 update zip.²
  17. Reboot into main partition and set up Wi-Fi.
  18. Reboot into alt partition (hit both volume buttons at once on "CyanogenMod" loading screen) to make sure it's working.
  19. 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.1, follow the linked instructions but use MN 5.12.20), flash keysmod, overclock kernels, or any other CWM-flashable mods.

²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 Phiremod), 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 multiboot
  • Possible fix for boot-loop at 'n' screen on stock partition (largely untested: don't use it unless you have this problem)


Credits:
  • repartitionDual2GB and reformatData provided by DeanGibson
  • 1.4.1 zips provided by rajendra82
  • BNpri2alt, BNalt2pri, CMpri2alt and CMalt2pri are minor alterations of DeanGibson's files linked above
  • revert-dualboot is a minor alteration of rookie1's remove-dualboot
  • Racks11479 provided key info for the above alterations

Originally posted on xda-developers.com

29 comments:

Anonymous said...

Great guide, thank you! Followed the instructions exactly with stock 1.3 and CM 7.1, then went off and swapped the u-boot images without a hitch. Very helpful sources, thanks again.

Anonymous said...

This is so full of geekspeak that I wasn't able to follow it at all.

taosaur said...

That "geekspeak" would be the fundamental concepts one should grasp before attempting this process. As stated in the first paragraph and repeated in the disclaimer, this is not a beginners' guide.

thinking1 said...

I might have a newer Nook, which is not partitioned correctly. Can I just use the repartitioning instructions from xdadevelopers, then use your directions? I'm afraid if I repartition, then start with your instructions at step 1, I will lose the repartition when I go to install the 1.3 file.

taosaur said...

Yes, once the prerequisites are met, you can start at step 1, but notice the steps diverge based on whether you're starting with stock or CM7.

Regardless, none of the 1.3 files above will repartition your device. Only prep-dualboot will change the partitioning, by shrinking /media and making two new /system and /data partitions from the resulting space.

thinking1 said...
This comment has been removed by the author.
thinking1 said...

Thank you again...I finally realized this is also posted at XDA! I erased my last comment because I started from scratch and seem to have succeeded. Thank you again for all of your guidance. However, there is just ONE issue I still have....regular nook store apps will not install when I boot in the nook partition (not rooted, though I used your 1.3 keep cwm file). Any thoughts on this? I googled around and didn't come up with much.

taosaur said...

You might try de-registering and then signing back in.

gnivrix said...
This comment has been removed by the author.
gnivrix said...

Hi! Just want to clear something, if I have a Nook Color version 1.3, do I still need to flash the update-nc-stock-1.3-keepcwm.zip? or can i just skip that one and proceed to preparing for dual boot? thanks!

taosaur said...

Updated with a file to update stock on the alt partition to 1.4; see Other Resources.

thinking1 said...

If I use ROM Manager and "backup Current ROM", then in the future if I need to restore, will I need to perform the whole dualboot prep process, or do you think I'll just be able to restore the ROM and then restore from CWM backup and have my CM7 / rooted 1.3 back in working order?

taosaur said...

The partitioning done by prep-dualboot will remain in place until you run remove-dualboot, but CWM backup/restore only acts on the primary partitions, and only restores the information; it doesn't affect the partitioning.

So any backups you make will be CM7 only, and will restore to any NC regardless of how it's partitioned, as long as all the partitions are large enough for the data CWM wants to put in them.

There's no way at present to backup the ROM on the alt partition.

taosaur said...

I did a video run-through of setting up the CM9 Alpha alongside B&N 1.4.1. http://www.youtube.com/watch?v=5owXz6fgyjM&feature=youtu.be

A couple things discovered along the way: the file formerly advertised as 1.3-full-restore was in fact 1.2; 1.4.1 on the secondary partition won't let you install apps from B&N's store. I think I'll see if I can move ICS to secondary and return CM7 to primary.

taosaur said...

A quick fix for the B&N market errors may be to flash the 1.4-to-alt update found under Other Resources. It has been suggested that the problem is in the froyo-to-dualboot script, and a corrected version is being tested, but in the meantime the update may overwrite the problem area.

Anonymous said...

Question. Can this be done so that the default boot is 1.4.1 stock and the alternate partition (holding nook button at boot) is CM7.1?

Anonymous said...

Just spending some time on doing this for a new nook. I'd like to have CM7.1 + rooted 1.4.1. It's looking like manualnooter is now working for 1.4.1, but is 1.4.1 on the alt yet working for the BN store? It would be nice to not have to repeat the whole process later on to get that working.
Thanks.

taosaur said...

Re: stock on primary, the rationale behind having CM7 primary is that CWM can interact with it normally for updates, backups, wipes etc. Also, the multiboot bootloader is packaged with CM7. There's a file buried in my XDA thread (find DeanGibson's post) that *might* successfully swap stock and CM7 without replacing the bootloader, but I know the author was using it for two different stock installs, so it might not work for CM7, and DG has stated that he's only offering it at my request, as-is and without support.

I'm afraid I've just started an internship and don't have a lot of time for testing this stuff, but if I get a chance to test the swap script with CM7, I'll add it to Other Resources.

taosaur said...

RE: the B&N store, see the footnote to Other Resources. There's both a corrected Froyo-to-dualboot that should prevent the issue, and a barebones update file that should fix a secondary stock install without removing root. I haven't seen any reports on the files yet; if you want to know if they work, give them a shot and report back to us.

Anonymous said...

I tried to post in the xda thread, but I just made an account, and it wouldn't let me post in the dev forums until I'd made a bunch of other posts that I didn't feel like spamming right now. Here it is, instead.

So, after a failed attempt where I installed ManualNooter 4.6.16 and didn't try the market out closely enough (dont do that - it force closes and then moving into alt caused it to get into that infinite boot on the Nook 'N' that the adobe fix ... well ... didn't) I realized I needed MN 5.12.20, so I restarted from scratch trying that. It worked far better, and I now have a dual booted Nook with a rooted 1.4.1 and Phiremod.

The BN store seems to be OK - I can view and search, thought I didn't actually download anything yet, since it needed a card number that I didn't feel like putting in. It did crash a couple of times, though, when I tried to sort or search. For the record, I used the modified froyo-to-dualboot script, and didn't need the barebones update file.

On the other hand, when I try to install from the android market (in 1.4.1), it tells me I have "insufficient space", even though the settings say I have plenty in both BN content and other storage. Searching was fruitless - any ideas?

One final question to end with. I'd like to swap the u-boot images as the first poster mentioned, and muck with the boot animations a little. Were can I find these, and any suggestiins on tools?

And in case it wasn't already clezr, thanks for your kick-ass instructions and links.

taosaur said...

Thanks for the heads up about MN 5.12.20. I added a link to the footnote about rooting.

Anonymous said...

No problem. Any idea on the stock "insufficient space" issue? Have there been other reports of it, or is it just me? I tried fiddling more, but I'm stuck.

I can probably manage to figure out the boot order/image thing, I just haven't had the time yet. But I'd be happy for pointers on that, too.

Anonymous said...

No problem. Any addition suggestions on the insufficient space market issue? Am I really the only one to run into it? :( I've tried poking at it for a bit, but I haven't had any success.

I can probably figure out the boot order/image thing my myself; I just haven't had too much time lately. But if you have any tips or pointers, they'd be appreciated.

taosaur said...

Sorry, I have zero experience with rooted stock, and I'm thinking most people using this guide are not bothering with rooting, with CM7 right there on the primary boot.

Swapping boot anims in CM7 is identical to most Android devices--you can find that with Google. On stock, idk. Again, DeanGibson's files in my XDA thread may help you swap things around, but you'll probably also need a standalone multiboot zip to flash at the end.

Anonymous said...

That's fine. I should probably stop being lazy and get my XDA account working so I can ask there.
What I really want is a nook that's as close to stock as possible (normal uboot logo, etc.) except rooted, which doesn't have to be obvious to see.
And then, under the hood, I want it to be able to run another version of Android when I boot it up holding he extra buttons.
So I get the extra features when I want it, but not everyone gets to know about it. :)

It's looking like the last bit is going to be a bit difficult, though, since I have to find myself a u-boot with the "Read Forever" logo that supports the CM7 alt-boot button. I suspect the insufficient space is a permission issue, I just haven't found it yet.

Jeffrey3000 said...

Thank you for the great guide. I imagine I will install the 1.4-to-alt-partition file, but I am a little confused about when to install it. I presume it is after the entire process is complete, but wanted to make sure. Can you suggest when or place it in as a STEP? Thanks!

Anonymous said...

To reboot recovery you can go into advanced in clockworkmod recovery and choose "reboot recovery"

taosaur said...

I've never found "reboot recovery" to work. It just reboots and loads primary if you don't us another method (rhythm method, multi-boot shortcut) to trigger recovery.

RE: 1.4-to-alt, you only use it to update an existing stock install on alt.

Anonymous said...

Hey - I'm the guy from a few weeks ago who had the "insufficient space" issue on rooted stock in the alt partition, and wanted to write a follow-up.

I had a friend "borrow" my nook for a bit, so didn't get to play with it much again, and on revisiting this, I followed your update instructions from the previous setup. I also decided to upgrade to the more recent manual nooter, and one of the two got me able to use the android market again. It's possible it was the market upgrade, too - I didn't do a particularly rigorous test, but my theory is that it has to do with your newer partition layout, so thanks!

Now all I need is a different uboot, as there appear to be some bugs with it (and a different logo), but I suspect I'll have to deal with that myself. :)