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
- Android Open Source Project: http://source.android.com/source/initializing.html
- Ubuntu 14.04 LTS Download: http://releases.ubuntu.com/14.04/