IoTGateway/BSP/Android/BSPsandImagesn

From ESS-WIKI
Revision as of 08:03, 4 February 2017 by Jin.xin (talk | contribs)
Jump to: navigation, search

Set-up Development Environment

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 docker and Use docker

Please use docker environment to compiler Android 6.0.1_2.1.0

Android 6.0.1_2.1.0 Docker

Image Repository : advrisc/u14.04-imx6abv4

Image Tag : 20160825

Reference: http://ess-wiki.advantech.com.tw/view/IoTGateway/Docker

Source code

Getting Android source code (Android 6.0.1_2.1.0/kernel Yocto-2.0 /U-Boot Yocto-2.0)

$ mkdir myandroid $ mkdir bin 
$ cd myandroid/ 
$ curl [https://storage.googleapis.com/git-repo-downloads/repo 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 https://github.com/ADVANTECH-Corp/android-manifest.git] -b m6.0.1_2.1.0-ga 
$ ../bin/repo sync
Remove the .repo and .git file
$ find . -name .repo | xargs rm -rf
$ find . -name .git | xargs rm -rf
Patch to Android M6.0.1_2.1.0
$ cd myandroid/bootable/bootloader/uboot-imx/
$ patch -p1 <../../../patches_android_6.0.1/6001-Uboot_Yocto_4.1.15_1.2.0-to-Android_M6.0.1_2.1.0.patch 
$ cd myandroid/kernel_imx/ 
$ patch -p1 <../patches_android_6.0.1/6001-Linux_Yocto_4.1.15_1.2.0-to-Android_M6.0.1_2.1.0.patch 
$ cd myandroid/

Build Android

Building Android 6.0.1_2.1.0 android image

[ For reference ]

If your product is RSB-4410A1, the product name is rsb_4410_a1

$PRODUCT = rsb_4410_a1

If your product is RSB-xxxx the product name is rsb_xxxx_a1

$PRODUCT = rsb_xxxx_a1

If your product is ROM-xxxx the product name is rom_xxxx_a1

$PRODUCT = rom_xxxx_a1

Build Instructions

Set the $JAVA_HOME environment variable

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


To build android image

Perform the following command in terminal console
to do build systemimage
$ make -j4 systemimage

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.

$ 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

Build U-Boot and Kernel

To build u-boot

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 kernel

Perform the following command in terminal console
to do build bootimage
$ make -j4 bootimage

U-Boot Upgrade

# The script below can be used to upgrade u-boot  reference: https://github.com/ADVANTECH-Corp/android_mk_sd_emmc_script

Flash SD Card

# The script below can be used to partition a SD card  reference: https://github.com/ADVANTECH-Corp/android_mk_sd_emmc_script

Flash eMMC

# The script below can be used to flash to eMMC  reference: https://github.com/ADVANTECH-Corp/android_mk_sd_emmc_script

Make OTA

Build OTA image

Build ota image

[ For reference ]

If your product is RSB-4410A1, the product name is rsb_4410_a1

$PRODUCT = rsb_4410_a1

If your product is RSB-xxxx the product name is rsb_xxxx_a1

$PRODUCT = rsb_xxxx_a1

If your product is ROM-xxxx the product name is rom_xxxx_a1

$PRODUCT = rom_xxxx_a1

Build Instructions

Set the $JAVA_HOME environment variable

$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
To build ota image
Perform the following command in terminal console
to do build ota image
$ make -j4 otapackage

The ota package update.zip, will be located in directory, ./out/target/product/product_name

Flash OTA image

copy the ota image file update.zip to corresponding vendor partition

Use ota image to upgrade android system

Click Settings / About tablet / Addition system updates:

RTENOTITLE

Wait for one moment, system will reboot for updating.

RTENOTITLE

It will take some time to update.

When the system startup next time,it runs the upgraded system!

Release Note