IoTGateway/BSP/Android/BSPsandImagesn
Contents
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:
Wait for one moment, system will reboot for updating.
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:
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 |