Kindle Fire Device and Vendor folders for CM9 (ICS)
Switch branches/tags
Nothing to show
Pull request Compare This branch is 4 commits ahead of JackpotClavin:ics.
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

Create a Working directory and download googles Repo command

mkdir cm9
cd cm9/
curl > repo
chmod a+x repo

Sync with CyanogenMod sources

For Mac

./repo init -u git:// -b ics
./repo sync -j16

For Ubuntu/Linux

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/omap4xxx/hwc/ hardware/ti/omap4xxx/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 repo

For Mac

./repo sync -j16

For Ubuntu/Linux

repo sync -j16

Update github (device/vendor changes)

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

For Mac

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

For Ubuntu/Linux

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.