Kindle Fire Device and Vendor folders for CM9 (ICS)
C++ C Python Rust Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

CM9 for Kindle Fire


Discussion thread:
Building thread:
IRC Channel: #kindlefire-dev on freenode
Bug List:



setup linux/OS X please note: it must be sun-java-6, not openjdk

Download CM9 sources

mkdir cm9
cd cm9/
curl > repo
chmod a+x repo
./repo init -u git:// -b ics
./repo sync -j16

Download Kindle Fire device tree

git clone git:// github
mkdir -p device/amazon/ vendor/amazon/
cd device/amazon/
ln -s ../../github/device/otter otter
cd ../../vendor/amazon/
ln -s ../../github/vendor/otter otter
cd ../..

Optional SystemUI

rm -rf frameworks/base/packages/SystemUI
git clone git:// frameworks/base/packages/SystemUI/SystemUI

Before compiling change the make files to not build hwc

mv hardware/ti/omap4xx/hwc/ hardware/ti/omap4xx/hwc/


source build/
brunch otter -j$(grep -c processor /proc/cpuinfo)

this should produce a flashable out/target/product/otter/cm_otter-ota-eng.$ file, if the signing process fails (typical error: Could not create the Java virtual machine.) try to run it again:

./device/amazon/otter/releasetools/otter_ota_from_target_files -v \
           -p out/host/linux-x86 \
           -k build/target/product/security/testkey \
           --backup=true \
           --override_device=auto \
           out/target/product/otter/obj/PACKAGING/target_files_intermediates/cm_otter-target_files-eng.$ out/target/product/otter/cm_otter-ota-eng.$

Update git/repo

./repo sync -j16
cd github
git pull
cd ..

Clean up repo

If you messed up your repo, clean it up (it will reset things like SystemUI, but not the device/vendor tree):

make clean
./repo forall -c "git reset --hard HEAD"
./repo forall -c "git clean -fdx"
./repo sync -j16

###Notes for compiling on Mac OS X (by davidnintendo)

  • Xcode 4 may not work. Use Xcode 3 instead. You may need to modify the installer to get it working on Lion, though. Use Google to get instructions.
  • MacPorts didn't work well for me either. Homebrew worked better.
  • If your drive is on a non case-sensitive format, you will need to use a disk image to build. Make sure to have enough space on it to compile because everything including intermediate files will be created in the disk image. 40 GB will be enough. Also, if you don't want those 40 GB occupied from the first second, create the image in a dynamic format.