Step-by-Step Commands to get ICS working from Source

# From: www.android.com > Partners > Getting the Source
#    http://source.android.com/source/downloading.html

mkdir bin
export PATH=$PWD/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > bin/repo
chmod a+x bin/repo
# We want master 
mkdir ics
cd ics
repo init -u https://android.googlesource.com/platform/manifest
repo sync

# From http://source.android.com/source/building.html 
# and
# device/ti/panda/README 

source build/envsetup.sh 
lunch full_panda-eng
make fastboot

# AA - this gave me a build error about wrong version of java 
# commenting out line 131 of build/core/main.mk allows it to continue

# 
# thanks to Vishal Bhoj vishal.bhoj@linaro.org for these instructions

# Disable CTS (NOTE: I have not tried building CTS in master branch.It may/may not build):
vi cts/Android.mk
# and comment out the 2 lines for build:

   #include cts/CtsTestCoverage.mk
   #include $(call all-subdir-makefiles)

# Fetch the binaries from http://code.google.com/android/nexus/drivers.html#panda and extract it into ics root directory resulting into a "vendor" folder


wget --no-check-certificate https://dl.google.com/dl/android/aosp/imgtec-panda-itl41d-dfebf249.tgz
tar -zxvf imgtec-panda-itl41d-dfebf249.tgz

# accept license

make -j32

# wait a bit

# device/ti/panda/usbboot device/ti/panda/bootloader.bin 
#   didn't work for me, but Vishal pointed out you can get bootloader onto the SD card by hand. All you need is a boot partition. You can use http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat or you can use linaro-android-media-create from Linaro to get a boot partition

# this is a little hacky, but you'll get a good boot partion without going through fdisk, disregard the error you see in linaro-android-media-create

bzr branch lp:linaro-image-tools
dd if=/dev/random of=zero bs=512 count=1
tar -jcvf zero.tar.bz2 zero
./linaro-image-tools/linaro-android-media-create --mmc /dev/sdc --dev panda --system zero.tar.bz2 --userdata zero.tar.bz2 --boot zero.tar.bz2

# copy in the boot

mkdir mnt
sudo mount /dev/sdc1 mnt

sudo cp device/ti/panda/xloader.bin mnt/MLO
sudo cp device/ti/panda/bootloader.bin mnt/u-boot.bin

sudo umount mnt
sync

# Then plug the SD card into the Panda and USB into J18 and power on the unit

sudo ./fastboot devices

sudo fastboot oem format
sudo fastboot flash xloader device/ti/panda/xloader.bin
sudo fastboot flash bootloader device/ti/panda/bootloader.bin

sudo fastboot erase cache

sudo fastboot flash system out/target/product/panda/system.img
sudo fastboot flash userdata out/target/product/panda/userdata.img
sudo fastboot flash boot out/target/product/panda/boot.img

# Post-boot setup, part 1: Set the date on the board:
adb shell date $(date +%s)

# Post-boot setup, part 2: Configure Ethernet
adb shell dhcpcd eth0

Step-by-step Rebuilding the Kernel

git clone https://android.googlesource.com/kernel/omap
cd omap
git checkout remotes/origin/android-omap-panda-3.0
make ARCH=arm CROSS_COMPILE=/mnt/user/ics/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- mrproper
make ARCH=arm CROSS_COMPILE=/mnt/user/ics/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- defconfig panda_defconfig

internal/archive/Platform/Android/CompileAndRunAOSPICS (last modified 2013-08-29 07:12:52)