ARM The Architecture For The Digital World  

Android Porting for ARM Embedded Linux by Moko365 Inc



Training

Product Description

Goal

This is a training course in Taipei, Taiwan which is instructed by Jollen Chen. With this very entry-level course, the trainer will instruct students to compile and porting AOSP to ARM platform (OMAP3, BeagleBoard).

Highlights

* How to download (repo) Android source tree
* Configuring Android product tree and compiling source tree
* Build images, create AVD and use Android emulator
* Modify source code and porting to ARM hardward
* Understanding basics of Android OOD

Schedule

Day 1:

* Chaper 1: Introduction of Android architecture and application framework
    1.1 Android & Layered Architecture
    1.2 FLOSS License & Android
    1.3 Hardware Accessibility & Methodology
    1.4 Android Runtime & Dalvik VM Instance
    1.5 Android Porting Guidelines

* Chaper 2: Compile Linux kernel
    2.1 Legacy GNU/Linux System
    2.2 Android kernelfeatures
    2.3 Configure and compile goldfish kernel
    2.4 Cross compile: practice and principles
    2.5 Linux kernel booting flow

* Chaper 3: Compile Android
    3.1 Prepare build environment
    3.2 Get Android source tree with repo
    3.3 Compile Donut/Eclair/Froyo
    3.4 Compile Gingerbread and use vendorsetup.sh
    3.5 Configure your product tree
    3.6 Use Android emulator
    3.7 Build U-Boot image
    3.8 Android.mk (1): build shared libraries
    3.9 Android.mk (2): build Java libraries

* Chapter 4: Busybox made easy
    4.1 Introduction of Busybox and GPLv2 issues
    4.2 Configure cross tool prefix
    4.3 Add Busybox commands
    4.4 Compile Busybox

Day 2:

Chapter 5: Embedded Root Filesystem (Android + Linux)
    5.1 Embedded Linux: the GNU/Linux system
    5.2 Init process
    5.3 library dependency & SONAME
    5.4 Process memory mapping
    5.5 Build root filesystem
    5.6 Understanding the GNU/Linux inittab
    5.7 Understanding Android/Linux root filesystem
    5.8 Android init language and init.rc

Chapter 6: Android Booting Analysis and Internals
    6.1 Bootchart: use bootchart.c
    6.2 Android booting process
    6.3 Introduction of Zygote and SystemServer process
    6.4 Zygote & SystemServer: Internals
    6.5 Optimize Zygote's class preloading

Chapter 7: Get started to develop Android OS
    7.1 How to trace and modify application framework
    7.2 Extend an API
    7.3 Instance of Dalvik VM and JNI
    7.4 Architecture design: OOAD basics
 

Android Porting for ARM Embedded Linux

Market Segment(s)

  • General Purpose Products/Services

Target Platform(s)

  • Android

ARM Processor(s)

  • Cortex-A8
 
ARM Connected