IoTGateway/BSP/Android/Android BSP User Guide 7.1.1 1.0.0

From ESS-WIKI
Revision as of 07:00, 22 June 2018 by Phill.liu (Talk | contribs)

Jump to: navigation, search

Android BSP Version

Android 7.1.1_1.0.0

Introduction

This document describes how to work with the RISC Android 7.1.1 Board Support Package (BSP) release. The BSP includes bootloaders; the Android Linux kernel and root file system; and tools and documentation to ease development, deployment, and execution of Android-based systems.

Build Environment on Host

Currently, we adopt Docker as build environment.

You can get the latest version of advrisc/u16.04-imx6abv5 Docker image for developing imx6 risc projects.

If you don't know much about Docker, please refer to IoTGateway/Docker for details.

Docker command:

docker pull advrisc/u16.04-imx6abv5:20170523

Getting Android Source Code

  • Android 7.1.1_1.0.0
  • U-boot based on Yocto-2.0 (2005.04)
  • Kernel based on Yocto-2.1

Step1 : To pull down the Android source tree to your working directory from the repositories as specified in the default manifest

$ mkdir myandroid
$ mkdir bin
$ cd myandroid/
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ../bin/repo
$ chmod a+x ../bin/repo
$ ../bin/repo init -u https://github.com/ADVANTECH-Corp/android-manifest.git -b n7.1.1_1.0.0-ga -m release_version.xml
$ ../bin/repo sync
 
=== The release_version.xml  please refer : https://github.com/ADVANTECH-Corp/android-manifest/tree/n7.1.1_1.0.0-ga ==== 

Release _version .xml use the ELAA_A7_ROM7421_20170630_001.xml  for ROM-7421

Step2 : Patch to Android N7.1.1_1.0.0

$ cd myandroid/bootable/bootloader/uboot-imx/
$ patch -p1 <../../../patches_android_7.1.1/7001-Uboot_Yocto_4.1.15_1.2.0-to-Android_N7.1.1_1.0.0.patch
$ cd myandroid/bootable/bootloader/uboot-imx/board/freescale/mx6advantech/
$ patch -p1 <../../../../../../patches_android_7.1.1/7002-Uboot_Yocto_4.1.15_1.2.0-to-Android_N7.1.1_1.0.0.patch
$ cd myandroid/kernel_imx/ 
$ patch -p1 <../patches_android_7.1.1/7001-Linux_Yocto_4.1.15_2.0.0-to-Android_N7.1.1_1.0.0.patch
$ cd myandroid

Build Instructions

$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
$ source build/envsetup.sh
$ lunch $PRODUCT-user
$ make -j4 bootloader
$ make -j4 bootimage
$ make -j4 systemimage
Execute the make command to generate the image.
$ make 2>&1 | tee build-log.txt

Build Android Environment Memory Size

Build Android Environment Memory Size (Expanded memory > 8G)

Build systemimage fail message

N7 build fail.jpg

Current solution: memory under 8G

Solution1

$ export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
$ ./prebuilts/sdk/tools/jack-admin kill-server
$ ./prebuilts/sdk/tools/jack-admin start-server
Solution2
$ export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"

$ ./prebuilts/sdk/tools/jack-admin kill-server $ vim ~/.jack-settings --> modify jack.server.service.port=8076 to jack.server.service.port=8086 --> modify jack.server.admin.port=8077 to jack.server.admin.port=8087 $ vim ~/.jack-server/config.properties --> modify jack.server.service.port=8076 to jack.server.service.port=8086 --> modify jack.server.admin.port=8077 to jack.server.admin.port=8087 --> modify jack.server.max-service=4 to jack.server.max-service=2

$ make systemimage
Add_memory.png

Flash SD Card /EMMC

reference: https://github.com/ADVANTECH-Corp/android_mksd_script/tree/n7.1.1_1.0.0-ga

Download the script [ The script below can be used to partition a SD card/EMMC]


$ git clone https://github.com/ADVANTECH-Corp/android_mksd_script.git -b n7.1.1_1.0.0-ga

Bootimg from MMC/SD on the Advantech RISC board

To set the bootargs environment, use the following reference commands:

HDMI Display


setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=hdmi,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=128M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=448M androidboot.selinux=permissive

VGA Display

setenv bootargs console=ttymxc0,115200 init=/init video=mxcfb0:dev=lcd,1920x1080M@60,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=128M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=448M androidboot.selinux=permissive