Embedded Android? Not so fast!

Similar documents
Developing on DragonBoard

ROM FLASHING INSTRUCTIONS FOR ONEPLUS 3 / 3T

Android System Development Training 4-day session

PICO-i.MX6UL Development Platform for Android Things Quick Start Guide

The HiKey AOSP collaborative experience

Android on Tizen. Moscow State University

EMBEDDED LINUX ON ARM9 Weekend Workshop

Android for IVI Android for IVI: overcoming enormous boot time

From One Architecture to Many: Porting OpenMandriva to AArch64, armv7hnl, RISC-V and Ryzen. OSS/ELC 2018 Bernhard Bero Rosenkränzer

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Android Device Rooting Lab

Headless Android Android Builders Summit 2012 Karim

Android PC Splash Brothers Design Specifications

Project Treble. What Makes Android 8 different? August 2018

Brillo / Weave Internals

EM210 Burn Linux Image Manual. Catalogue

Android: Under the Hood. GDG-SG DevFest 5th Nov 2016 Jason Zaman

Android Bootloader and Verified Boot


Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink

Automated Identification of Installed Malicious Android Applications

Overview of Layered Architectures

(Ubuntu 10.04), the installation command is slightly different.

Lecture 1 - Introduction to Android

Kick Start your Embedded Development with Qt

Department of Computer Science and Engineering, Sri Jayachamarajendra College of Engineering, Mysore, Karnataka

COSC 3P97 Mobile Computing

Ingenic. Newton Android Development Guide

Customing Android: Looking inside the droids belly

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

Embedded. Connected. Aware. SW Delivery Process. February Inforce Computing. Do NOT Copy/Distribute without prior written permission

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Operating System: Chap2 OS Structure. National Tsing-Hua University 2016, Fall Semester

Android AOSP Overview. Karthik Dantu and Steve Ko

MultiDroid: A Novel Solution to Consolidate Interactive Physical Android Clients on One Single Computing Platform

Azure Sphere: Fitting Linux Security in 4 MiB of RAM. Ryan Fairfax Principal Software Engineering Lead Microsoft

Interoperation of tasks

Improving the bootup speed of AOSP

Linux: Powering the Internet

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Lab2 - Bootloader. Conventions. Department of Computer Science and Information Engineering National Taiwan University

SHWETANK KUMAR GUPTA Only For Education Purpose

How To Prevent Rolling Spam Factories. Ryan Ware Lead Security Architect

Open Lecture Mobile Programming. Command Line Tools

BRDS ( , WS 2017) Ulrich Schmid

Security Challenges: Integrating Apple Computers into Windows Environments

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

Android Debugging and Performance Analysis

Configuring USB 3.0 SSD

Mainline on form-factor devices / Improving AOSP

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Hands-On Workshop: Freescale Audio Solution Framework, Part 2

Linux. An introduction. Aurélien Villani 01/2018

ECE 471 Embedded Systems Lecture 16

MY FIRST ANDROID TM. Peter Aagaard Kristensen

ECE 471 Embedded Systems Lecture 16

SUPERIOR EMBEDDED SOLUTIONS

WES 237A Project Part 1 Guide

Andriod-Mobile Application Development. Mobile Application Development Workshop on Andriod Platform.

ECE 471 Embedded Systems Lecture 12

Four Components of a Computer System

A Big Little Hypervisor for IoT Development February 2018

Android Sdk Tutorial For Windows 7 64 Bit Full Version

OS Security III: Sandbox and SFI

CrossMount MediaTek White Paper April2015

Install ADB on Windows

Build the unified end to end IoT solution on ARM LEADING COLLABORATION IN THE ARM ECOSYSTEM

3 Software Stacks for IoT Solutions. Ian Skerrett Eclipse

User Guide. Android x86 Modified System. Sponsor: Huan Ren. Compiled by: Zachary Bair, Taronish Daruwalla, Joshua Duong, and Anthony Nguyen

ANDROID APPLICATION DEVELOPMENT COURSE Training Program

Certified Ubuntu Professional VS-1140

Contents 1. Introduction New Features Pre-installed Android Marshmallow Power Supply Monitor USB Keyboard

REX-RED Community Android 4.3

Embedded Android. Hands-On Exercises for. v

Grub Manual Install Ubuntu Without >>>CLICK HERE<<<

An overview of mobile and embedded platforms

MP01 Quick Start Guide

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Roy Lawson. Introduction to Office 365 Development Presented By. SDS pays for referrals!

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

Embedded Design without an OS. By Peter de Ruiter D&E September 21 st, Transfer BV

Qt for Device Creation

HSM and Thales Basics using the Thales Simulator

Apache Manually Install Ubuntu From Usb

Booting Linux Fast & Fancy. Embedded Linux Conference Europe Cambridge, Robert Schwebel

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

Exam LFCS/Course 55187B Linux System Administration

Designing Next Generation FS for NVMe and NVMe-oF

CS6401- Operating System QUESTION BANK UNIT-I

General-purpose computing with VirtualBox on Genode/NOVA. Norman Feske

Release Notes Zebra VC80x AndroidN Update005 based on NG-00-A Release for GMS

Exam Questions. Give an example network topology where GPSR cannot find a way from a source to a sink. Explain your answer.

Hands-on with the Sitara Linux SDK

DS2 Products Auto-Update Tool BSP

Lecture 2 PLATFORM SECURITY IN ANDROID OS

Understanding D-Bus. Meetup Toulouse, May Myle ne Josserand embedded Linux and kernel engineering

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

Contents. 1 Introduction Features Product Specifications Hardware Specification Software Specification...

The Right Approach to Minimal Boot Times

Transcription:

Embedded Android? Not so fast! Ryan Kuester Independent Consultant rkuester@insymbols.com These slides at http://insymbols.com/misc/embedded-android-dw2013.pdf

Contribute to discussion of Android s suitability for embedded work Demonstrate one way of using Android in an embedded system Q&A

Application framework Misc. Init Linux kernel Bootloader

Application framework Misc. Init Linux kernel fastboot protocol Bootloader

Application framework Misc. Init Linux kernel Bootloader

Application framework Misc. Init Linux kernel Bootloader

Application framework Misc. Init Linux kernel Bootloader

Enormously successful Productive and enjoyable environment for writing applications Java has great tools

Application framework excellent, e.g., modularity of activities and intents Users are familiar with Android GUIs Framework services address common needs: network, power, audio, management

Hardware Requirements Capable graphics (HW accelerated) Sufficient storage (300 MiB?) Kernel Requirements

Biggest Weakness Android couples the operating system choice to the GUI choice

Issues with Android as OS Software availability with build system Software compatibility with libc

Software compatibility with libc see bionic/libc/caveats not complete POSIX, only what Android needs, e.g.: no C++ exceptions no locales or wide chars missing functions like getpwd()

Issues with Android as OS Package management Field upgrades Build system SCM scheme

Issues with Android as OS Limited and less-than-open community of platform developers

You need to partition your solution in any case Running within Android framework is not suitable for some timesensitive code Can run code outside of framework, but not well-supported, and library challenges remain

Ideally we could just use the application framework Application framework framework Misc. Init Linux kernel Bootloader

but Android is architected and delivered as a tightly-coupled combination Application framework framework Misc. Init Linux kernel Bootloader

forcing us to keep it intact and put other software alongside it Application framework Libraries Embedded Linux OS Init Linux kernel Bootloader

Why, again? extra software libraries package management Embedded Linux OS tools

How? Some suggest injecting pre-built Embedded OS into Android build process Application framework Embedded Linux OS Misc. Init Linux kernel Bootloader

Backwards this leaves Android in charge of build process, package management, etc. Application framework Embedded Linux OS Misc. Init Linux kernel Bootloader

Proposal: treat Android as package within the Embedded Linux OS Embedded Linux OS Application framework Libraries Init Embedded Linux Init Linux kernel

Demonstration of this concept applied to the Nexus 7

How Android device storage is partitioned Application framework Misc. Init Linux kernel Normally don t touch this Bootloader # fastboot flash $IMAGE

How Android device storage is partitioned Application framework Misc. Init boot.img Linux kernel Bootloader # fastboot flash $IMAGE

How Android device storage is partitioned system.img Application framework Misc. Init Linux kernel Bootloader # fastboot flash $IMAGE

New kernel, new system image (now in userdata partition) Application framework Misc. Init Linux kernel Bootloader # fastboot flash $IMAGE

Nexus 7 kernel source: https://github.com/pragmatux/ linux-n7 Android package source: https://github.com/pragmatux/ android-n7-wifi-aosp

Android filesystem in chroot Embedded OS Android

Communication via kernel still works as always Embedded Linux OS Application framework Libraries Init Embedded Linux Init Linux kernel

Demos Console Android managed by systemd APK delivered by.deb package Android activity plus native daemon

Embedded Android? Not so fast! Ryan Kuester Independent Consultant rkuester@insymbols.com These slides at http://insymbols.com/misc/embedded-android-dw2013.pdf