####Prerequisites For general Android prerequisites, see http://source.android.com/source/download.html 1. Download the following components from source.android.com: * frameworks/base TAG android-2.2_r1 * prebuilt TAG android-2.2_r1 * external/apache-http TAG android-2.2_r1 * external/gdata TAG android-2.2_r1 * external/protobuf TAG android-2.2_r1 * external/tagsoup TAG android-2.2_r1 * external/googleclient TAG android-2.2_r1 2. Under common folder (e.g. /home/joe/platform) copy over the components downloaded in step 1 3. Unpack all the git archives, by running: ./unpack.pl 4. Set env variables: export PLATFORM_DIR=$(pwd) export ARCH=arm export CROSS_COMPILE=arm-eabi- export TARGET_OUT_INTERMEDIATES=out export JAVA_HOME=/apps/android/jdk1.5.0_18 export BOARD_USES_QCOM_HARDWARE=true export PATH=$PLATFORM_DIR/prebuilt/linux-x86/toolchain/arm-eabi- 4.2.1/bin:$JAVA_HOME/bin:$PATH cd $PLATFORM_DIR . build/envsetup.sh export MOT_NO_GMS=1 sed -i 's:^include external:#include external:g' build/target/product/sdk.mk sed -i 's:virtual void updateCropRect://virtual void updateCropRect:g' frameworks/base/include/ui/ISurface.h sed -i 's:libloc_ext::g' hardware/libhardware_legacy/Android.mk sed -i 's:gps/gps_mot_ext.cpp::g' hardware/libhardware_legacy/gps/Android.mk sed -i 's:include <../leds/als.h>:include "../leds/als.h":g' kernel/drivers/input/sfh7743.c sed -i 's:include <../../leds/als.h>:include "../../leds/als.h":g' kernel/drivers/i2c/chips/crucialtec_oj.c choosecombo 1 1 generic eng 5. Build ####Building Linux Kernel and kernel modules MOTO_PREBUILT_DIR=$HOME/my-prebuilt mkdir -p $MOTO_PREBUILT_DIR make MOTO_PREBUILT_DIR=$MOTO_PREBUILT_DIR kernel ####Building user-space copyleft components make TARGET_ARCH_VARIANT=armv7-a BOARD_HAVE_BLUETOOTH=true BOARD_GPS_LIBRARIES= \ HARDWARE_OMX=true TARGET_BOARD_PLATFORM=omap3 OMX_TI_OMAP_TIER_LEVEL=10 <target> Supported targets: out/target/product/generic/system/bin/AacEncoder_Test out/target/product/generic/system/bin/bluetoothd out/target/product/generic/system/bin/btcmd out/target/product/generic/system/bin/bthelp out/target/product/generic/system/bin/dumpe2fs out/target/product/generic/system/bin/dund out/target/product/generic/system/bin/e2fsck out/target/product/generic/system/bin/enc_dec_test_720p out/target/product/generic/system/bin/fdisk out/target/product/generic/system/bin/hciattach out/target/product/generic/system/bin/iptables out/target/product/generic/system/bin/mke2fs out/target/product/generic/system/bin/resize2fs out/target/product/generic/system/bin/sdptool out/target/product/generic/system/bin/tune2fs out/target/product/generic/system/bin/VideoEncTest out/target/product/generic/system/bin/VideoEncTest720p out/target/product/generic/system/lib/bluez-plugin/audio.so out/target/product/generic/system/lib/bluez-plugin/input.so out/target/product/generic/system/lib/liba2dp.so out/target/product/generic/system/lib/libbluetoothd.so out/target/product/generic/system/lib/libbluetooth.so out/target/product/generic/system/lib/libbridge.so out/target/product/generic/system/lib/libext2_blkid.so out/target/product/generic/system/lib/libext2_com_err.so out/target/product/generic/system/lib/libext2_e2p.so out/target/product/generic/system/lib/libext2fs.so out/target/product/generic/system/lib/libext2_profile.so out/target/product/generic/system/lib/libext2_uuid.so out/target/product/generic/system/lib/libLCML.so out/target/product/generic/system/lib/libOMX.TI.720P.Encoder.so out/target/product/generic/system/lib/libOMX.TI.AAC.decode.so out/target/product/generic/system/lib/libOMX.TI.AAC.encode.so out/target/product/generic/system/lib/libOMX.TI.AMR.decode.so out/target/product/generic/system/lib/libOMX.TI.AMR.encode.so out/target/product/generic/system/lib/libOMX.TI.JPEG.Encoder.so out/target/product/generic/system/lib/libOMX.TI.MP3.decode.so out/target/product/generic/system/lib/libOMX.TI.mp4.splt.Encoder.so out/target/product/generic/system/lib/libOMX.TI.Video.encoder.so out/target/product/generic/system/lib/libOMX.TI.WBAMR.decode.so out/target/product/generic/system/lib/libOMX.TI.WBAMR.encode.so out/target/product/generic/system/lib/libOMX.TI.WMA.decode.so out/target/product/generic/system/lib/libprojectM.so out/target/product/generic/system/lib/libwbxmlparser.so out/target/product/generic/system/lib/libwebcore.so out/target/product/generic/system/lib/ulogd_BASE.so out/target/product/generic/system/lib/ulogd_SQLITE3.so out/target/product/generic/system/xbin/agent out/target/product/generic/system/xbin/attest out/target/product/generic/system/xbin/avinfo out/target/product/generic/system/xbin/avtest out/target/product/generic/system/xbin/bdaddr out/target/product/generic/system/xbin/dnsmasq out/target/product/generic/system/xbin/hciconfig out/target/product/generic/system/xbin/hcidump out/target/product/generic/system/xbin/hcitool out/target/product/generic/system/xbin/hstest out/target/product/generic/system/xbin/iproute2 out/target/product/generic/system/xbin/l2ping out/target/product/generic/system/xbin/l2test out/target/product/generic/system/xbin/lmptest out/target/product/generic/system/xbin/opcontrol out/target/product/generic/system/xbin/oprofiled out/target/product/generic/system/xbin/pppd out/target/product/generic/system/xbin/rctest out/target/product/generic/system/xbin/rfcomm out/target/product/generic/system/xbin/scotest out/target/product/generic/system/xbin/sdptest out/target/product/generic/system/xbin/ulogd