+ All Categories
Home > Documents > Agenda linux kernel training free e;ectrons

Agenda linux kernel training free e;ectrons

Date post: 03-Apr-2018
Category:
Upload: prasannakh
View: 218 times
Download: 0 times
Share this document with a friend
6
Android system development course Overview Title Android system development training Overview Low level Android training for system developers The session is split in three parts - Building and booting Android - Porting Android to a new board (assuming the board is already supported by the mainline Linux kernel). - Developing a real device with Android: access to custom hardware from  Android applica tions, custo mizing filesystems, debu gging. Duration 4 days - 32 hours (8 hours per day) Trainer Maxime Ripard (see http://free -electrons.com/ company/st aff/) Language Oral lectures: English or French Materials: English  Audience Engineers porting Android to new boards Engineers developing products running with Android. Pre requi sit es Kno wl edg e and practi ce of Unix or GNU/ Lin ux comman ds People lacking experience on this topic could get trained by themselves with our freely available on-line slides (http:// free-electrons.com/ docs/comman d-line/) Knowledge and practice of C programming, basics of Java Needed equipment  Everything is sup plied by Free Elec trons in public sessions  Video project or Recent PC computers with at least 4 GB of RAM, and Ubuntu Linux installed in a free partition of at least 40 GB. Using Linux in a  virtual machin e is not supported, because of compile time issues and trouble connecting to real hardware. We need a 64 bits (x86_64) version of Ubuntu Desktop 12.04. We don't support other distributions, because we can't test all possible package  versions. High speed connection to the Internet (direct or through the company proxy), fast enough to download gigabytes of Android sources. PC computers with valuable data must be backed up before being used in our sessio ns. Some people h ave already made mistakes during our sessions and damaged work data. Materials Print and electronic copy of presentations and labs. Electronic copy of lab files. © 2011-2012 Free Electrons, http ://free -elect rons.com, [email protected]
Transcript
Page 1: Agenda linux kernel training free e;ectrons

7/28/2019 Agenda linux kernel training free e;ectrons

http://slidepdf.com/reader/full/agenda-linux-kernel-training-free-eectrons 1/5

Android system development course

Overview

Title Android system development training

Overview  Low level Android training for system developers

The session is split in three parts

- Building and booting Android

- Porting Android to a new board (assuming the board is alreadysupported by the mainline Linux kernel).

- Developing a real device with Android: access to custom hardware from Android applications, customizing filesystems, debugging.

Duration 4 days - 32 hours (8 hours per day)

Trainer  Maxime Ripard(see http://free-electrons.com/company/staff/)

Language Oral lectures: English or FrenchMaterials: English

 Audience Engineers porting Android to new boardsEngineers developing products running with Android.

Prerequisites Knowledge and practice of Unix or GNU/Linux commandsPeople lacking experience on this topic could get trained by themselves

with our freely available on-line slides(http://free-electrons.com/docs/command-line/)

Knowledge and practice of C programming,basics of Java

Neededequipment

 Everything is supplied by Free Electrons in public sessions

 Video projector

Recent PC computers with at least 4 GB of RAM, and Ubuntu Linuxinstalled in a free partition of at least 40 GB. Using Linux in a

 virtual machine is not supported, because of compile time issues andtrouble connecting to real hardware.

We need a 64 bits (x86_64) version of Ubuntu Desktop 12.04. We don't

support other distributions, because we can't test all possible package versions.

High speed connection to the Internet (direct or through thecompany proxy), fast enough to download gigabytes of Android sources.

PC computers with valuable data must be backed up before beingused in our sessions. Some people have already made mistakes duringour sessions and damaged work data.

Materials Print and electronic copy of presentations and labs.Electronic copy of lab files.

© 2011-2012 Free Electrons, http ://free-electrons.com, [email protected]

Page 2: Agenda linux kernel training free e;ectrons

7/28/2019 Agenda linux kernel training free e;ectrons

http://slidepdf.com/reader/full/agenda-linux-kernel-training-free-eectrons 2/5

Android system development training

Hardware

Using DevKit8000 boards from Embest inmost practical labs

OMAP3530 SoC from Texas Instruments

256 MB RAM, 256 MB flash

4”3 TFT LCD touchscreen

1 USB 2.0 host

1 USB device

100 Mbit Ethernet port

DVI-D / HDMI display connector

Expansion port, JTAG port, etc.

Part I - Compiling and booting Android

Lecture – Introduction to Android

History

 Actors Involved

Details about the Android architecture

Lab– Setup

Install the tools required to compile

Fetch the source code (if network bandwidth is not sufficient, we will provide aready-to-use .repo directory).

Get used to the Android specific tools

Lab – First compilation Lecture – Android source code andcompilation

Compile a first root filesystem for theemulator

How to use repo, git and gerrit to accesssources.

How to find one's way in the code base

How to compile Android (tools, targets, etc)

© 2011-2012 Free Electrons, http ://free-electrons.com, [email protected]

Page 3: Agenda linux kernel training free e;ectrons

7/28/2019 Agenda linux kernel training free e;ectrons

http://slidepdf.com/reader/full/agenda-linux-kernel-training-free-eectrons 3/5

Lecture – Linux kernel

Role and general architecture of the Linux kernel

Features available in the Linux kernel, with a focus on features useful for embedded systemsKernel user interface

Getting the sources

Understanding Linux kernel versions.

Using the patch command

Lab – Compile and boot an Android kernel

Using the Android Emulator 

Extract the patches from the Android Kernel

Compile and boot an Android kernel

Part II - Porting Android to a new board

Lecture – Changes introduced in the Android Kernel

Major functional changes introduced by Google

 Additions to the kernel

Device driver changes

Lab - Supporting a new board

Go through the steps taken to port Android to the DevKit8000 board.

Boot Android on a real board

Troubleshoot the various glitches

Make the adjustments needed to have a fully workable system (get a working screen,touchscreen panel, buttons, etc.)

Lecture – Android Bootloaders

What is a bootloader

Bootloader examples

The fastboot specifications from Android.

© 2011-2012 Free Electrons, http ://free-electrons.com, [email protected]

Page 4: Agenda linux kernel training free e;ectrons

7/28/2019 Agenda linux kernel training free e;ectrons

http://slidepdf.com/reader/full/agenda-linux-kernel-training-free-eectrons 4/5

Part III - Device development with Android

Lecture – Developing and debugging

 with ADB

Lab – Use ADB

Presentation of ADB

 Available commands: transfer files, installpackages, executing remote commands, logaccess, networking... all this done from thedevelopment machine.

Tweak ADB for a custom board

Learn how to get the system log, to gainaccess to a shell on the device, push and pullfiles, etc.

Lecture – Android filesystem layout

Know where the various software components are installed and mounted, and why itmatters.

Structure of the initrc file

Lecture – Android build system

Concepts introduced in the build system

 Architecture of the Makefiles

 Variables and functions available

Compilation steps

 Add a new device to the build system

Lab - System customization

 Add a device to the build system

Customize the “About” info, build ID, boot and home screens in your system.

Lab – Add a native binary to the build Lab – Add a native library to the build

Get to know the build system and the Clibrary (Bionic) specifics.

Create an external library to control a USBrocket launcher.

 Add this library to the default Android build

Lecture – Android Native Layer 

Discover the daemons handling the radio, external storage, launching applications, etc.

Get to know the different components involved in the Android runtime, from the virtualmachine to the media framework: StageFright, Flingers, Dalvik...

Learn how hardware abstraction is done in Android

© 2011-2012 Free Electrons, http ://free-electrons.com, [email protected]

Page 5: Agenda linux kernel training free e;ectrons

7/28/2019 Agenda linux kernel training free e;ectrons

http://slidepdf.com/reader/full/agenda-linux-kernel-training-free-eectrons 5/5

Lecture – Android Framework and Applications

Overview of the services, Content Providers and available applications in a standard Android

buildStructure of a Service / Content Provider

How to access a native library from a Java app using the Java Native Interface (JNI)

Lab – Develop the Java interface to the native library 

Implement a Java interface to use the previously integrated library

Lecture – Android Application Development

The application lifecycle

The various application components

How to access services

How to use, access and manage the resources

How apk packages are built and what do they contain

Lab – Write an app with the SDK 

Learn how to write and distribute an application using the Android SDK and its API.

Practical case: write an Android application controlling the USB rocket launcher.Learn how to access the Android Content Providers

Lecture - Advice and resources

 Access to the community, useful documentation resources, useful blogs, etc

© 2011-2012 Free Electrons, http ://free-electrons.com, [email protected]


Recommended