Android is increasingly being used in embedded systems due to its feature set, large developer community, and permissive licensing. However, there are still challenges to using Android for embedded projects, including limited documentation, inability to fully customize the software stack, long build times, and dependency on continued support from Google. Future trends may see Google and other companies continuing to adapt Android for more embedded and headless use cases.
Open Source Hardware and Libre SiliconDrew Fustini
My Open Source Hardware and Libre Silicon talk for Penguicon 2017.
Open Source Hardware (OSHW) designs are made publicly available so that anyone can study, modify, distribute, make or sell designs or hardware based on that design. This talk will explore the shared values with Open Source software and the specifics of publishing a hardware project under an Open Source license.
It will include examples of Linux running on OSHW with projects like BeagleBone, CHIP, MinnowBoard and more. The role of the Open Source Hardware Association and annual Open Hardware Summit will also be discussed, along with important OSHW projects for scientific researchers.
There are exciting new developments within the last year for OSHW at the chip level. Projects like lowRISC, J-Core, OnChip and SiFive are working to produce true Open Source silicon processors. The FOSSi Foundation and LibreCores are helping to organize and promote this exciting new ecosystem.
Open Source Hardware and Libre SiliconDrew Fustini
My Open Source Hardware and Libre Silicon talk for Penguicon 2017.
Open Source Hardware (OSHW) designs are made publicly available so that anyone can study, modify, distribute, make or sell designs or hardware based on that design. This talk will explore the shared values with Open Source software and the specifics of publishing a hardware project under an Open Source license.
It will include examples of Linux running on OSHW with projects like BeagleBone, CHIP, MinnowBoard and more. The role of the Open Source Hardware Association and annual Open Hardware Summit will also be discussed, along with important OSHW projects for scientific researchers.
There are exciting new developments within the last year for OSHW at the chip level. Projects like lowRISC, J-Core, OnChip and SiFive are working to produce true Open Source silicon processors. The FOSSi Foundation and LibreCores are helping to organize and promote this exciting new ecosystem.
August 7th, I attended a meetup of GDG Beijing, and give a presentation:Android Gradle Build System-Overview.
Mainly cover build system background knowledge, source code, interesting part of code, writing a plugin.
SMC takes a state machine stored in a .sm file and generates a State pattern in fourteen programming languages (C, C++, C#, [incr Tcl], Groovy, Java, Lua, Objective-C, Perl, PHP, Python, Ruby, Scala, VB.net). Includes: default transitions, transition args, transition guards, push/pop transitions and Entry/Exit actions.
See all details on http://smc.sourceforge.net/.
Buildroot (www.buildroot.net) is a tool for building small embedded linux system.
For example : Kernel + Busybox + Perl + Dancer2 ~= 60 MB
Buildroot could create also Qemu Virtual Machine image with the same footprint.
Demo with a Olimex iMX233 board (45€).
Learn how to develop, free and pro versions of your applications. How to perform debug only configurations and how to use Build Variants in your day to day Android Development.
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...peknap
Reducing memory usage is well covered in the history of this conference, yet new tricks still do exist. When optimizing memory footprint for an home gateway device, the author found some unexpected places where small changes can save valuable amount of DRAM or Flash space. This talk will visit different areas including - Kernel: fragmentation threshold, page frame reclamation task and atomic memory. Application level: Memory inefficient shared libraries due to ABI compliance and dynamic loading. Toolchain: Tuning malloc allocator parameters and compiler options. System level: General kernel might be more memory efficient than MMU-less uClinux, and preventing lock up when the system is on the brink of running out of memory.
Getting started with setting up embedded platform requires audience to understand some of the key aspects of Linux. Starting with basics of Linux this presentation talks about basic commands, vi editor, shell scripting and advanced commands
Coming up with optimized C program for Embedded Systems consist of multiple challenges. This presentation talks about various methods about optimizing C programs in Embedded environment. It also has some interesting tips, Do's and Dont's that will offer practical help for an Embedded programmer.
August 7th, I attended a meetup of GDG Beijing, and give a presentation:Android Gradle Build System-Overview.
Mainly cover build system background knowledge, source code, interesting part of code, writing a plugin.
SMC takes a state machine stored in a .sm file and generates a State pattern in fourteen programming languages (C, C++, C#, [incr Tcl], Groovy, Java, Lua, Objective-C, Perl, PHP, Python, Ruby, Scala, VB.net). Includes: default transitions, transition args, transition guards, push/pop transitions and Entry/Exit actions.
See all details on http://smc.sourceforge.net/.
Buildroot (www.buildroot.net) is a tool for building small embedded linux system.
For example : Kernel + Busybox + Perl + Dancer2 ~= 60 MB
Buildroot could create also Qemu Virtual Machine image with the same footprint.
Demo with a Olimex iMX233 board (45€).
Learn how to develop, free and pro versions of your applications. How to perform debug only configurations and how to use Build Variants in your day to day Android Development.
Controlling Memory Footprint at All Layers: Linux Kernel, Applications, Libra...peknap
Reducing memory usage is well covered in the history of this conference, yet new tricks still do exist. When optimizing memory footprint for an home gateway device, the author found some unexpected places where small changes can save valuable amount of DRAM or Flash space. This talk will visit different areas including - Kernel: fragmentation threshold, page frame reclamation task and atomic memory. Application level: Memory inefficient shared libraries due to ABI compliance and dynamic loading. Toolchain: Tuning malloc allocator parameters and compiler options. System level: General kernel might be more memory efficient than MMU-less uClinux, and preventing lock up when the system is on the brink of running out of memory.
Getting started with setting up embedded platform requires audience to understand some of the key aspects of Linux. Starting with basics of Linux this presentation talks about basic commands, vi editor, shell scripting and advanced commands
Coming up with optimized C program for Embedded Systems consist of multiple challenges. This presentation talks about various methods about optimizing C programs in Embedded environment. It also has some interesting tips, Do's and Dont's that will offer practical help for an Embedded programmer.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Is Android the New Embedded Embedded Linux? at Embedded World 2013
1. Is Android the
new Embedded Linux?
Embedded World Conference 2013
Karim Yaghmour
karim.yaghmour@opersys.com
1
2. These slides are made available to you under a Creative Commons Share- Delivered and/or customized by
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 2013, Opersys inc.
These slides created by: Karim Yaghmour
Originals at: www.opersys.com/community/docs
2
3. About
● Author of:
● Introduced Linux Trace Toolkit in 1999
● Originated Adeos and relayfs (kernel/relay.c)
● Training, Custom Dev, Consulting, ...
3
4. 1. Why are we asking this question?
● Android is based on Linux
● Android is “embedded”
● Android is extremely popular
● Android enjoys good support from SoC vendors
Mostly - The trends are there
4
6. 1.2. Current 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
6
7. 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.
7
8. 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.
8
9. 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.
9
10. 1.3. Current 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
● UBM 2012 Embedded Market Study
10
11. 2. Embedded Linux, a look back
Projects Conferences:
Linux kernel 1991 ... OLS 1999
RTLinux 1996 V. Yodaiken / M. Barabanov CELF ELC 2004
uClinux / uCDimm 1998 J. Dionne / Motorola Dragonball ABS 2011
BusyBox 1999 B. Perens ('96) / Debian, then E. Anderson
RTAI 1999 P. Mantegazza Books
Buildroot 1999 E. Anderson Craig Hollabaugh
U-Boot 1999 W. Denk Karim Yaghmour
uClibc 2000 E. Anderson Chris Hallinan
I-pipe / Adeos 2001 P. Gerum (K. Yaghmour)
Preemption patches 2005 S.-Thorsten Dietrich / I. Molnar / T. Gleixner
eglibc 2009 Debian
Yocto 2010 LF / Intel Companies:
Lineo
Attempts at Linux mobile GUIs MontaVista
Maemo / MeeGo TimeSys
Matchbox
Qtopia
11
12. 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
12
14. 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
14
17. 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
17
19. 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
19
20. 7. 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
20
21. 8. Embedded Android? Why?
● Feature set
● User interface
● API
● Developer community
● App ecosystem
● Built on Linux
● Very strong SoC vendor support
● Permissive licensing
● Examples:
● Consumer electronics
● Medical
●
Defence
● Space
21
22. 9. Android's Challenges
● Documentation / Information
● Stack Limitations
● Stack Customization
● Boot time
● Legacy Integration
● Development Hardware
● AOSP tree
● Build Times
● Headless Use
● Dependency on Google
22
23. 9.1. Documentation / Information
● Official doc for app dev is great
● Official doc for platform dev is practically non-existent
● A few official forums:
● android-building
● android-platform
● android-porting
● Conference talks / presentations
● Scattered documentation all over the web
● Upcoming book (disclaimer applies):
23
24. 9.2. Stack Limitations
● Key functionality not supported by default:
● Ethernet
● AM/FM radio
● Real-time
● Supported functionality doesn't expose everything:
● BlueZ
● USB
● wpa_supplicant
● Bionic isn't a full glibc replacement:
● No SystemV IPC
● No locales
● etc.
● Stack is very deep and can be difficult to modify
24
25. 9.3. Stack Customization
● Lots of default packages
● Modularity wasn't really part of the design
● No “make menuconfig”
● Can't easily select/change:
● Which packages to include
● Which system services are running
● Packages' features
● Ex:
● Can relatively easily replace default home screen
● Modifying status bar requires digging in code
25
26. 9.4. Boot time
● Very lengthy boot process
● Bootloader
● Kernel
● Init
● Zygote
● System services
● DEX optimization
● Key apps
● Unlikely to be able to speed this through trimming ...
● Try:
● Suspend to flash
● Checkpointing
26
27. 9.5. Legacy Integration
● What if I ... ?:
● have been using my custom rootfs forever
● really need glibc
● have a huge stack based on “legacy Linux”
● don't want to deal with AOSP's build system
● want BusyBox
● want to unify with a std Linux desktop
● need things the AOSP doesn't provide
● have a ton of Linux drivers and want those to be used by Android
● ...
● Know this: filesystem integration is trivial:
● Change build system to copy your custom rootfs
● Change init scripts to start you own daemons
● Use sockets to communicate
● Know this too: std Linux desktop integration is NOT
27
30. 9.6. Development Hardware
● Can I use a standard phone?
● Not really
● Even if you could – some things can only be done in the platform
● Which board is best to evaluate Android?
● BeagleBone / BeagleBoard
● PandaBoard
● OrigenBoard
● iMX
● DragonBoard
● AM335x Start Kit
● Still:
● Nothing that has a phone/tablet form-factor + is entirely open
30
31. 9.7. AOSP tree
● Which tree?
● Google's
● Linaro's
● TI's
● Freescale's
● Qualcomm's
● etc.
● ... which kernel ... ?
31
32. 9.8. Build Times
● Horrible
● On quad-core i7 w/ 8GB RAM:
● GB = 20min
● ICS = 55min
● JB = 75min
● Even Google's own guys are at around 30min
for JB.
● This is a big, unresolved pain
32
33. 9.9. Headless Use
+ =
“And then GNU came back for revenge ...” -- Tarantino's sequel
33
34. 9.9.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
34
38. 9.9.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
● ...
38
39. 9.9.5. Full stack
● 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()
39
41. 9.10. Dependency on Google
● Google is the master of Android
● Google's business prerogatives may not be yours
● Most new features come from Google
● Upstreaming is tough/lenghthy
● What if Google stops developing Android?
● Still, and this is important: they like to see Android
used in embedded systems.
41
42. 10. Where do we go from here?
● Trends don't seem to be slowing down
● Interesting:
● Nexus Q - headless from Google
– i.e. Google moving to “true” embedded?
● Ubuntu Tablet - SurfaceFlinger, not X nor Wayland
– i.e. Std Linux moving to use Android parts?
● We're very much in uncharted waters
42