Difference between revisions of "IoTGateway/BSP/Android/BSPsandImagesn"

From ESS-WIKI
Jump to: navigation, search
Line 26: Line 26:
 
<syntaxhighlight lang="bash">$ mkdir myandroid $ mkdir bin  
 
<syntaxhighlight lang="bash">$ mkdir myandroid $ mkdir bin  
 
$ cd myandroid/  
 
$ cd myandroid/  
$ curl [https://storage.googleapis.com/git-repo-downloads/repo https://storage.googleapis.com/git-repo-downloads/repo] > ../bin/repo  
+
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ../bin/repo  
 
$ chmod a+x ../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 init -u https://github.com/ADVANTECH-Corp/android-manifest.git -b m6.0.1_2.1.0-ga  
 
$ ../bin/repo sync</syntaxhighlight><span style="font-family:times new roman,times,serif;"><span style="font-size:small;">Remove the .repo and .git file</span></span>
 
$ ../bin/repo sync</syntaxhighlight><span style="font-family:times new roman,times,serif;"><span style="font-size:small;">Remove the .repo and .git file</span></span>
  
Line 38: Line 38:
  
 
<syntaxhighlight lang="bash">$ cd myandroid/bootable/bootloader/uboot-imx/
 
<syntaxhighlight lang="bash">$ cd myandroid/bootable/bootloader/uboot-imx/
</syntaxhighlight>
+
$ 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  
 
 
<syntaxhighlight lang="bash">$ 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/  
 
$ 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  
 
$ 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/
 
$ cd myandroid/
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 
== Build Android ==
 
== Build Android ==
  

Revision as of 03:20, 8 February 2017

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 
$ ../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

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

Revision number Date Substantive changes
ELLA_1_170120_0010 01/2017 Initial release