DART-SD410 Android LL 1 1
Introduction
This WIKI describes how to build and deploy Android Lollipop Lollipop-5-1-1 on the DART-SD410. It is based on Qualcomm Android-LL-5.1.1.
Overview
The objective of this document is to guide DART-SD410 Android developers to obtain Android Lollipop sources, setting up host environment, compilation and deployment.
This document contains instructions for:
- Hardware and software requirements.
- Setup the hardware.
- Setup the toolchain.
- Download & build the sources.
- Install the binaries on the DART-SD410 SOM.
Document Reference
This release is based on Qualcomm APQ8016_410C_LA.BR.1.2.4-01810-8x16.0_5.1.1_Lollipop_P2 release. Please refer to Qualcomm Developer Network before you start building.
Supported hardware and features
Feature | Description |
---|---|
SOM support | DART-SD410 |
Carrier Board support | VAR-DT410CustomBoard |
CPU | Qualcomm - Snapdragon 410 |
Resque Image | Resque Images set can be downloaded from FTP |
eMMC | up to 16GB |
DDR size support configuration | Up to 2G LPDDR3 |
SD-Card | + |
Wired Network | 10/100 Mbps Ethernet |
Wireless Network | 802.11abg AP, & Wi-Fi |
Bluetooth | + |
SPI | + |
I2C | + |
USB OTG | Host and Device |
Uarts | x2 |
RTC | + |
Display | HDMI: 1080P (On board DSI-to-HSMI bridge, 800x480 resolution) LVDS (On board DSI-to-LVDS bridge, 800x480 resolution) |
Audio | Line In & Line out Mono Speaker Audio over HDMI |
Camera | IMX135 camera sensor. Board can be ordered separately at : sales@variscite.com |
Hardware Requirements
DART-SD410 evaluation kit.
Host (PC) setup requirements
The host development environment for Android is based on Ubuntu, please install Ubuntu version 14.04 64bit LTS http://www.ubuntu.com/download/desktop At least 60GByte free space.
IMPORTANT
Do not use other Ubuntu releases, other than recommended above.
For 64-bit Ubuntu 14.04
The complete Android host requirments: source.android.com/source/initializing.html Also you can refer to Software Build and Installation Guide, Linux Android.
The following command installs repo:
First: $ sudo apt-get update $ mkdir ~/bin $ PATH=~/bin:$PATH $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
In addition to the packages requested on the Android website, the following packages are also needed:
Installing the OpenJDK
The master branch of Android in the Android Open Source Project (AOSP) requires Java 7. On Ubuntu, use OpenJDK. Be aware that you must use OpenJDK opposed to previous versions that used SUN Java.
Java 7: For the latest version of Android
$ sudo apt-get update $ sudo apt-get install openjdk-7-jdk
Optionally, update the default Java version by running:
$ sudo update-alternatives --config java $ sudo update-alternatives --config javac
Install fastboot and ADB
$ sudo add-apt-repository ppa:nilarimogard/webupd8 $ sudo apt-get update $ sudo apt-get install android-tools-adb android-tools-fastboot
Install GIT
Please provide correct credentials during git initialization.
$ sudo apt-get install git $ git config --global user.email "you@example.com" $ git config --global user.name "Your Name"
Obtain Variscite's BSP
Please download Android Board Support Package file from Variscite's FTP site.
Contact Variscite support for FTP credentials.
Unpack Variscite's Android Release Package
$ mkdir ~/dart-sd410 $ cd ~/dart-sd410 $ unzip ~/Downloads/variscite_bsp_vla.br_.1.2.4-01810-8x16.0-3.zip $ cd source/
Download and Build Android Images
The following commands will download the full Android release from different Git repositories and build the Android images. It may take a very long time depending on Internel connection, Build machine, and remote servers. The process may fail fetching the repositories, in this case it can be started again.
$ chmod +x DB410c_build.sh The file DB410c_build.sh can be adited and parameter $BUILD_MACHINE changed to follow the build machine. The best setting is number of threads of the CPU minus 2. $ ./DB410c_build.sh The build system will ask for credentials for repo initialization.
Build Specific Android Image
Usually the changes are done only to a kernel, or bootloader, in this case there is no need to build the whole system and a specific image can be built. To accomplish it run:
$ ./build.sh msm8916_64 --image "image to build" "image to build" can be bootimg/sysimg/usrimg
To build the whole Android tree without downloading it again use:
$ ./build.sh msm8916_64
Flashing newly built images
The build process creates an out directory and puts all images in the following directory:
/out/target/product/msm8916_64/
The following image files are created:
emmc_appsboot.mbn - little kernel (uboot)
boot.img - kernel and dtb files
system.img - system folder
The images can be flashed one by one via fastboot.
In order to enter fastboot mode cycle the power or press Reset key with Back key pressed.
To flash the whole system
$ cd /out/target/product/msm8916_64/ $ sudo fastboot flash aboot emmc_appsboot.mbn $ sudo fastboot flash persist persist.img $ sudo fastboot flash userdata userdata.img $ sudo fastboot flash system system.img $ sudo fastboot flash recovery recovery.img $ sudo fastboot flash boot boot.img
To flash kernel and dtbs
Sometimes the changes are done only to the android kernel, in this case there is no need to flash the whole system.
The kernel and dtb files are located in boot.img file.
Flashing it is enough
$ cd /out/target/product/msm8916_64/ $ sudo fastboot flash boot boot.img
To flash little kernel
Sometimes the changes are done only to the bootloader, in this case there is no need to flash the whole system.
The little kernel is located in emmc_appsboot.mbn file.
Flashing it is enough
$ cd /out/target/product/msm8916_64/ $ fastboot.exe flash aboot emmc_appsboot.mbn