Pandaboard: How to compile Android 4.0 (ICS): Custom kernel

I recently ran into some trouble building an Android ICS (4.0.3) image with a custom kernel for a TI Pandaboard, so I thought I should document the process in case anyone else could benefit from it.

  1. Initialize your build environment. I did this on Ubuntu 10.04 on x86_64.
  2. Download the Android source code. Make sure to get the master branch.
  3. Download the kernel source code: git clone
  4. In the omap/ (kernel source) directory
    1. Switch to the correct branch: git branch -t remotes/origin/android-omap-panda-3.0.
    2. Set up the base make configuration: make panda_defconfig
    3. Configure the kernel as desired: make menuconfig
    4. Compile: make ARCH=arm CROSS_COMPILE=/path/to/android-source/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
    5. When done, cp arch/arm/boot/zImage /path/to/android-source/device/ti/panda/kernel (note, this will overwrite the existing kernel).
  5. Download the proprietary binaries (adjust as necessary for your version of ICS) and extract into your android-source directory (after agreeing to the license terms).
  6. Build the ROM. Make sure to select full_panda-eng for lunch.
  7. Flash onto the device as per /path/to/android-source/device/ti/panda/README
  8. Reboot and enjoy
Published December 23, 2011