IoTGateway/BSP/Android/Android BSP User Guide 6.0.1 for rk

From ESS-WIKI
Jump to: navigation, search

Android BSP Version

Android 6.0.1

Introduction

This document describes how to work with the RISC and ELAA Android 6.0.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.

Setup Docker

Install Docker

  • Before you use Docker to develop, you have to install Docker on your platform. Please refer to Docker Installation Guide. You are able to install Docker on Linux, Cloud, Windows, and OS X. In general, you may choose to install on Ubuntu.[1]

Get base image

To get the images we provided, you can use docker pull <IMAGE REPOSITORY> to get the images in the image list.

$ docker pull advrisc/u14.04-imx6abv4
$ docker run --name rkABV2500 -it advrisc/u14.04-imx6abv4 /bin/bash

Getting Android Source Code

Related version information:

  • Android 6.0.1
  • kernel 3.10.0
  • U-Boot 2014-10

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-Rockchip/android-rk-manifest.git -b android-6.0.1 -m [ release_version.xml ]
$ ../bin/repo sync

=== The release_version.xml  is an option, the default value is default.xml        please refer :  https://github.com/ADVANTECH-Rockchip/android-rk-manifest/tree/android-6.0.1 ====

Building Android 6.0.1 image

Start Docker Container

$ docker run -it --name android6.0-build -v /home/adv/myandroid:/home/adv/android6.0:rw advrisc/u14.04-imx6abv4 /bin/bash

Build Instructions

Set the $JAVA_HOME environment variable

$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/

Set up the environment for building. This only configures the current terminal.

$ source build/envsetup.sh

Execute the Android lunch command. In this example, the setup is for the production image of Advantech RISC platfrom device with userdebug type.  If you devices is RSB4680,  you will be send command " lunch rsb4680-userdebug

$ lunch $PRODUCT-userdebug

To build boot loader

Perform the following command in terminal console

$ cd u-boot/
$ make rk3288_rsb4680a3_2G_defconfig
$ make -j4

The one file, RK3288UbootLoader_V2.30.10.bin, will be located in directory

To build kernel image

Perform the following command in terminal console

$ cd kernel/ 
$ make rk3288_adv_defconfig
$ make -j4 rk3288-rsb4680-a3.img

To build system image

Perform the following command in terminal console

$ make -j4
$./mkimage.sh

all android image will be generated in rockdev/Image-rsb4680/ folder.

Problems and Solutions

Compiled kernel

/bin/sh: 1: /home/zengwei/android_rk3288_androi6.0/kernel/scripts/gcc-wrapper.py: Permission denied
make[1]: *** [kernel/bounds.s] Error 126
make: *** [prepare0] Error 2
make: *** Waiting for unfinished jobs....
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/dtc
make: *** [scripts] Error 2

Solution

$ chmod 555 kernel/scripts/gcc-wrapper.py

Compiled android,Please copy this file before compiling

$ cp .repo/manifests/default.xml manifest.xml

Flash SD Card /EMMC

reference:https://github.com/ADVANTECH-Rockchip/rk3288_tools

SD_Firmware_Tool.v1.46 ;AndroidTool_Release_v2.33 ; DriverAssitant_v4.2

Bootimg from MMC/SD on the Advantech RISC board

reference:{android_source}/RKDocs/ and {android_source}/RKTools/
  1. Docker Installation on Ubuntu