Android4SAM v2.2

Abstracts: This page provide using PDA's TM4300 from Digi-Key on AT91SAM9x5EK board


Prebuilt demo packages

Here is the current release demo packages for Android4SAM for AT91SAM9X5EK board with PDA's TM4300 from Digi-Key (This module also support by SamA5D3)

Demo based on
Android-2.3.7_r1
at91sam9x5
NAND boot Android-2.3.7_r1-sam9x5-nandboot.zip
md5sum
SD Card boot Android-2.3.7_r1-sam9x5-sdboot.zip
md5sum

Build Demo packages from source code

Android file system

Get Android

1. Get standard Android source code
This is the same as Android4SAM v2.1 release, please reference: GetAndroid

2. Apply Atmel special Android patch

$ cd <ANDROID_WORKING_DIR>/device
$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.2/patches/Android-2.3.7_r1.tar.gz
$ tar -zxvf Android-2.3.7_r1.tar.gz
Now you can see a new folder < ANDROID_WORKING_DIR >/device/atmel.

Build Android

Build Android is the same as before:
      $ cd <ANDROID_WORKING_DIR>
      $ make clean
      $ source build/envsetup.sh
      $ partner_setup sam9x5
      $ choosecombo Device release sam9x5 eng
      $ make

Generate Android Image

The is the same as Android4SAM v2.1 release, please reference: Generate Android Image

AT91Bootstrap

The AT91Bootstrap is the same as before. Please reference to: AT91Bootstrap

Linux kernel

Get source code

To get an experimental Android4SAM kernel and running on an AT91 product, please go through the following steps:

1. Download the corresponding Linux kernel, we use 2.6.39 kernel.

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2
$ tar xvjf linux-2.6.39.tar.bz2

2. Download the ATMEL's patch and apply it

$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.1/patches/2.6.39-at91-exp.tar.gz
$ tar zxvf 2.6.39-at91-exp.tar.gz
$ cd linux-2.6.39
$ for i in ../2.6.39-at91-exp/*; do patch -p1 < $i; done
$ cd ..

3. Download the Android kernel patch and apply it

$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.2/patches/linux-2.6.39.diff
$ cd linux-2.6.39
$ patch -p1 < ../linux-2.6.39.diff
$ cd ..

4. Download Android4SAM patch and apply it

$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.2/patches/linux-2.6.39_Android-2.3.7_r1.diff 
$ cd linux-2.6.39
$ patch -p1 < ../linux-2.6.39_Android-2.3.7_r1.diff 
$ cd ..
You now have an Android4SAM Linux kernel.

Configure and Build Linux Kernel

Now you need to configure the Linux Kernel for TM4300 support.

$ cd linux-2.6.39
$ make mrproper

1. For NAND Flash boot
Warning, important You need to BuildAndroid before this step, and copy mydroid/out/target/product/sam9x5/root directory to linux-2.6.39 directory or use prebuilt extract it directly root.tgz

$ make ARCH=arm at91sam9x5_android_ubifs_pda_defconfig 

2. For SD Card boot

$ make ARCH=arm at91sam9x5_android_sdcard_pda_defconfig 

3. At this step, you can modify default configuration (Optional)

$ make ARCH=arm menuconfig 

4. And build the Linux kernel image

$ make uImage ARCH=arm  CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix->

After finish successfully, you can find kernel image in: arch/arm/boot/uImage

Warning, important NOTE: Make sure "mkimage" command can be found in your current path, otherwise U-Boot style image cannot be built.

Boot up Android

This is the same as Android4SAM v2.1 release, please reference: Steps of Load Image

see also : Android4SAM v2.1, Android4SAM v2.0