Skip to main content

Android 6.0.1.1 - i.MX6

IoTGateway/BSP/Android

Introduction

This user guide provides comprehensive instructions for setting up and building Advantech Android BSP (Board Support Package) for RISC platform devices.

Setup Host Computer

Setup Ubuntu Host Computer

Install Ubuntu 14.04 LTS 64bit. You should have about 80 Gbytes of free disk space for building images.

Go to http://releases.ubuntu.com/14.04/ and download 64-bit PC (AMD64) desktop image: http://releases.ubuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso for the installation.

Install Required Packages

Java

$ sudo apt-get install openjdk-7-jdk

Freescale Android User's Guide Dependencies

$ sudo apt-get update
$ sudo apt-get install uuid uuid-dev
$ sudo apt-get install zlib1g-dev liblz-dev
$ sudo apt-get install liblzo2-2 liblzo2-dev
$ sudo apt-get install lzop
$ sudo apt-get install git-core curl
$ sudo apt-get install u-boot-tools
$ sudo apt-get install mtd-utils
$ sudo apt-get install android-tools-fsutils

Android Open Source Project (AOSP)

Reference: http://source.android.com/source/initializing.html

sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
libgl1-mesa-dev libxml2-utils xsltproc unzip

Setup Advantech Android BSP In RISC Platform

The BSP contains cross toolchain, linux kernel source code, u-boot source code, Android root file system and some scripts. It consists of three top folders: "android", "image", "scripts".

Directory Structure

prebuilt/gcc/linux-x86/host/   : cross toolchain
bootable/bootloader/uboot-imx/ : u-boot source code
kernel_imx/ : linux kernel source code
device/fsl/ : Android device related settings
fsl-proprietary/ : modules & firmware (e.g. WiFi, GPU)
processors/imx/ : HAL (Hardware Abstraction Layer)
image/ : all built images located in
scripts/ : to simplify building process

Naming Rule

The naming convention consists of the model name followed by "AB" plus version number. For example, 4410ABV2080 where:

  • "4410" stands for RSB-4410
  • "AB" is acronym of Android BSP
  • "V2080" stands for Version 2.080

Supported Model Names:

"3420" stands for ROM-3420
"5420" stands for ROM-5420
"7420" stands for ROM-7420
"DS31" stands for UBC-DS31
"U220" stands for UBC-220

Build Instructions

To Build Boot Loader

Perform the following command in terminal console:

$ make -j4 bootloader

The two files, u-boot_crc.bin & u-boot_crc.bin.crc, will be located in directory: ./out/target/product/product_name

To Build Boot Image

Perform the following command in terminal console:

$ make -j4 bootimage

To Build System Image

Perform the following command in terminal console:

$ make -j4 systemimage
$ out/host/linux-x86/bin/simg2img out/target/product/$PRODUCT/system.img out/target/product/$PRODUCT/system_raw.img
$ mv out/target/product/$PRODUCT/system_raw.img out/target/product/$PRODUCT/system.img

Note: simg2img is a tool that converts a sparse system image to a raw system image on a Linux host PC and is located in myandroid/out/host/linux-x86/bin/simg2img.

To Build Recovery Image

Perform the following command in terminal console:

$ make -j4 recoveryimage

To Build OTA Package

Perform the following command in terminal console:

$ make -j4 otapackage

Boot Up from SD Card or eMMC

To Create SD Card

Perform the following command in terminal console:

$ cd {BSPHOME}/scripts
$ ./mksd-android.sh ${SD_DEVICE}

To Flash to eMMC

Perform the following command in terminal console:

$ cd /data/mkimage/scripts
$ sh ./mksd-android.sh ${MMC_DEVICE}

Additional Resources