201201171809Build Android 4 Ice Cream Sand-witch ICS for Pandaboard

How to compile Android 4.0 (ICS) for Pandaboard with a custom kernel

  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:
  4. In the omap/ (kernel source) directory, switch to the correct branch: git branch -t remotes/origin/android-omap-panda-3.0.
  5. In the omap/ (kernel source) directory,checkout the source: git checkout android-omap-panda-3.0
  6. In the omap/ (kernel source) directory, set up the base make configuration: make ARCH=arm panda_defconfig
  7. In the omap/ (kernel source) directory, configure the kernel as desired: make menuconfig
  8. In the omap/ (kernel source) directory, run the actual compilation: make ARCH=arm CROSS_COMPILE=/path/to/android-source/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
  9. When done, copy /path/to/omap/arch/arm/boot/zImage to /path/to/android-source/device/ti/panda/kernel (overwriting the existing kernel).
  10. 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).
  11. Build the ROM. Make sure to select full_panda-eng for lunch.
  12. Flash onto the device as per /path/to/android-source/device/ti/panda/README
  13. Reboot and enjoy

Build Android 4 for Pandaboard

Google released Android 4.0 last night to the public, the Ice Cream Sandwich.

Note: Both instructions and binary were updated for 4.0.3 on 12/21/2011.At this point it's working.

It's recommended to start with a new repo to build it, I'm running Ubuntu 10.04 64bit:

mkdir -p ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod 755 ~/bin/repo
export PATH=$PATH:~/bin/repo
cd ~
mkdir android
cd android
repo init -u https://android.googlesource.com/platform/manifest
repo sync -j4
source build/envsetup.sh
lunch full_panda-eng
#visit http://code.google.com/android/nexus/drivers.html#panda
wget https://dl.google.com/dl/android/aosp/imgtec-panda-iml74k-cfb7bdad.tgz
tar xzfv imgtec-panda-itl41d-dfebf249.tgz
make fastboot
time make -j8
#in case you need kernel source(normally you don't need this)
git clone https://android.googlesource.com/kernel/omap.git
cd omap
git checkout origin/android-omap-panda-3.0


On a 4-core i7 machine with 8GB DDR3 memory, the whole build took 32 minutes without any errors.

To try it out, follow the README under device/ti/panda, or in short:

#do not insert SD card, reboot the board
sudo device/ti/panda/usbboot device/ti/panda/bootloader.bin
#now insert the SD card
sudo out/host/linux-x86/bin/fastboot oem format
sudo out/host/linux-x86/bin/fastboot flash xloader device/ti/panda/xloader.bin
sudo out/host/linux-x86/bin/fastboot flash bootloader device/ti/panda/bootloader.bin
#reboot the board to fastboot mode again(hold user button, then toggle power button)
sudo out/host/linux-x86/bin/fastboot erase cache
sudo out/host/linux-x86/bin/fastboot -p panda flash userdata
sudo out/host/linux-x86/bin/fastboot -p panda flashall
#pandaboard will autoreboot
adb shell date $(date +%s)
adb shell dhcpcd eth0
#now have fun :)


Note1: After Android 4.0.3 boots up, the UI does not show all the apps on screen, click the top right corner to bring them up.
Note2: Also, as JBQ mentioned, set the Wallpaper to "live" you will have better results.
Note3: I set sleep timeout to 30 minutes, to avoid possible power management interference, which shuts down my LCD screen.

You can download all the binaries in one package at(for both 4.0 and 4.0.3):
Android 4.0 ICS on Pandaboard:
pandaboard.android4.tar_.bz2 (84.6 MB)
SHA1SUM: b3f81770863678a7d9028ebd7e0f8a61c28d2089 pandaboard.android4.tar.bz2

Android 4.0.3 ICS on Pandaboard:
pandaboard.android403.tar_.bz2 (87.15 MB)
SHA1SUM: e7959da8ee4a2b2a8aa2c3f35c8455d264323bca pandaboard.android403.tar.bz2

ADB driver 


Powered by Xuite
Google 廣告