+ +
- -
Online Training
 
Calendar  Details
Operating Systems
 
Calendar  Details
Programming
Calendar  Details
Processors
 
Calendar  Details
Communications
 
 
 
Calendar  Details
+ +
> >
- -

Last News

Securing an Embedded Linux with System Workbench

Asymmetric Multi-Programming with System Workbench for Linux

Creating an STM32MP1 Linux platform with System Workbench for Linux

Creating an IMX8 Linux platform with System Workbench for Linux

 
ac6 >> ac6-training >> Operating Systems >> Linux >> Android Installation Download Catalog Download as PDF Write us Printable version

G1 Android Installation

Android installation on a hardware platform

Android installation on a hardware platform
formateur
Objectives
  • Understanding the specifics of the Android system.
  • How to configure and compile the Android sources to get a working system.
  • Control the operation of the Android emulator.
  • Understand how to test an Android image before flashing the system.
  • Detail the different flash file system image generation procedures.
Labs are conducted on i.MX6 or i.MX8 boards
We use the last open source version of Android, as available on the board.
For on-site trainings, if suitable Linux workstations are not available, we provide virtual machine images for VirtualBox; the only requisite is then a recent 64bit PC with at least 8Gb of RAM and 100Gb of free disk space.
Course environment
  • Printed course material (in English).
  • One Linux PC for two trainees.
  • One target platform for two trainees.
  • Documentation and exercise solutions.
Prerequisite
  • Embedded Linux installation and kernel usage

First Day
Android overview
  • Android
    • History
    • The Open Handset Alliance
    • Existing ports (HTC Dream, Magic...)
  • The various licenses used by Android (GPL, LGPL, etc.)
The GIT distributed source management system
  • Installation and general usage.
    • Creating and using a local repository
    • Connecting to a remote repository
Exercise:  Managing several versions of a program with GIT
  • Working with branches
    • Creation of a new branch
    • Merging branches
Exercise:  Working with vendor branches
  • Team functions
    • Creating configuring and managing a public repository
    • Working with patches
Exercise:  Creating a shared project repository
The Android Linux kernel
  • Downloading source code
  • Configuring the Android-specific drivers
    • Binder
    • Logger
    • Low_memory_killer
    • Timed_output
    • Timed_gpio
  • Configuring an Android Linux kernel
  • Building the kernel
Exercise:  Configuration and build of the Android kernel for the target board
Exercise:  Checking the first phases of kernel boot
Second Day
Booting Android
  • The various kinds of boot
  • U-Boot
    • Configuration and build
    • Porting U-Boot
  • RedBoot
  • Le Linux boot process
  • The Android boot sequence
The Android System
  • Downloading sources
  • Exploring the Android system
  • The Android source tree
    • The Bionic library
    • The Dalvik Java virtual machine
    • The basic packages
  • Building the Android system
Exercise:  Compiling the full Android system
  • The Android initialisation language
Exercise:  Modifying the Android init sequence
The Android BSP
  • The Android build system
    • The Android.mk files
  • Creating a new Android platform
    • Declaring a new vendor
    • Creation of platform-specific parameter files
    • Choosing platform-dependent compilation options
Exercise:  Compiling a new Android platform
  • Adding native components
    • Defining Java methods in C++
    • The Android NDK
    • JNI for Android
    • Using SWIG
  • The Android binder
    • Writing services in C++
    • The binder's C++ interface
Exercise:  Recompiling a single component
Third Day
The Android SDK
  • Overview and installation of the Software Development Kit (SDK)
  • The Android Virtual Devices
    • Creation
    • Configuration
    • Basic Use
  • The Eclipse Android Development Toolset (ADT)
    • Developping and testing and Android application
    • Deploying Android Applications
  • The Android Debug Bridge (adb) tool
    • Basic use
    • Connecting to a remote Android target (real or virtual)
Exercise:  Building and testing a simple Android application
Finalization of the Android platform
  • Testing the kernel and the system :
    • Using an NFS-mounted root file system
    • Updating the initailisation script for NFS use
  • Flash memory partitionning
  • Flashing the system
    • Flashing through u-boot
    • Flashing from Linux
  • _ Updating the initailisation script when booting in flash
  • Starting and using the platform in standalone mode
Exercise:  Deploying a finalized Android system