CM10 Nook Color Build Notes

Here are my notes regarding building CyanogenMod 10 for the Barnes & Noble Nook Color. This is not a HOWTO, and most of this has already found its way to these build instructions.


This was done in Mountain Lion using the stock Xcode and a few minimal tweaks.

As per the original AOSP instructions, I used a case-sensitive image:

hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android-jb-nook.dmg
hdiutil attach ~/android-jb-nook.dmg -mountpoint /Volumes/android

I then installed repo:

sudo mkdir -p /usr/local/bin
cd !$
sudo curl -O
sudo chmod +x repo

And got on with building:

cd /Volumes/android
repo init -u git:// -b jellybean
# very long wait
tee system/.repo/local_manifest.xml
# paste (used to be and hit Ctrl+D
# (there is now no need to run the extract_files script)
repo sync -j4
cd /Volumes/android/vendor/cm
. build/
export USE_CCACHE=1
brunch encore
# wait

And then transfer it to the Nook by using adb over Wi-Fi thusly:

adb connect
adb push out/target/product/encore/ /sdcard

Other stuff of interest

Deprecated way of obtaining proprietary binaries:

cd system/device/bn/encore
# enable ADB debugging via network
adb connect _nookip_



Besides grabbing this header file and saving it as /usr/local/include/elf.h, you’ll probably want to install optipng from Homebrew and set up an md5sum equivalent like so:

sudo tee /usr/local/bin/md5sum
md5 -r $*
chmod +x !$

Another thing you should do (but which depends on your particular setup) is brew install gnu-sed and alias sed=gsed in your .bashrc.

Either that or go through the makefiles and replace every single invocation of sed -i foo with sed -i '' foo, since sed is used extensively in one-liners to update files like build.prop and whatnot, and it will break your build.

See Also: