[Nook Color Android Development] inportb:
Since this post was originally made, there have been some updates to the build instructions. While this method should still work, there is, I think, something better.

I'd like to share a little script I wrote to automate the sync/build/package cycle for myself... as if FatTire's tutorial weren't easy enough already :P

It's designed for the latest stable Ubuntu (11.10), though it might work with Debian as well (or even other distros, if you have all the prerequisites already installed). Any brave souls willing to try? :)

I know you're impatient to get started, but FatTire's tutorial is awesome. Read it so you understand what you are doing. My script also contains a little guide, so check it out. I haven't had much opportunity to test this script because it takes so much time to start from scratch, so please help me out! As of now, I have completed two full builds this way, as well as a few incremental updates. Feel free to modify the MIT-licensed script. There are two time-consuming steps (4 and 6), so I'd recommend planning accordingly. Also make sure you have plenty of space on your disk; my working directory currently contains about 23GB. In a nutshell:

0. If you already have a working build environment (with ~/bin and ~/android), you could also use this Makefile. Please see the quickstart section within. Otherwise, you could start from scratch as follows:

1. Make a folder for all your Android-building needs, and drop this text file in there, named Makefile (with no extension). Then open your favorite terminal app and navigate to that folder.

2. If you don't have any of the tools installed yet, and you're on Ubuntu, do this:

sudo apt-get install build-essential
sudo make apt

3. Initialize your working directory:

make init

4. Fetch the source code:

make sync

nb: It might take a while to fetch ~5.7GB of code off the Internet, depending on your connection. It might also hang, in which case you gotta stop the process (press ctrl+\) and retry until you have everything. When you retry, you might want to do `make sync J=4` to reduce the concurrency. If it then complains about corrupt repositories ("not a repository"), you must delete the corrupt repositories and retry. You'd know it's frozen if "Fetching projects" does not progress for a minute or so.

5. Plug in your Nook via USB, boot into CM7, and make sure debugging is enabled... to get some vendor-specific files (proprietary bits from B&N and prebuilt bits from CyanogenMod):

make vendor

6a. At this point, you have a choice. Either make bacon, or continue below.

6b. Build that stuff:

make build

This takes a while, depending on your hardware... perhaps a few hours. It's best to do this step overnight. When it's done, you could sync directly to your device, or continue!

7. Save a snapshot for later:

make snapshot

This is actually required for the next step. But don't worry: snapshots are incremental, so they don't use too much space; and it's safe to remove any snapshot except "current".

8. Package it up:

make package CLEAN=1

Check the snapshots directory for your shiny new update.zip :D

Please don't distribute your update.zip packages, until FatTire gives us the green light. He wants us to learn how to build Android for ourselves.

9. It's even easier to keep your source up-to-date:

make sync
make build
make snapshot
make package CLEAN=1

... and don't forget to thank FatTire for his work, which made this possible :D

If you need help, look for Pinako on Freenode.