IoTGateway/BSP/Android/Android BSP User Guide 5.1
Contents
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
$ sudo apt-get 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)
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 is consist of three top folders: "android", "image", "scripts".
Image File Naming Rule
It is consist of the model name followed by "AB" plus version number, for example, 4410ABV5001 which "4410" stands for RSB-4410, "AB" is acronym of Android BSP, "V5001" stands for Version 5001; other model names list below:
"4410" stands for RSB-4410-A2 "5420" stands for ROM-5420_B1 "4411" stands for RSB-4411-A1
Build Instructions
If your product is RSB-4410, the product name is rsb_4410_a2
$PRODUCT = rsb_4410_a2
If your product is ROM-5420 B1, the product name is rom_5420_b1
$PRODUCT = rom_5420_b1
[Step1] Upzip BSP
$ tar zxvf imx6ABV500x_2016-xx-xx.tgz
[Step2]
$ cd ~/imx6ABV500x_2016-xx-xx/android
[Step3] Set the $JAVA_HOME environment variable
$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
[Step4] Set up the environment for building.
$ source build/envsetup.sh
[Step5] Execute the Android lunch command.
$ lunch $PRODUCT-user <-- User mode $ lunch $PRODUCT-eng <-- Eng mode
[Step6] Make command to generate the image
$ make 2>&1 | tee build-log.txt
[Step7] Converts a sparse system image to a raw system image
$ 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
Building U-Boot images
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
Building boot.img
- Perform the following command in terminal console
- to do build bootimage
$ make -j4 bootimage
Building system.img
- Perform the following command in terminal console
- to do build systemimage
$ 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
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.
The android-tools-fsutils package includes the simg2img command for Ubuntu Linux OS.
Building recovery image
- Perform the following command in terminal console
- to do build recoveryimage
$ make -j4 recoveryimage
Boot up from SD card or eMMC
To create a bootable SD card
Perform the following command in terminal console
$ cd {BSPHOME}/scripts $ ./mksd-android.sh ${SD_DEVICE}
To create a bootable SD card
Perform the following command in terminal console
$ cd /data/mkimage/scripts $ sh ./mksd-android.sh ${MMC_DEVICE}