IoTGateway/BSP/Android/BSPsandImagesn

From ESS-WIKI
Revision as of 08:55, 9 November 2017 by Phill.liu (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 > ../bin/repo 
$ chmod a+x ../bin/repo 
$ ../bin/repo init -u https://github.com/ADVANTECH-Corp/android-manifest.git -b m6.0.1_2.1.0-ga -m ELAA_1_170210_0010.xml
$ ../bin/repo sync
=== The release_version.xml  please refer :  https://github.com/ADVANTECH-Corp/android-manifest/tree/m6.0.1_2.1.0-ga ====


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

If your product is ROM-3420A1, the product name is rom_3420_a1

$PRODUCT = rom_3420_a1

If your product is ROM-7421A1the product name is rom_7421_a1

$PRODUCT = rom_7421_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

$ 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

$ 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

Release Description

This release includes all porting and enhancements based on the Android open source code.

Supported Hardware

i.MX 6Quad ROM3420 board and platform

i.MX 6QuadPlus ROM7421 board and platform

Release Package Contents

The release package includes the following software and documents:

Android Image

Flashing document

Features 

  • Linux 4.1.15 kernel
  • Google Marshmallow 6.0 release
  • Boot source : eMMC, External SD
  • Splash Screen for LVD
  • Multitouch on LVDS panel
  • UI (display)
    • ROM3420: LVDS panel, HDMI display, VGA dispaly
    • ROM7421: LVDS panel, HDMI display,
  • UI (brightnes control)
  • Storage - External Media
  • Connectivity - Ethernet
  • Power - CPU Freq
  • Power - Bus Freq
  • Media - Music Play
  • Media - Sound Record
  • Media - Video Play
  • Graphic - HW 3D acceleration
    • OpenGL-ES 1.1/2.0/3.0 through GC2000, GC880 3D core, or OpenGL-ES 1.1/2.0/3.0 through GC3000+ OpenGL-ES 1.1/2.0 through GC2000, GC880, GC400T, GC400T
  • Graphic - HW accelerated UI surface composition
  • Misc - ADB over USB
  • Data Partition Encryption
  • USB Accessory
  • Ethernet APK

Multimedia Codecs

For multimedia codecs and features, see Section 5 in the Google Android Marshmallow 6.0 Compatibility Definition Document (CDD).

Revision History

Git BSP Tag Version Product CPU Date Release Release Note Binary OS Image File md5 Checksum File for Binary OS Image
ELAA_1_170210_0010 ROM-7421A1 Dual Plus/Quad Plus 2017-02-10 Beta Release Note Binary OS Image md5 File
ELAA_1_170210_0010 ROM-3420A1 Dual/Quad 2017-02-13 Beta Release Note Binary OS Image md5 File
ELAA_1_170404_0010 ROM-7421A1 Dual Plus/Quad Plus 2017-04-04 Beta Release Note Binary OS Image md5 File
ELAA_1_170404_0010 ROM-3420A1 Dual/Quad 2017-04-04 Beta Release Note Binary OS Image md5 File