SlideShare a Scribd company logo
1 of 33
Download to read offline
1
Is Android the
new Embedded Linux?
ADC IV
Karim Yaghmour
karim.yaghmour@opersys.com
2
These slides are made available to you under a Creative Commons Share-
Alike 3.0 license. The full terms of this license are here:
https://creativecommons.org/licenses/by-sa/3.0/
Attribution requirements and misc., PLEASE READ:
● This slide must remain as-is in this specific location (slide #2), everything
else you are free to change; including the logo :-)
● Use of figures in other documents must feature the below “Originals at”
URL immediately under that figure and the below copyright notice where
appropriate.
● You are free to fill in the “Delivered and/or customized by” space on the
right as you see fit.
● You are FORBIDEN from using the default “About” slide as-is or any of its
contents.
●
You are FORBIDEN from using any content provided by 3rd
parties without
the EXPLICIT consent from those parties.
(C) Copyright 2012, Opersys inc.
These slides created by: Karim Yaghmour
Originals at: www.opersys.com/community/docs
Delivered and/or customized by
3
About
● Author of:
● Introduced Linux Trace Toolkit in 1999
● Originated Adeos and relayfs (kernel/relay.c)
● Training, Custom Dev, Consulting, ...
4
1. Embedded, before Linux
● pSOS
● VRTX / VxWorks
● QNX
● LynxOS
● MS-DOS
● GNU toolchain
5
2. Embedded Linux, a look back
Projects Conferences:
Linux kernel 1991... OLS 1999
1996 CELF ELC 2004
1998 ABS 2011
1999
RTAI 1999 Books
1999E. Anderson
U-Boot 1999 Karim Yaghmour
2000E. Anderson
2001
Preemption patches 2005
2009Debian
2010LF / Intel Companies:
Matchbox
RTLinux V. Yodaiken / M. Barabanov
uClinux / uCDimm J. Dionne / Motorola Dragonball
BusyBox B. Perens ('96) / Debian, then E. Anderson
P. Mantegazza
Buildroot Craig Hollabaugh
W. Denk
uClibc Chris Hallinan
I-pipe / Adeos P. Gerum (K. Yaghmour)
S.-Thorsten Dietrich / I. Molnar / T. Gleixner
eglibc
Yocto
Lineo
Attempts at Linux mobile GUIs MontaVista
Maemo / MeeGo TimeSys
Qtopia
6
3. Android, whereth comest thou?
● 2002:
● Sergey Brin and Larry Page started using Sidekick smartphone
● Sidekick one of 1st smartphones integrating web, IM, mail, etc.
● Sidekick was made by Danger inc., co-founded by Andy Rubin (CEO)
● Brin/Page met Rubin at Stanford talk he gave on Sidekick’s development
● Google was default search engine on Sidekick
● 2004:
● Despite cult following, Sidekick wasn’t making $
● Danger inc. board decided to replace Rubin
● Rubin left. Got seed $. Started Android inc. Started looking for VCs.
● Goal: Open mobile hand-set platform
● 2005 - July:
● Got bought by Google for undisclosed sum :)
● 2007 - November:
● Open Handset Alliance announced along with Android
7
4. What's Embedded Linux?
●
A set of ad-hoc methods to package the Linux kernel with a
(minimal) filesystem.
● FS content “to be determined” case-by-case
● APIs are specific to each device/build
● “Core software”:
● BusyBox
● U-Boot
● GNU Toolchain
●
Your flavor of:
● glibc or uClibc or eglibc
● yocto or buildroot or eldk or ltib or ptxdist or ...
●
No serious UX framework
8
9
5. What's Android?
●
... apart from its increasingly well known UX ...
●
Fully-integrated Eclipse IDE
●
SDK/NDK
●
ADB
●
Fastboot
●
Published, well-known, and very rich APIs
●
A large and growing developer community
●
And still we can use the usual suspects:
● GNU toolchain, BusyBox, u- boot, glibc, ...
An actual standardized dev. env. across all product lines
10
11
6. Licensing differences
● Kernel:
● GNU General Public License (a.k.a. GPL)
● AOSP:
● Mostly Apache License 2.0 (a.k.a. ASL)
● Having GPL-free user-space was a design goal
● A few GPL and LGPL parts: mainly BlueZ and DBUS
● Some key components in BSD: Bionic and Toolbox
● “external/” directory contains a mixed bag of licenses, incl. lots of GPL
● Android Robot:
● Very much like the Linux penguin
● Android name:
● As descriptor only: “for Android”
● Use for labelling device requires talking to Google
12
7. Why did Embedded Linux's rise?
● EETimes 2005 survey ...
http://www.embedded.com/electronics-blogs/-
include/4025539/Embedded-systems-survey-Operating-
systems-up-for-grabs
● EETImes 2012 survey
http://www.embedded.com/design/embedded/4372666/Shiftin
g-sands--Trends-in-embedded-systems-design
13
8. Current Trends
● On the embedded side
● On the consumer side
14
8.1. Embedded trends
● Rise of cheap 32-bit CPUs
● Rise of inexpensive storage
● Rise of inexpensive eval boards
● BeagleBoards
● BeagleBone
● RaspberryPi
● For all practical purposes, this hardware is disposable
● Arduino / Maker / DIY trend
● ...
15
8.2. Consumer trends
● Rise of touch-based devices
● Race with Apple on features / price
● Mobile devices outselling PCs since 2010
● Increasingly inexpensive low-end touch-based
devices
16
Source:
“From Altair to iPad: 35 years of personal computer market share”, Jeremy Reimer,
Ars Technica, August 2012
http://arstechnica.com/business/2012/08/from-altair-to-ipad-35-years-of-personal-computer-market-share/
This material is (C) 2012, Ars Technica and is NOT CC-BY-SA.
17
Source:
“From Altair to iPad: 35 years of personal computer market share”, Jeremy Reimer,
Ars Technica, August 2012
http://arstechnica.com/business/2012/08/from-altair-to-ipad-35-years-of-personal-computer-market-share/
This material is (C) 2012, Ars Technica and is NOT CC-BY-SA.
18
Source:
“From Altair to iPad: 35 years of personal computer market share”, Jeremy Reimer,
Ars Technica, August 2012
http://arstechnica.com/business/2012/08/from-altair-to-ipad-35-years-of-personal-computer-market-share/
This material is (C) 2012, Ars Technica and is NOT CC-BY-SA.
19
9. Embedded Android? Why?
● Feature set
● API
● Developer community
● Built on Linux
● Examples:
● Consumer electronics
● Medical
● Defence
● Space
20
10. Android meets Embedded Linux
● Why did Android use Linux?
“The Linux vs BSD decision was made before Google acquired Android.
While starting with NetBSD's kernel was tempting, the Linux kernel wasn't that much
larger (one of the concerns), had quite a lot of support from silicon vendors and OEMs,
and a larger developer community (easier to find folks with Linux kernel expertise).
The bright line between the kernel and userspace drawn by the statement at the top of
the Linux COPYING file was certainly helpful in making this decision. Explaining that the
kernel is GPLv2 and userspace is Apache2/BSD/MIT is something easily understood by
OEMs, and most OEMs don't have a problem with the general idea that the kernel is not
where you differentiate your products.”
Brian Swetland, LWN, March 2011
21
10.1. Rationale
“Android took GNU out the back door, shot him in the head, and ran away with
the penguin” -- Surely from Tarantino's next flick
●
A ton of mature user-space packages available
● Linux has been around for 20 years
● Linux's user-space has been developed in the open
●
A ton of “Linux”-centric stacks have been developed through the years
● “Porting” to Android not always possible/desirable/realistic
●
Android doesn't provide everything
●
Touch-based, consumer-oriented
●
Linux is very strong on backend/server side
●
Android exhibits symptoms of “my way or the highway” design
● A whole GNU world
●
glibc vs. Bionic
22
23
24
11. Headless Android
+ =
“And then GNU came back for revenge ...” -- Tarantino's sequel
25
11.1. Why?
● Took me a long time to wrap my head around
● “Why don't you just use embedded Linux?”
● What's “Embedded Linux” anyway?
● NEW: Nexus Q
26
11.2. Possibilities
● No Java:
● TinyAndroid:
$ BUILD_TINY_ANDROID=true make ­j4
● AOSP w/ custom products .mk file
● The full-blown stack without:
● SurfaceFlinger
● WindowManager
● WallpaperService
● InputMethodManager
27
11.3. Tiny Android
● 3MB filesystem
● Minimal root fs
● init
● toolbox + shell
● adb
● bionic + utility libs
● No “system/framework/”
● No “system/app”
28
11.4. AOSP w/ custom product .mk
● Have a look at:
● build/target/product/*.mk
● Create your own device under “/device” and
have fun
● Disable zygote at startup
● Remove all apks
● ...
29
11.5 Full stack?
30
11.5.1. How?
● Disable:
● SurfaceFlinger
● WindowManager
● WallpaperService
● InputMethodManager
● SystemUI
● Don't let SurfaceFlinger Client try to open binder to SurfaceFlinger
● Feed bogus values back from SurfaceFlinger Client
● Disable qemud (emulator artefact)
● Tweak internals by disabling key calls:
● In ActivityStack.java:
– startHomeActivityLocked()
– setAppStartingWindow()
● wm.detectSafeMode()
● wm.systemReady()
● wm.reclaimSuraceMemoryLocked()
31
11.5.2 What's in there anyway?
●
Most everything Android gives you:
● No UX
● Fully-integrated Eclipse IDE
● SDK/NDK
● ADB
● Fastboot
● Published, well-known, and very rich APIs
● A large and growing developer community
● And still we can use the usual suspects:
– GNU toolchain, BusyBox, u- boot, glibc, ...
● Caveat -- “Activity” no longer works
●
You have:
● Services
● ContentProviders
● BroadcastReceivers
32
12. Where do we go from here?
● ...
● ro.config.headless
Slide 41 - 42 of UBM “2012 Embedded Market Study”
33
Thank you ...
karim.yaghmour@opersys.com
And then he said ...
“As your leader, I encourage you from time to time, and always in a respectful manner, to
question my logic. If you're unconvinced that a particular plan of action I've decided is the
wisest, tell me so, but allow me to convince you and I promise you right here and now, no
subject will ever be taboo. Except, of course, the subject that was just under discussion.
The price you pay for bringing up either my GNU or Linux heritage as a negative is... I
collect your fucking head. Just like this fucker here. Now, if any of you sons of bitches got
anything else to say, now's the fucking time!”

More Related Content

What's hot

Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Opersys inc.
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in AndroidOpersys inc.
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowOpersys inc.
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeOpersys inc.
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IOpersys inc.
 
Is Android the New Embedded Embedded Linux? at Embedded World 2013
Is Android the New Embedded Embedded Linux? at Embedded World 2013Is Android the New Embedded Embedded Linux? at Embedded World 2013
Is Android the New Embedded Embedded Linux? at Embedded World 2013Opersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
Android Things: Android for IoT
Android Things: Android for IoTAndroid Things: Android for IoT
Android Things: Android for IoTOpersys inc.
 
Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Opersys inc.
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
Embedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopEmbedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopOpersys inc.
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Opersys inc.
 
Embedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VEmbedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VOpersys inc.
 
Embedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIEmbedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIOpersys inc.
 
Embedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopEmbedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopOpersys inc.
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Opersys inc.
 

What's hot (20)

Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with Marshmallow
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC Europe
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part I
 
Is Android the New Embedded Embedded Linux? at Embedded World 2013
Is Android the New Embedded Embedded Linux? at Embedded World 2013Is Android the New Embedded Embedded Linux? at Embedded World 2013
Is Android the New Embedded Embedded Linux? at Embedded World 2013
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Android Things: Android for IoT
Android Things: Android for IoTAndroid Things: Android for IoT
Android Things: Android for IoT
 
Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Project Ara
Project AraProject Ara
Project Ara
 
Embedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopEmbedded Android Workshop with Lollipop
Embedded Android Workshop with Lollipop
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014
 
Embedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VEmbedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon V
 
Embedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIEmbedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VI
 
Embedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopEmbedded Android Workshop with Lollipop
Embedded Android Workshop with Lollipop
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3
 

Viewers also liked

Newsletter layout
Newsletter layoutNewsletter layout
Newsletter layoutzsmith
 
Historieta Cruce No - Laura Navarro
Historieta Cruce No - Laura NavarroHistorieta Cruce No - Laura Navarro
Historieta Cruce No - Laura NavarroChiqui Navarro
 
Proyecto 1 marcela martinez
Proyecto 1 marcela martinezProyecto 1 marcela martinez
Proyecto 1 marcela martinezEfrén Ingledue
 
Swedenborg THE-CORONIS-or-appendix-to-The-True-Christian-Religion-The-Invitat...
Swedenborg THE-CORONIS-or-appendix-to-The-True-Christian-Religion-The-Invitat...Swedenborg THE-CORONIS-or-appendix-to-The-True-Christian-Religion-The-Invitat...
Swedenborg THE-CORONIS-or-appendix-to-The-True-Christian-Religion-The-Invitat...Francis Batt
 
Natural History Picture Book
Natural History Picture BookNatural History Picture Book
Natural History Picture BookChuck Thompson
 
10 Crossmediale politiek
10 Crossmediale politiek10 Crossmediale politiek
10 Crossmediale politiekDre
 
Smb 20141211 hybri scan technologies
Smb 20141211   hybri scan technologiesSmb 20141211   hybri scan technologies
Smb 20141211 hybri scan technologiesSMBBV
 
Bibliotecas digitales y Linked Open Data, de Xavier Agenjo Bullón
Bibliotecas digitales y Linked Open Data, de Xavier Agenjo BullónBibliotecas digitales y Linked Open Data, de Xavier Agenjo Bullón
Bibliotecas digitales y Linked Open Data, de Xavier Agenjo BullónDIGIBIS
 
3 Geografía de China
3 Geografía de China3 Geografía de China
3 Geografía de China崔 辰
 
Digital Darwin and the Health Care Industry - The New Rules in the Social Me...
Digital Darwin and the Health Care Industry - The New Rules in the Social Me...Digital Darwin and the Health Care Industry - The New Rules in the Social Me...
Digital Darwin and the Health Care Industry - The New Rules in the Social Me...Vladimir Vulic
 
El teorema de pitágoras con papel y tijeras
El teorema de pitágoras con papel y tijerasEl teorema de pitágoras con papel y tijeras
El teorema de pitágoras con papel y tijerassitayanis
 
Yo como tu version web
Yo como tu version webYo como tu version web
Yo como tu version webNoeliaMagali
 
Mercati e intermediari assicurativi. Un confronto internazionale
Mercati e intermediari assicurativi. Un confronto internazionaleMercati e intermediari assicurativi. Un confronto internazionale
Mercati e intermediari assicurativi. Un confronto internazionaleRoberto Anesin
 
How to Deliver Kick Ass Salesforce Training Without Breaking A Sweat or Break...
How to Deliver Kick Ass Salesforce Training Without Breaking A Sweat or Break...How to Deliver Kick Ass Salesforce Training Without Breaking A Sweat or Break...
How to Deliver Kick Ass Salesforce Training Without Breaking A Sweat or Break...David Giller
 
El derecho público provincial
El derecho público provincialEl derecho público provincial
El derecho público provincialgmnunez
 
Proyecto 1ra conferencia internacional de esterilizaciã³n de perros y gatos r...
Proyecto 1ra conferencia internacional de esterilizaciã³n de perros y gatos r...Proyecto 1ra conferencia internacional de esterilizaciã³n de perros y gatos r...
Proyecto 1ra conferencia internacional de esterilizaciã³n de perros y gatos r...Cefutrema Ac
 

Viewers also liked (20)

Tarima
TarimaTarima
Tarima
 
Newsletter layout
Newsletter layoutNewsletter layout
Newsletter layout
 
Tv shot semana 37
Tv shot semana 37Tv shot semana 37
Tv shot semana 37
 
Historieta Cruce No - Laura Navarro
Historieta Cruce No - Laura NavarroHistorieta Cruce No - Laura Navarro
Historieta Cruce No - Laura Navarro
 
Proyecto 1 marcela martinez
Proyecto 1 marcela martinezProyecto 1 marcela martinez
Proyecto 1 marcela martinez
 
Swedenborg THE-CORONIS-or-appendix-to-The-True-Christian-Religion-The-Invitat...
Swedenborg THE-CORONIS-or-appendix-to-The-True-Christian-Religion-The-Invitat...Swedenborg THE-CORONIS-or-appendix-to-The-True-Christian-Religion-The-Invitat...
Swedenborg THE-CORONIS-or-appendix-to-The-True-Christian-Religion-The-Invitat...
 
Natural History Picture Book
Natural History Picture BookNatural History Picture Book
Natural History Picture Book
 
10 Crossmediale politiek
10 Crossmediale politiek10 Crossmediale politiek
10 Crossmediale politiek
 
Smb 20141211 hybri scan technologies
Smb 20141211   hybri scan technologiesSmb 20141211   hybri scan technologies
Smb 20141211 hybri scan technologies
 
Surveyplanet
SurveyplanetSurveyplanet
Surveyplanet
 
Bibliotecas digitales y Linked Open Data, de Xavier Agenjo Bullón
Bibliotecas digitales y Linked Open Data, de Xavier Agenjo BullónBibliotecas digitales y Linked Open Data, de Xavier Agenjo Bullón
Bibliotecas digitales y Linked Open Data, de Xavier Agenjo Bullón
 
3 Geografía de China
3 Geografía de China3 Geografía de China
3 Geografía de China
 
Digital Darwin and the Health Care Industry - The New Rules in the Social Me...
Digital Darwin and the Health Care Industry - The New Rules in the Social Me...Digital Darwin and the Health Care Industry - The New Rules in the Social Me...
Digital Darwin and the Health Care Industry - The New Rules in the Social Me...
 
El teorema de pitágoras con papel y tijeras
El teorema de pitágoras con papel y tijerasEl teorema de pitágoras con papel y tijeras
El teorema de pitágoras con papel y tijeras
 
Pag Internet
Pag InternetPag Internet
Pag Internet
 
Yo como tu version web
Yo como tu version webYo como tu version web
Yo como tu version web
 
Mercati e intermediari assicurativi. Un confronto internazionale
Mercati e intermediari assicurativi. Un confronto internazionaleMercati e intermediari assicurativi. Un confronto internazionale
Mercati e intermediari assicurativi. Un confronto internazionale
 
How to Deliver Kick Ass Salesforce Training Without Breaking A Sweat or Break...
How to Deliver Kick Ass Salesforce Training Without Breaking A Sweat or Break...How to Deliver Kick Ass Salesforce Training Without Breaking A Sweat or Break...
How to Deliver Kick Ass Salesforce Training Without Breaking A Sweat or Break...
 
El derecho público provincial
El derecho público provincialEl derecho público provincial
El derecho público provincial
 
Proyecto 1ra conferencia internacional de esterilizaciã³n de perros y gatos r...
Proyecto 1ra conferencia internacional de esterilizaciã³n de perros y gatos r...Proyecto 1ra conferencia internacional de esterilizaciã³n de perros y gatos r...
Proyecto 1ra conferencia internacional de esterilizaciã³n de perros y gatos r...
 

Similar to Is Android the New Embedded Linux? at AnDevCon IV

Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIOpersys inc.
 
Android Hacks, Variants, Tricks and Resources ESC SV 2012
Android Hacks, Variants, Tricks and Resources ESC SV 2012Android Hacks, Variants, Tricks and Resources ESC SV 2012
Android Hacks, Variants, Tricks and Resources ESC SV 2012Opersys inc.
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowKarim Yaghmour
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowOpersys inc.
 
Embedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVEmbedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVOpersys inc.
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Opersys inc.
 
Embedded Android Workshop part I ESC SV 2012
Embedded Android Workshop part I ESC SV 2012Embedded Android Workshop part I ESC SV 2012
Embedded Android Workshop part I ESC SV 2012Opersys inc.
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowOpersys inc.
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with OreoOpersys inc.
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things InternalsOpersys inc.
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux HeritageOpersys inc.
 

Similar to Is Android the New Embedded Linux? at AnDevCon IV (14)

Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
 
Android Hacks, Variants, Tricks and Resources ESC SV 2012
Android Hacks, Variants, Tricks and Resources ESC SV 2012Android Hacks, Variants, Tricks and Resources ESC SV 2012
Android Hacks, Variants, Tricks and Resources ESC SV 2012
 
Headless Android
Headless AndroidHeadless Android
Headless Android
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with Marshmallow
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with Marshmallow
 
Embedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVEmbedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IV
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014
 
Embedded Android Workshop part I ESC SV 2012
Embedded Android Workshop part I ESC SV 2012Embedded Android Workshop part I ESC SV 2012
Embedded Android Workshop part I ESC SV 2012
 
Embedded Android Workshop with Marshmallow
Embedded Android Workshop with MarshmallowEmbedded Android Workshop with Marshmallow
Embedded Android Workshop with Marshmallow
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with Oreo
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
 

More from Opersys inc.

Android Automotive
Android AutomotiveAndroid Automotive
Android AutomotiveOpersys inc.
 
Android 10 Internals Update
Android 10 Internals UpdateAndroid 10 Internals Update
Android 10 Internals UpdateOpersys inc.
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security InternalsOpersys inc.
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALOpersys inc.
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Opersys inc.
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in AndroidOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in AndroidOpersys inc.
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave InternalsOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in AndroidOpersys inc.
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave InternalsOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in AndroidOpersys inc.
 
Brillo/Weave Internals
Brillo/Weave InternalsBrillo/Weave Internals
Brillo/Weave InternalsOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in AndroidOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 

More from Opersys inc. (19)

Android Automotive
Android AutomotiveAndroid Automotive
Android Automotive
 
Android 10 Internals Update
Android 10 Internals UpdateAndroid 10 Internals Update
Android 10 Internals Update
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security Internals
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HAL
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave Internals
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave Internals
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
Brillo/Weave Internals
Brillo/Weave InternalsBrillo/Weave Internals
Brillo/Weave Internals
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Project Ara
Project AraProject Ara
Project Ara
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

Is Android the New Embedded Linux? at AnDevCon IV

  • 1. 1 Is Android the new Embedded Linux? ADC IV Karim Yaghmour karim.yaghmour@opersys.com
  • 2. 2 These slides are made available to you under a Creative Commons Share- Alike 3.0 license. The full terms of this license are here: https://creativecommons.org/licenses/by-sa/3.0/ Attribution requirements and misc., PLEASE READ: ● This slide must remain as-is in this specific location (slide #2), everything else you are free to change; including the logo :-) ● Use of figures in other documents must feature the below “Originals at” URL immediately under that figure and the below copyright notice where appropriate. ● You are free to fill in the “Delivered and/or customized by” space on the right as you see fit. ● You are FORBIDEN from using the default “About” slide as-is or any of its contents. ● You are FORBIDEN from using any content provided by 3rd parties without the EXPLICIT consent from those parties. (C) Copyright 2012, Opersys inc. These slides created by: Karim Yaghmour Originals at: www.opersys.com/community/docs Delivered and/or customized by
  • 3. 3 About ● Author of: ● Introduced Linux Trace Toolkit in 1999 ● Originated Adeos and relayfs (kernel/relay.c) ● Training, Custom Dev, Consulting, ...
  • 4. 4 1. Embedded, before Linux ● pSOS ● VRTX / VxWorks ● QNX ● LynxOS ● MS-DOS ● GNU toolchain
  • 5. 5 2. Embedded Linux, a look back Projects Conferences: Linux kernel 1991... OLS 1999 1996 CELF ELC 2004 1998 ABS 2011 1999 RTAI 1999 Books 1999E. Anderson U-Boot 1999 Karim Yaghmour 2000E. Anderson 2001 Preemption patches 2005 2009Debian 2010LF / Intel Companies: Matchbox RTLinux V. Yodaiken / M. Barabanov uClinux / uCDimm J. Dionne / Motorola Dragonball BusyBox B. Perens ('96) / Debian, then E. Anderson P. Mantegazza Buildroot Craig Hollabaugh W. Denk uClibc Chris Hallinan I-pipe / Adeos P. Gerum (K. Yaghmour) S.-Thorsten Dietrich / I. Molnar / T. Gleixner eglibc Yocto Lineo Attempts at Linux mobile GUIs MontaVista Maemo / MeeGo TimeSys Qtopia
  • 6. 6 3. Android, whereth comest thou? ● 2002: ● Sergey Brin and Larry Page started using Sidekick smartphone ● Sidekick one of 1st smartphones integrating web, IM, mail, etc. ● Sidekick was made by Danger inc., co-founded by Andy Rubin (CEO) ● Brin/Page met Rubin at Stanford talk he gave on Sidekick’s development ● Google was default search engine on Sidekick ● 2004: ● Despite cult following, Sidekick wasn’t making $ ● Danger inc. board decided to replace Rubin ● Rubin left. Got seed $. Started Android inc. Started looking for VCs. ● Goal: Open mobile hand-set platform ● 2005 - July: ● Got bought by Google for undisclosed sum :) ● 2007 - November: ● Open Handset Alliance announced along with Android
  • 7. 7 4. What's Embedded Linux? ● A set of ad-hoc methods to package the Linux kernel with a (minimal) filesystem. ● FS content “to be determined” case-by-case ● APIs are specific to each device/build ● “Core software”: ● BusyBox ● U-Boot ● GNU Toolchain ● Your flavor of: ● glibc or uClibc or eglibc ● yocto or buildroot or eldk or ltib or ptxdist or ... ● No serious UX framework
  • 8. 8
  • 9. 9 5. What's Android? ● ... apart from its increasingly well known UX ... ● Fully-integrated Eclipse IDE ● SDK/NDK ● ADB ● Fastboot ● Published, well-known, and very rich APIs ● A large and growing developer community ● And still we can use the usual suspects: ● GNU toolchain, BusyBox, u- boot, glibc, ... An actual standardized dev. env. across all product lines
  • 10. 10
  • 11. 11 6. Licensing differences ● Kernel: ● GNU General Public License (a.k.a. GPL) ● AOSP: ● Mostly Apache License 2.0 (a.k.a. ASL) ● Having GPL-free user-space was a design goal ● A few GPL and LGPL parts: mainly BlueZ and DBUS ● Some key components in BSD: Bionic and Toolbox ● “external/” directory contains a mixed bag of licenses, incl. lots of GPL ● Android Robot: ● Very much like the Linux penguin ● Android name: ● As descriptor only: “for Android” ● Use for labelling device requires talking to Google
  • 12. 12 7. Why did Embedded Linux's rise? ● EETimes 2005 survey ... http://www.embedded.com/electronics-blogs/- include/4025539/Embedded-systems-survey-Operating- systems-up-for-grabs ● EETImes 2012 survey http://www.embedded.com/design/embedded/4372666/Shiftin g-sands--Trends-in-embedded-systems-design
  • 13. 13 8. Current Trends ● On the embedded side ● On the consumer side
  • 14. 14 8.1. Embedded trends ● Rise of cheap 32-bit CPUs ● Rise of inexpensive storage ● Rise of inexpensive eval boards ● BeagleBoards ● BeagleBone ● RaspberryPi ● For all practical purposes, this hardware is disposable ● Arduino / Maker / DIY trend ● ...
  • 15. 15 8.2. Consumer trends ● Rise of touch-based devices ● Race with Apple on features / price ● Mobile devices outselling PCs since 2010 ● Increasingly inexpensive low-end touch-based devices
  • 16. 16 Source: “From Altair to iPad: 35 years of personal computer market share”, Jeremy Reimer, Ars Technica, August 2012 http://arstechnica.com/business/2012/08/from-altair-to-ipad-35-years-of-personal-computer-market-share/ This material is (C) 2012, Ars Technica and is NOT CC-BY-SA.
  • 17. 17 Source: “From Altair to iPad: 35 years of personal computer market share”, Jeremy Reimer, Ars Technica, August 2012 http://arstechnica.com/business/2012/08/from-altair-to-ipad-35-years-of-personal-computer-market-share/ This material is (C) 2012, Ars Technica and is NOT CC-BY-SA.
  • 18. 18 Source: “From Altair to iPad: 35 years of personal computer market share”, Jeremy Reimer, Ars Technica, August 2012 http://arstechnica.com/business/2012/08/from-altair-to-ipad-35-years-of-personal-computer-market-share/ This material is (C) 2012, Ars Technica and is NOT CC-BY-SA.
  • 19. 19 9. Embedded Android? Why? ● Feature set ● API ● Developer community ● Built on Linux ● Examples: ● Consumer electronics ● Medical ● Defence ● Space
  • 20. 20 10. Android meets Embedded Linux ● Why did Android use Linux? “The Linux vs BSD decision was made before Google acquired Android. While starting with NetBSD's kernel was tempting, the Linux kernel wasn't that much larger (one of the concerns), had quite a lot of support from silicon vendors and OEMs, and a larger developer community (easier to find folks with Linux kernel expertise). The bright line between the kernel and userspace drawn by the statement at the top of the Linux COPYING file was certainly helpful in making this decision. Explaining that the kernel is GPLv2 and userspace is Apache2/BSD/MIT is something easily understood by OEMs, and most OEMs don't have a problem with the general idea that the kernel is not where you differentiate your products.” Brian Swetland, LWN, March 2011
  • 21. 21 10.1. Rationale “Android took GNU out the back door, shot him in the head, and ran away with the penguin” -- Surely from Tarantino's next flick ● A ton of mature user-space packages available ● Linux has been around for 20 years ● Linux's user-space has been developed in the open ● A ton of “Linux”-centric stacks have been developed through the years ● “Porting” to Android not always possible/desirable/realistic ● Android doesn't provide everything ● Touch-based, consumer-oriented ● Linux is very strong on backend/server side ● Android exhibits symptoms of “my way or the highway” design ● A whole GNU world ● glibc vs. Bionic
  • 22. 22
  • 23. 23
  • 24. 24 11. Headless Android + = “And then GNU came back for revenge ...” -- Tarantino's sequel
  • 25. 25 11.1. Why? ● Took me a long time to wrap my head around ● “Why don't you just use embedded Linux?” ● What's “Embedded Linux” anyway? ● NEW: Nexus Q
  • 26. 26 11.2. Possibilities ● No Java: ● TinyAndroid: $ BUILD_TINY_ANDROID=true make ­j4 ● AOSP w/ custom products .mk file ● The full-blown stack without: ● SurfaceFlinger ● WindowManager ● WallpaperService ● InputMethodManager
  • 27. 27 11.3. Tiny Android ● 3MB filesystem ● Minimal root fs ● init ● toolbox + shell ● adb ● bionic + utility libs ● No “system/framework/” ● No “system/app”
  • 28. 28 11.4. AOSP w/ custom product .mk ● Have a look at: ● build/target/product/*.mk ● Create your own device under “/device” and have fun ● Disable zygote at startup ● Remove all apks ● ...
  • 30. 30 11.5.1. How? ● Disable: ● SurfaceFlinger ● WindowManager ● WallpaperService ● InputMethodManager ● SystemUI ● Don't let SurfaceFlinger Client try to open binder to SurfaceFlinger ● Feed bogus values back from SurfaceFlinger Client ● Disable qemud (emulator artefact) ● Tweak internals by disabling key calls: ● In ActivityStack.java: – startHomeActivityLocked() – setAppStartingWindow() ● wm.detectSafeMode() ● wm.systemReady() ● wm.reclaimSuraceMemoryLocked()
  • 31. 31 11.5.2 What's in there anyway? ● Most everything Android gives you: ● No UX ● Fully-integrated Eclipse IDE ● SDK/NDK ● ADB ● Fastboot ● Published, well-known, and very rich APIs ● A large and growing developer community ● And still we can use the usual suspects: – GNU toolchain, BusyBox, u- boot, glibc, ... ● Caveat -- “Activity” no longer works ● You have: ● Services ● ContentProviders ● BroadcastReceivers
  • 32. 32 12. Where do we go from here? ● ... ● ro.config.headless Slide 41 - 42 of UBM “2012 Embedded Market Study”
  • 33. 33 Thank you ... karim.yaghmour@opersys.com And then he said ... “As your leader, I encourage you from time to time, and always in a respectful manner, to question my logic. If you're unconvinced that a particular plan of action I've decided is the wisest, tell me so, but allow me to convince you and I promise you right here and now, no subject will ever be taboo. Except, of course, the subject that was just under discussion. The price you pay for bringing up either my GNU or Linux heritage as a negative is... I collect your fucking head. Just like this fucker here. Now, if any of you sons of bitches got anything else to say, now's the fucking time!”