My session at AnDevCon, May 2014, Boston, MA
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my back-end?" to "Which cloud configuration should be used for my back-end?" Bringing up a cloud server has become an obvious choice for any Linux or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server.
In this class, we will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
LEVEL: Intermediate
AUDIENCE: Developer Essentials
For Training/Consulting requests: info@thepscg.com
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Ron Munitz
My session in the Mobile World Congress WIPJam, Barcelona 2014.
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my backend?" to "Which cloud configuration should be used for my backend?" Bringing up a cloud server has become an obvious choice for any Linux- or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server. This session will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Ron Munitz
My session in AnDevcon, November 2011, Burlingame, CA.
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my back-end?" to "Which cloud configuration should be used for my back-end?" Bringing up a cloud server has become an obvious choice for any Linux or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server.
In this class, we will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
LEVEL: Intermediate
AUDIENCE: Developer Essentials
For Training/Consulting requests: info@thepscg.com
This document describes how to configure a router running OpenWrt. It covers getting started, installing and initial configuration. It also provides details on configuring the network and wireless settings in OpenWrt, including IPv4, IPv6 and switch configuration. Advanced configuration topics like hotplug, init scripts and network scripts are also outlined.
OpenWRT development solutions - Free wireless router product developmentPaul Dao
HTGSoft develops software applications and chooses OpenWRT as its operating system. OpenWRT is based on Linux and allows for high levels of customization through its package management system. It can be used on low-cost hardware to maximize potential and has features like live updates and over 3,400 packages. HTGSoft builds customized products for clients using OpenWRT for its flexibility, customizability, and ability to run on inexpensive devices.
This document discusses router hacking using open source software like OpenWRT. It provides an overview of OpenWRT, describing its supported hardware platforms and communities. It discusses building OpenWRT packages and images, and supported router platforms such as the Linksys WRT54G, ASUS WL-700gE, Meraki Mini, and LaFonera which are readily available in Taiwan. It warns of risks when modifying router firmware.
This document provides an overview of containers and the key technologies that enable them. It discusses namespaces, which isolate resources like processes, networking, and filesystems. It also covers control groups (cgroups), which manage resources like CPU and memory for processes. The document demonstrates namespaces and cgroups. It further explains union filesystems like AUFS and overlayfs that combine directories to provide container filesystems. It compares Linux container technologies like LXC and Docker. In summary, the document gives a technical introduction to namespaces, cgroups, filesystem technologies, and Linux containers.
Building Android for the Cloud: Android as a Server (Mobile World Congress 2014)Ron Munitz
My session in the Mobile World Congress WIPJam, Barcelona 2014.
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my backend?" to "Which cloud configuration should be used for my backend?" Bringing up a cloud server has become an obvious choice for any Linux- or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server. This session will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Ron Munitz
My session in AnDevcon, November 2011, Burlingame, CA.
In the cloud era, most software projects have shifted from asking "What hardware architecture should be chosen for my back-end?" to "Which cloud configuration should be used for my back-end?" Bringing up a cloud server has become an obvious choice for any Linux or Windows-based deployment. As Android emerges as the new Embedded Linux for a growing number of industries, it only makes sense to consider its cloud application as a server.
In this class, we will discuss why and how Android can be brought on the cloud system, and on any cloud infrastructure, using AWS (Amazon Web Services) as an example.
LEVEL: Intermediate
AUDIENCE: Developer Essentials
For Training/Consulting requests: info@thepscg.com
This document describes how to configure a router running OpenWrt. It covers getting started, installing and initial configuration. It also provides details on configuring the network and wireless settings in OpenWrt, including IPv4, IPv6 and switch configuration. Advanced configuration topics like hotplug, init scripts and network scripts are also outlined.
OpenWRT development solutions - Free wireless router product developmentPaul Dao
HTGSoft develops software applications and chooses OpenWRT as its operating system. OpenWRT is based on Linux and allows for high levels of customization through its package management system. It can be used on low-cost hardware to maximize potential and has features like live updates and over 3,400 packages. HTGSoft builds customized products for clients using OpenWRT for its flexibility, customizability, and ability to run on inexpensive devices.
This document discusses router hacking using open source software like OpenWRT. It provides an overview of OpenWRT, describing its supported hardware platforms and communities. It discusses building OpenWRT packages and images, and supported router platforms such as the Linksys WRT54G, ASUS WL-700gE, Meraki Mini, and LaFonera which are readily available in Taiwan. It warns of risks when modifying router firmware.
This document provides an overview of containers and the key technologies that enable them. It discusses namespaces, which isolate resources like processes, networking, and filesystems. It also covers control groups (cgroups), which manage resources like CPU and memory for processes. The document demonstrates namespaces and cgroups. It further explains union filesystems like AUFS and overlayfs that combine directories to provide container filesystems. It compares Linux container technologies like LXC and Docker. In summary, the document gives a technical introduction to namespaces, cgroups, filesystem technologies, and Linux containers.
Kernel Recipes 2013 - Kernel for your deviceAnne Nicolas
Any industrial project based on Linux involves Longterm management of a Linux kernel and therefore a number of questions to ask about the choices to be made. BSP, Linux distribution, kernel.org? Which version?
These questions will be reviewed and best practices to facilitate this maintenance.
The document provides information on how to build Android for various ARM chip boards including Allwinner A31, Rockchip RK3188, MediaTek MT6589, Freescale i.MX6Q, and TI OMAP5432. It lists the chips, development boards, and Android support for each. It then provides detailed setup instructions for building Android on the Rockchip RK3188 and MediaTek MT6589 boards, including getting the kernel source, building images, and writing to the devices. Setup for the Freescale board involves downloading official source and patching to the Android code.
CUDA by Example : Getting Started : NotesSubhajit Sahu
Highlighted notes of:
Chapter 2: Getting Started
Book:
CUDA by Example
An Introduction to General Purpose GPU Computing
Authors:
Jason Sanders
Edward Kandrot
“This book is required reading for anyone working with accelerator-based computing systems.”
–From the Foreword by Jack Dongarra, University of Tennessee and Oak Ridge National Laboratory
CUDA is a computing architecture designed to facilitate the development of parallel programs. In conjunction with a comprehensive software platform, the CUDA Architecture enables programmers to draw on the immense power of graphics processing units (GPUs) when building high-performance applications. GPUs, of course, have long been available for demanding graphics and game applications. CUDA now brings this valuable resource to programmers working on applications in other domains, including science, engineering, and finance. No knowledge of graphics programming is required–just the ability to program in a modestly extended version of C.
CUDA by Example, written by two senior members of the CUDA software platform team, shows programmers how to employ this new technology. The authors introduce each area of CUDA development through working examples. After a concise introduction to the CUDA platform and architecture, as well as a quick-start guide to CUDA C, the book details the techniques and trade-offs associated with each key CUDA feature. You’ll discover when to use each CUDA C extension and how to write CUDA software that delivers truly outstanding performance.
Table of Contents
Why CUDA? Why Now?
Getting Started
Introduction to CUDA C
Parallel Programming in CUDA C
Thread Cooperation
Constant Memory and Events
Texture Memory
Graphics Interoperability
Atomics
Streams
CUDA C on Multiple GPUs
The Final Countdown
All the CUDA software tools you’ll need are freely available for download from NVIDIA.
Jason Sanders is a senior software engineer in NVIDIA’s CUDA Platform Group, helped develop early releases of CUDA system software and contributed to the OpenCL 1.0 Specification, an industry standard for heterogeneous computing. He has held positions at ATI Technologies, Apple, and Novell.
Edward Kandrot is a senior software engineer on NVIDIA’s CUDA Algorithms team, has more than twenty years of industry experience optimizing code performance for firms including Adobe, Microsoft, Google, and Autodesk.
A million ways to provision embedded linux devicesMender.io
Drew Moseley presented on the many ways to provision embedded Linux devices. There are over a million ways due to variations in boards, manufacturers, bootloaders, storage, and more. He discussed common provisioning models including SD cards, eMMC, SPI flash, raw NAND, and Android fastboot. Tools like Yocto, U-Boot, and Mender can help manage the process, while considerations like manufacturing, development workflows, and product development also impact provisioning.
Kernel Recipes 2015 - Hardened kernels for everyoneAnne Nicolas
Grsecurity is a Linux kernel hardening patch. The PaX patchset it includes pioneered some security features like ASLR which where later included in basically every operating system. But the patch itself is still standalone (not included mainline), so most Linux users don’t benefit its security features.
A lot of people only use binary distribution kernels, and this talk will present some challenges found when trying to provide a distribution kernel with Grsecurity included.
I’ll first quickly present the grsecurity patch, then the attempt to include it in the Debian distribution kernel as a featureset. Finally there will be some pointers on how to provide hardened kernels easily for as many people as possible.
Yves-Alexis Perez, ANSSI
Android porting for dummies @droidconin 2011pundiramit
This document provides an overview of porting Android to new hardware:
1. It describes the Android software stack and the structure of the Android Open Source Project code.
2. It discusses requirements for building and accessing the AOSP code, including using the 'repo' tool to download the source.
3. It summarizes the AOSP code structure and highlights key components like the Linux kernel, HAL, and build system.
4. It provides an overview of the Android boot process and offers tips for debugging, including increasing log levels and using tools like logcat, adb, and dumpsys.
Enabling TPM 2.0 on coreboot based devicesPiotr Król
This talk was presented during European coreboot Conference 2017 in Bochum. In this talk we walk through procedures required for enabling TPM 2.0 using LPC interface. We implemented that support as part of our ongoing maintainances of PC Engines apu series (AMD G-series) platform.
Video is available here: https://youtu.be/Yjb9n5p3giI
GPU profiling for computer vision applicationsMai Nishimura
NVIDIA provides several tools for profiling GPU performance of computer vision applications, including nvprof, nvvp, and the next-generation Nsight Compute and Nsight Systems. Nvprof allows command-line profiling with different modes, while nvvp provides a GUI interface for visualizing profiling results. These tools help analyze kernel performance, identify bottlenecks like compute or memory limitations, and optimize applications. Tensorflow also includes a timeline tool for profiling graph execution.
LAS16-403: GDB Linux Kernel Awareness
Speakers: Peter Griffin
Date: September 29, 2016
★ Session Description ★
The presentation will look at the ways in which GDB can be enhanced when debugging the Linux kernel to give it better knowledge of the underlying operating system to enable a better debugging experience. It will also provide a status of the current work being undertaken in this area by the ST landing team, a demo and potential future work.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-403
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-403/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
The document discusses adding support for TPM 2.0 chips in Qubes OS. Currently, Qubes only supports TPM 1.2 chips and cannot detect TPM 2.0 chips. The Linux kernels used in Qubes (4.14 and 4.19) are missing some TPM 2.0 configuration options. Testing on real hardware with a TPM 2.0 chip showed the chip is detected but Qubes reports "Device not found". Integrating TPM 2.0 support would allow using newer TPM standard chips but may require changes to tools like Anti-Evil Maid that currently only support TPM 1.2.
This document provides instructions for performing a "Reset Glitch Hack" on an Xbox 360 console using specialized hardware and software. It involves dumping the console's NAND memory, flashing a custom image to enable running unsigned code, programming the CPLD chip, and wiring up a device called the Matrix Glitcher. Once completed, the modified console will boot an exploit called XeLL within 2 minutes, allowing the user to enjoy unsigned code.
MPC-HC is a free and open source audio and video player for Windows that is based on the Guliverkli project. It has many features including support for subtitles, TV playback/recording, pixel shaders, and color management. However, the main developer recently left the project and new developers are needed to contribute code, graphics, website maintenance, or other assistance to help keep the open source project going.
Chicago Docker Meetup Presentation - MediaflyMediafly
This document discusses how Bryan Murphy uses Docker at his company Mediafly. It begins by introducing Bryan and his background. It then describes what Mediafly does, including content management systems, secure content delivery, document and video processing, and customizable user interfaces. The document highlights aspects of Mediafly that make it interesting, such as being multi-device, multi-tenant, service oriented, and distributed. It provides examples of technologies used at Mediafly and some key metrics. The document then discusses why Docker is used at Mediafly, covering benefits like being developer friendly, enabling faster iteration and testing, managing dependencies, sharing environments, standardization, isolation, and infrastructure freedom.
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey GordeychikCODE BLUE
The boom of AI brought to the market a set of impressive solutions both on the hardware and software side. On the other hand, massive implementation of AI in various areas brings about problems, and security is one of the greatest concerns.
In this talk we will present results of hands-on vulnerability research of different components of AI infrastructure including NVIDIA DGX GPU servers, ML frameworks such as Pytorch, Keras and Tensorflow, data processing pipelines and specific applications, including Medical Imaging and face recognition powered CCTV. Updated Internet Census toolkit based on the Grinder framework will be introduced.
This document discusses running the Android operating system on Ubuntu Linux. It provides instructions for setting up an ARM version of Ubuntu on a development board, then installing the Android files and running Android processes within the Ubuntu environment using chroot. Key steps include building an ARM root filesystem with rootstock, patching the Linux kernel to support Android, and running the init process to start core Android services while other Ubuntu processes continue running. The document demonstrates that Android can successfully run on an existing Linux system with minimal modifications.
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Opersys inc.
1) The document provides an overview of using and customizing the Android framework, covering topics like kickstarting the framework, utilities and commands, system services internals, and creating custom services.
2) It describes the core building blocks of the framework, like services, Dalvik, and the boot process. It also covers utilities like am, pm, and dumpsys.
3) The document discusses native daemons like servicemanager and installd. It explains how to observe the system server and interact with services programmatically.
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
This document discusses the current state and future plans for Linux kernel documentation. It notes that documentation has transitioned from DocBook to Sphinx/RST, improving formatting and integration. There are now over 3,000 documentation files and many kerneldoc comments. Future plans include converting remaining text files, updating ancient documents, improving organization by topic, integrating documentation better, and enhancing the documentation toolchain. The goal is to improve documentation to better help kernel developers, users and the community.
This document discusses porting Android to new hardware. It covers components that need to be ported like the bootloader, Linux kernel, and hardware libraries. It also discusses getting the Android Open Source Project code, developing device drivers, customizing the user-space, and building the Android system. The goal is to provide guidance on porting each part of the Android software stack to new CPU architectures and hardware boards.
El documento trata sobre las fisuras en elementos de concreto armado. Explica que las fisuras siempre han sido una señal de problemas estructurales y pueden conducir a la corrosión del acero y reducir la vida útil de la estructura. También cubre el cálculo de fisuras y deflexiones bajo cargas de servicio usando la sección transformada agrietada o no, y que los esfuerzos en el concreto no deben exceder el 0.5 f'c.
Este documento presenta información sobre la vocación profesional. Define la vocación como una inclinación natural hacia ciertas actividades que se manifiesta desde la niñez. Explica que al elegir una carrera u oficio se debe considerar no solo lo que a la persona le gusta, sino también las oportunidades laborales y la posibilidad de participar en la sociedad. Incluye un caso clínico de un hombre que cursó tres carreras universitarias pero nunca trabajó, creyendo que su madre debía mantenerlo.
Kernel Recipes 2013 - Kernel for your deviceAnne Nicolas
Any industrial project based on Linux involves Longterm management of a Linux kernel and therefore a number of questions to ask about the choices to be made. BSP, Linux distribution, kernel.org? Which version?
These questions will be reviewed and best practices to facilitate this maintenance.
The document provides information on how to build Android for various ARM chip boards including Allwinner A31, Rockchip RK3188, MediaTek MT6589, Freescale i.MX6Q, and TI OMAP5432. It lists the chips, development boards, and Android support for each. It then provides detailed setup instructions for building Android on the Rockchip RK3188 and MediaTek MT6589 boards, including getting the kernel source, building images, and writing to the devices. Setup for the Freescale board involves downloading official source and patching to the Android code.
CUDA by Example : Getting Started : NotesSubhajit Sahu
Highlighted notes of:
Chapter 2: Getting Started
Book:
CUDA by Example
An Introduction to General Purpose GPU Computing
Authors:
Jason Sanders
Edward Kandrot
“This book is required reading for anyone working with accelerator-based computing systems.”
–From the Foreword by Jack Dongarra, University of Tennessee and Oak Ridge National Laboratory
CUDA is a computing architecture designed to facilitate the development of parallel programs. In conjunction with a comprehensive software platform, the CUDA Architecture enables programmers to draw on the immense power of graphics processing units (GPUs) when building high-performance applications. GPUs, of course, have long been available for demanding graphics and game applications. CUDA now brings this valuable resource to programmers working on applications in other domains, including science, engineering, and finance. No knowledge of graphics programming is required–just the ability to program in a modestly extended version of C.
CUDA by Example, written by two senior members of the CUDA software platform team, shows programmers how to employ this new technology. The authors introduce each area of CUDA development through working examples. After a concise introduction to the CUDA platform and architecture, as well as a quick-start guide to CUDA C, the book details the techniques and trade-offs associated with each key CUDA feature. You’ll discover when to use each CUDA C extension and how to write CUDA software that delivers truly outstanding performance.
Table of Contents
Why CUDA? Why Now?
Getting Started
Introduction to CUDA C
Parallel Programming in CUDA C
Thread Cooperation
Constant Memory and Events
Texture Memory
Graphics Interoperability
Atomics
Streams
CUDA C on Multiple GPUs
The Final Countdown
All the CUDA software tools you’ll need are freely available for download from NVIDIA.
Jason Sanders is a senior software engineer in NVIDIA’s CUDA Platform Group, helped develop early releases of CUDA system software and contributed to the OpenCL 1.0 Specification, an industry standard for heterogeneous computing. He has held positions at ATI Technologies, Apple, and Novell.
Edward Kandrot is a senior software engineer on NVIDIA’s CUDA Algorithms team, has more than twenty years of industry experience optimizing code performance for firms including Adobe, Microsoft, Google, and Autodesk.
A million ways to provision embedded linux devicesMender.io
Drew Moseley presented on the many ways to provision embedded Linux devices. There are over a million ways due to variations in boards, manufacturers, bootloaders, storage, and more. He discussed common provisioning models including SD cards, eMMC, SPI flash, raw NAND, and Android fastboot. Tools like Yocto, U-Boot, and Mender can help manage the process, while considerations like manufacturing, development workflows, and product development also impact provisioning.
Kernel Recipes 2015 - Hardened kernels for everyoneAnne Nicolas
Grsecurity is a Linux kernel hardening patch. The PaX patchset it includes pioneered some security features like ASLR which where later included in basically every operating system. But the patch itself is still standalone (not included mainline), so most Linux users don’t benefit its security features.
A lot of people only use binary distribution kernels, and this talk will present some challenges found when trying to provide a distribution kernel with Grsecurity included.
I’ll first quickly present the grsecurity patch, then the attempt to include it in the Debian distribution kernel as a featureset. Finally there will be some pointers on how to provide hardened kernels easily for as many people as possible.
Yves-Alexis Perez, ANSSI
Android porting for dummies @droidconin 2011pundiramit
This document provides an overview of porting Android to new hardware:
1. It describes the Android software stack and the structure of the Android Open Source Project code.
2. It discusses requirements for building and accessing the AOSP code, including using the 'repo' tool to download the source.
3. It summarizes the AOSP code structure and highlights key components like the Linux kernel, HAL, and build system.
4. It provides an overview of the Android boot process and offers tips for debugging, including increasing log levels and using tools like logcat, adb, and dumpsys.
Enabling TPM 2.0 on coreboot based devicesPiotr Król
This talk was presented during European coreboot Conference 2017 in Bochum. In this talk we walk through procedures required for enabling TPM 2.0 using LPC interface. We implemented that support as part of our ongoing maintainances of PC Engines apu series (AMD G-series) platform.
Video is available here: https://youtu.be/Yjb9n5p3giI
GPU profiling for computer vision applicationsMai Nishimura
NVIDIA provides several tools for profiling GPU performance of computer vision applications, including nvprof, nvvp, and the next-generation Nsight Compute and Nsight Systems. Nvprof allows command-line profiling with different modes, while nvvp provides a GUI interface for visualizing profiling results. These tools help analyze kernel performance, identify bottlenecks like compute or memory limitations, and optimize applications. Tensorflow also includes a timeline tool for profiling graph execution.
LAS16-403: GDB Linux Kernel Awareness
Speakers: Peter Griffin
Date: September 29, 2016
★ Session Description ★
The presentation will look at the ways in which GDB can be enhanced when debugging the Linux kernel to give it better knowledge of the underlying operating system to enable a better debugging experience. It will also provide a status of the current work being undertaken in this area by the ST landing team, a demo and potential future work.
★ Resources ★
Etherpad: pad.linaro.org/p/las16-403
Presentations & Videos: http://connect.linaro.org/resource/las16/las16-403/
★ Event Details ★
Linaro Connect Las Vegas 2016 – #LAS16
September 26-30, 2016
http://www.linaro.org
http://connect.linaro.org
The document discusses adding support for TPM 2.0 chips in Qubes OS. Currently, Qubes only supports TPM 1.2 chips and cannot detect TPM 2.0 chips. The Linux kernels used in Qubes (4.14 and 4.19) are missing some TPM 2.0 configuration options. Testing on real hardware with a TPM 2.0 chip showed the chip is detected but Qubes reports "Device not found". Integrating TPM 2.0 support would allow using newer TPM standard chips but may require changes to tools like Anti-Evil Maid that currently only support TPM 1.2.
This document provides instructions for performing a "Reset Glitch Hack" on an Xbox 360 console using specialized hardware and software. It involves dumping the console's NAND memory, flashing a custom image to enable running unsigned code, programming the CPLD chip, and wiring up a device called the Matrix Glitcher. Once completed, the modified console will boot an exploit called XeLL within 2 minutes, allowing the user to enjoy unsigned code.
MPC-HC is a free and open source audio and video player for Windows that is based on the Guliverkli project. It has many features including support for subtitles, TV playback/recording, pixel shaders, and color management. However, the main developer recently left the project and new developers are needed to contribute code, graphics, website maintenance, or other assistance to help keep the open source project going.
Chicago Docker Meetup Presentation - MediaflyMediafly
This document discusses how Bryan Murphy uses Docker at his company Mediafly. It begins by introducing Bryan and his background. It then describes what Mediafly does, including content management systems, secure content delivery, document and video processing, and customizable user interfaces. The document highlights aspects of Mediafly that make it interesting, such as being multi-device, multi-tenant, service oriented, and distributed. It provides examples of technologies used at Mediafly and some key metrics. The document then discusses why Docker is used at Mediafly, covering benefits like being developer friendly, enabling faster iteration and testing, managing dependencies, sharing environments, standardization, isolation, and infrastructure freedom.
[CB20] Vulnerabilities of Machine Learning Infrastructure by Sergey GordeychikCODE BLUE
The boom of AI brought to the market a set of impressive solutions both on the hardware and software side. On the other hand, massive implementation of AI in various areas brings about problems, and security is one of the greatest concerns.
In this talk we will present results of hands-on vulnerability research of different components of AI infrastructure including NVIDIA DGX GPU servers, ML frameworks such as Pytorch, Keras and Tensorflow, data processing pipelines and specific applications, including Medical Imaging and face recognition powered CCTV. Updated Internet Census toolkit based on the Grinder framework will be introduced.
This document discusses running the Android operating system on Ubuntu Linux. It provides instructions for setting up an ARM version of Ubuntu on a development board, then installing the Android files and running Android processes within the Ubuntu environment using chroot. Key steps include building an ARM root filesystem with rootstock, patching the Linux kernel to support Android, and running the init process to start core Android services while other Ubuntu processes continue running. The document demonstrates that Android can successfully run on an existing Linux system with minimal modifications.
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Opersys inc.
1) The document provides an overview of using and customizing the Android framework, covering topics like kickstarting the framework, utilities and commands, system services internals, and creating custom services.
2) It describes the core building blocks of the framework, like services, Dalvik, and the boot process. It also covers utilities like am, pm, and dumpsys.
3) The document discusses native daemons like servicemanager and installd. It explains how to observe the system server and interact with services programmatically.
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
This document discusses the current state and future plans for Linux kernel documentation. It notes that documentation has transitioned from DocBook to Sphinx/RST, improving formatting and integration. There are now over 3,000 documentation files and many kerneldoc comments. Future plans include converting remaining text files, updating ancient documents, improving organization by topic, integrating documentation better, and enhancing the documentation toolchain. The goal is to improve documentation to better help kernel developers, users and the community.
This document discusses porting Android to new hardware. It covers components that need to be ported like the bootloader, Linux kernel, and hardware libraries. It also discusses getting the Android Open Source Project code, developing device drivers, customizing the user-space, and building the Android system. The goal is to provide guidance on porting each part of the Android software stack to new CPU architectures and hardware boards.
El documento trata sobre las fisuras en elementos de concreto armado. Explica que las fisuras siempre han sido una señal de problemas estructurales y pueden conducir a la corrosión del acero y reducir la vida útil de la estructura. También cubre el cálculo de fisuras y deflexiones bajo cargas de servicio usando la sección transformada agrietada o no, y que los esfuerzos en el concreto no deben exceder el 0.5 f'c.
Este documento presenta información sobre la vocación profesional. Define la vocación como una inclinación natural hacia ciertas actividades que se manifiesta desde la niñez. Explica que al elegir una carrera u oficio se debe considerar no solo lo que a la persona le gusta, sino también las oportunidades laborales y la posibilidad de participar en la sociedad. Incluye un caso clínico de un hombre que cursó tres carreras universitarias pero nunca trabajó, creyendo que su madre debía mantenerlo.
Multi-User Android - The Complete Guide (AnDevCon Boston 2014)Ron Munitz
My session at AnDevCon, May 2014, Boston, MA
While Android was originally created for as a "single user, multiple apps, each app is a user" paradigm, much has changed once tablets were introduced.
The world has somewhat became a rounded rectangle, and multiple users, using the same tablet, has become the standard a la Android.
In this lecture, we will discuss how multi-user is implemented in Android, how to enable it for non-tablet devices, what has changed since the first introduction of multi-user support in Jelly-Bean, what is multi-user safe, what is not (as per Kit-Kat, or whatever is upstream at the time of slides submission), and more.
For Training/Consulting requests: info@thepscg.com
The document discusses Ron Munitz's background and expertise, which includes distributed fault tolerant systems, highly distributed video routers, real-time embedded systems, Android, and enterprise mobility and security. It provides an agenda for a talk on the Java Native Interface (JNI) and native Android apps. The agenda includes an introduction to JNI theory and a "Hello World" tutorial, followed by a discussion of JNI in the Android Open Source Project (AOSP) and writing native Android apps.
ROM Cooking: A Hands-on, "Do it at Home" Approach (Wearable DevCon 2014)Ron Munitz
My ROM cooking session in Wearable DevCon 2014, Burlingame, CA.
[Note: now the conference is called "Wearable Tech Con" ]
This two hour tutorial was mostly aimed towards building Wearable Android devices. The talk was carried out before the announcement of Android wear. I did predict something like this coming up back then... And it was not late to follow
[ See G+ post at https://plus.google.com/100590449141172132889/posts/aruDZADmPCD
*Note: I am not active on that Google+ account. If you want to follow me please use https://google.com/+RonMunitz ]
Capsules are solid dosage forms where the drug is enclosed within a hard or soft shell, typically made of gelatin. They provide rapid release of their contents once ingested. There are two main types - hard gelatin capsules which contain dry powders, granules or pellets and are filled using auger, dosator or dosing disc methods, and soft gelatin capsules which have a continuous gelatin shell surrounding a liquid inner core formed in a single operation. Capsules offer advantages like taste masking, easy swallowing and suitability for clinical trials but have disadvantages like higher cost and not being suitable for highly soluble compounds.
Choongan he choongan a vertile vegetable by Allah Dad Khan Mr.Allah Dad Khan
Caralluma is a genus of succulent flowering plants native to Africa, the Middle East, and South Asia. The document discusses Caralluma tuberculata, which grows wild in Pakistan and is used as a vegetable, in preserves like chutneys and pickles, and traditionally to suppress hunger and increase endurance. It describes the plant's appearance, distribution, traditional and modern uses as an appetite suppressant, and methods of propagation from cuttings or seeds.
Este documento presenta el proyecto de una granja integral autosuficiente en la Institución Educativa Agroindustrial Valentín Carabalí en Colombia. El proyecto describe la ubicación y características del terreno, los antecedentes de la institución, el marco contextual y teórico, los objetivos y justificación de la granja, y los componentes e infraestructura propuestos. El objetivo general es establecer una granja que fortalezca la educación y desarrollo de la comunidad a través de proyectos pedagógicos y productivos
SplunkLive Canberra Getting starting with IT Service IntelligenceSplunk
Are you currently using Splunk to troubleshoot and monitor your IT environment? Do you want more out of Splunk but don’t know how? Here’s your chance to learn more about Splunk IT Service Intelligence (Splunk ITSI) and get hands-on with it for the very first time.
We’ll kick off this session with a discussion on the concept of services, KPIs and entities and demonstrate how to use them in Splunk IT Service Intelligence. We’ll help you build custom visualizations and dashboards for personalized service-centric views. We’ll teach you how to navigate across multiple KPIs, entities and events with built-in visualizations and intelligently troubleshoot and resolve problems faster using Splunk ITSI. We’ll also show you how to create correlations across KPIs easily and be alerted of “notable events” to catch these emerging problems quickly. At the end of this session, you will leave with an understanding of the unique monitoring approach Splunk ITSI delivers to maximize the value of your data in Splunk and how to accelerate visibility into your critical IT services.
Bringing up Android on your favorite X86 Workstation or VM (AnDevCon Boston, ...Ron Munitz
My session at AnDevCon Bostong, May 2013, Boston, MA.
This class introduces the concepts of AOSP and how to use it in order to configure and build one of the most popular Android devices available: The Android emulator, for an x86 target. You will then learn a reincarnation of the AOSP, intended to bring Android to as many x86 devices as possible. You will see its structure and compare it with the AOSP, and demonstrate how such a build works within Virtual Box, QEMU and more.
LEVEL: Intermediate
TOPIC AREA: Embedded Android
For Training/Consulting requests: info@thepscg.com
Ron Munitz is an expert in embedded systems and distributed fault tolerant systems. He discusses the history and evolution of embedded systems from mechanical computers in the 1940s to today's "Internet of Things". Embedded operating systems have progressed from dedicated hardware/software to using general purpose operating systems like Android. Headless or display-less devices can customize Android to save resources by removing UI components. The talk will cover embedded software development, Android's initialization process, and configuring Android for headless devices.
Android ROM Cooking 101: A practical tutorial (DroidCon Tel-Aviv 2014)Ron Munitz
My session at DroidCon Tel-Aviv, June 2014
In this tutorial, you will have a hands-on journey of building and customizing Android right off the Android Open Source Project (AOSP). We will begin with introducing the concepts of ROM cooking for any Android compatible device, and we we will then walk-through the build system of the AOSP. You will learn what Android is made of, how to build a bullet speed Android emulator, and how to build a minimal, fully operational Android configuration that will run on the QEMU virtual machine.
For Training/Consulting requests: info@thepscg.com
X86 ROM Cooking 101 (Android Builders Summit 2014)Ron Munitz
My session at the Android Builders Summit, April 2014, San Josa, CA
Video: https://www.youtube.com/watch?v=7iLeBD33Fo0
In this tutorial, you will have a hands-on journey of customizing and building Android right off the Android Open Source Project (AOSP).
We will begin with introducing the concepts of ROM cooking for any Android compatible device, and we we will then walk-through the build system of the AOSP. You will learn what Android is made of, how to build a bullet speed Android emulator, and how to build a minimal, fully operational Android configuration that will run on the QEMU virtual machine using the following components: Vanilla Android KitKat, Vanilla Linux Kernel, and a working QEMU. You will step out of the classroom with the ability to follow the exact steps made in the tutorial to jump-start building your own Android system for any Virtual Machine - and with the tools and knowledge to build it for any custom device!
For Training/Consulting requests: info@thepscg.com
BYOD Revisited: Build Your Own Device (Embedded Linux Conference 2014)Ron Munitz
This document summarizes Ron Munitz's presentation on building devices for BYOD (Build Your Own Device) at the Embedded Linux Conference 2014. It discusses the history of embedded systems and operating systems. It then covers rapid prototyping techniques using evaluation boards to begin software development before the custom hardware is ready. This allows demonstrating proofs of concept and checking functionality while the hardware is being manufactured. Modern operating systems like Linux, Android and Tizen can run on evaluation boards, with the software then ported to the custom hardware once it is complete. Rapid prototyping cycles help accelerate the process and integrate hardware and software teams.
CodeMotion tel aviv 2015 - android reverse engineering labRon Munitz
This document provides an overview of the process for reverse engineering an Android application. It discusses various tools that can be used at each step, including apktool to decode application resources, dex2jar to convert .dex files to .jar files containing .class files, and JD-Project/jd-gui to decompile the .class files. It also discusses differences in applications built for older Android versions versus newer versions using ART, and how oat2dex tools can be used to extract DEX code from OAT files. The document demonstrates these concepts by walking through reversing a simple "Snake" application as an example. It concludes by noting there are multiple options for decompilation beyond just Eclipse.
This document discusses security issues with custom Android ROMs. It begins by introducing custom ROMs and why they warrant security reviews. It then analyzes several practices in custom ROMs that could compromise security, such as enabling USB debugging, running ADB in root mode, loose permissions on the system partition, and allowing installation from unknown sources. The document demonstrates a proof-of-concept data theft tool and recommends users be wary of development processes and ask questions when using custom ROMs. It concludes with contact information for the author.
This paper attempts to look behind the wheels of android and keeping special focus on custom rom’s and basically check for security misconfiguration’s which could yield to device compromise, which may result in malware infection or data theft.
This document provides an overview of customizing Android systems. It discusses the different types of Android devices that can be customized, including smartphones, tablets, mini PCs and more. It describes the different types of Android source code and licenses. It then gives instructions on setting up development environments and building Android from source for two example devices - the Nexus 7 tablet and Pandaboard evaluation board. The document outlines the boot process, init files, and building OTA update packages to write customized ROMs to devices.
Introduction to Docker (as presented at December 2013 Global Hackathon)Jérôme Petazzoni
Not on board of the Docker ship yet? This presentation will get you up to speed, and explain everything you want to know about Linux Containers and Docker, including the new features of the latest 0.7 version (which brings support for all Linux distros and kernels).
Voxxed days Vilnius 2015 - Android Reverse Engineering LabRon Munitz
This document outlines Ron Munitz's presentation on Android reverse engineering. Some key points:
- Ron will demonstrate the Android build process and then the "unbuild" or reverse engineering process. This will include using tools like apktool, dex2jar, and jd-gui.
- The presentation will be 50 minutes and cover decompiling an app's resources, converting dex files to jars and class files, and using a Java decompiler to view source code.
- If time allows, Ron may also demonstrate network analysis using packet interceptors.
- The slides for the presentation are available online but the focus should be on the terminal demonstration and explanation.
- Reverse engineering Android apps can
The default applications on an embedded Linux system include many common command line utilities from BusyBox, such as cat, cp, grep, ls, mkdir, more, mv, ping, ps, rm, top, and vi. BusyBox provides minimal versions of many common UNIX commands in a single executable to reduce the size of the system. Other default applications may include services like bootchartd, crond, and syslogd.
Android on Intel Architecture: ROM Cooking TutorialRon Munitz
My half day tutorial on AnDevcon, November 2013, Burlingame, CA.
In this tutorial, you will have a hands-on journey of customizing and building Android for any X86-based device. We will first introduce the concepts of Android ROM cooking for any device and architecture. You will learn what Android is made of, and will build a minimal Android configuration that will run on a Virtual Machine, using the AOSP project. We will then survey the build systems of Android-X86 and 01.org's Android-IA projects, and find our ways through customizing those projects for arbitrary needs.
You will step out of the classroom with the ability to follow the exact steps made in the tutorial to jump-start building your own Android system for any Virtual Machine - and with the tools and knowledge to build it for any X86 hardware!
Note: The tutorial is extremely hands on. Although it is not a strict requirement, it is strongly recommended to come prepared with a setup of Linux or OS X with the source code for an Android platform from either source.developer.andorid.com {http://source.developer.andorid.com/}, android-x86.org {http://www.android-x86.org/} or 01.org {https://01.org/}.
LEVEL: Advanced
AUDIENCE: Embedded Android
For Training/Consulting requests: info@thepscg.com
ODROID August 2014 magazine is out and this time I contributed Android article titled:
"Using the Linux Kernel : A Guide to the Android specific drivers"
Android ROM cooking: A practical Tutorial (DroidCon Torino 2014)Ron Munitz
My workshop at DroidCon, February 2014, Torino, Italy.
In this tutorial, you will have a hands-on journey of customizing and building Android right off the Android Open Source Project (AOSP). We will begin with introducing the concepts of ROM cooking for any Android compatible device, and we we will then walk-through the build system of the AOSP. You will learn what Android is made of, how to build a bullet speed Android emulator, and how to build a minimal, fully operational Android configuration that will run on the QEMU virtual machine. You will step out of the classroom with the ability to follow the exact steps made in the tutorial to jump-start building your own Android system for any Virtual Machine - and with the tools and knowledge to build it for any custom device! Note: The tutorial is extremely hands on. Although it is not a strict requirement, it is strongly recommended to come prepared with a setup of Linux or OS X with the source code for an Android platform from http://source.android.com
Viva l'Italia!
For Training/Consulting requests: info@thepscg.com
Is Android the New Embedded Linux? at AnDevCon VIOpersys inc.
This document discusses whether Android is becoming the new embedded Linux. It begins by outlining the similarities between Android and embedded Linux, as Android is based on Linux and often used in embedded systems. It then reviews the history and rise of embedded Linux. The document examines the origins and development of Android at Google. Key differences between embedded Linux and Android are identified, such as Android having standardized developer tools and APIs. Challenges for using Android in embedded systems are presented, like limited documentation and customization options. The talk concludes by considering future trends, like Google's Nexus Q using Android headlessly.
Is Android the New Embedded Linux? at AnDevCon VOpersys inc.
The document discusses whether Android is becoming the new embedded Linux. It begins by outlining reasons for the question, such as Android being based on Linux, being used in embedded applications, and enjoying strong support from chip manufacturers. It then reviews the history of embedded Linux and the origins and licensing of Android. Key challenges for using Android in embedded applications are identified as documentation, customization limitations, long build times, and dependency on Google. Headless use without a graphical interface is also discussed as an option.
Similar to Building android for the Cloud: Android as a Server (AnDevConBoston 2014) (20)
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
DDS Security Version 1.2 was adopted in 2024. This revision strengthens support for long runnings systems adding new cryptographic algorithms, certificate revocation, and hardness against DoS attacks.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
Graspan: A Big Data System for Big Code AnalysisAftab Hussain
We built a disk-based parallel graph system, Graspan, that uses a novel edge-pair centric computation model to compute dynamic transitive closures on very large program graphs.
We implement context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases such as Linux shows that their Graspan implementations scale to millions of lines of code and are much simpler than their original implementations.
These analyses were used to augment the existing checkers; these augmented checkers found 132 new NULL pointer bugs and 1308 unnecessary NULL tests in Linux 4.4.0-rc5, PostgreSQL 8.3.9, and Apache httpd 2.2.18.
- Accepted in ASPLOS ‘17, Xi’an, China.
- Featured in the tutorial, Systemized Program Analyses: A Big Data Perspective on Static Analysis Scalability, ASPLOS ‘17.
- Invited for presentation at SoCal PLS ‘16.
- Invited for poster presentation at PLDI SRC ‘16.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Odoo ERP software
Odoo ERP software, a leading open-source software for Enterprise Resource Planning (ERP) and business management, has recently launched its latest version, Odoo 17 Community Edition. This update introduces a range of new features and enhancements designed to streamline business operations and support growth.
The Odoo Community serves as a cost-free edition within the Odoo suite of ERP systems. Tailored to accommodate the standard needs of business operations, it provides a robust platform suitable for organisations of different sizes and business sectors. Within the Odoo Community Edition, users can access a variety of essential features and services essential for managing day-to-day tasks efficiently.
This blog presents a detailed overview of the features available within the Odoo 17 Community edition, and the differences between Odoo 17 community and enterprise editions, aiming to equip you with the necessary information to make an informed decision about its suitability for your business.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
GraphSummit Paris - The art of the possible with Graph Technology
Building android for the Cloud: Android as a Server (AnDevConBoston 2014)
1. Building Android for the
Cloud:
Android as A Server
Ron Munitz
Founder & CEO @thePSCG
ron@thepscg.com
ron@android-x86.org
AnDevCon
Boston 2014
@ronubo
PSCG
3. Agenda
● Android, the cloud and I
● Android and the Cloud
● X86 Android projects
● Bringing up Android on an AWS
PSCG
4. From distributed avionic systems
To distributed Android Systems
● Distributed Fault Tolerant Avionic Systems
○ Linux, VxWorks, very esoteric libraries, 0’s and 1’s
● Highly distributed video routers
○ Linux
● Real Time, Embedded, Server bringups
○ Linux, Android , VxWorks, Windows, devices, BSPs, DSPs,...
● Distributed Android
○ Rdroid? Cloudroid? Too busy working to get over the legal
naming, so no name is officially claimed for my open source
PSCG
About://Ron Munitz
5. ● According to w3tech.com, over 60% of the server market share
is owned by Unix/Linux/BSD variants.
● Android is (?) the new Linux.
○ That is a very controversial phrase.
○ But there is no doubt about it being the most popular commercial Linux
distribution
● Android as a Server
○ #Android application developers >> #Linux Application developers
○ Powerful server-grade API’s regardless of the UI.
○ Terminal Services solutions for Android (BYOD, enterprise mobility)
● Massive server migration to the cloud
● Android server migration to the cloud
Motivation for using Android in the cloud
PSCG
6. Some Legal Notes
I have been using the name
“ClouDroid” internally in the past.
This lecture is by no means related
to any commercial “ClouDroid”
product out there - it is just shorter to
write that instead of writing “Android
for The Cloud” and helps the slides
titles to be more readable.
* This slide is by no means related to
a particular black backgrounded
graphical slide at the end of the
presentation.
I really hope so anyway...
™ Droid is a registered trademark of
LucasFilm
™ Android is a registered trademark of
Google.
* I am not a lawyer
* My sister is - but she is not my lawyer
PSCG
7. ● Let’s talk tech:
● Android ROM structure in a jiffy
● Cloud selection architecture
○ Understanding the costs
○ Understanding the location
○ Understanding the underlying technology/Virtualization
● Linux bringup on the Cloud - with an Android ready kernel
● Replacing Linux Userspace with Android Userspace
“ClouDroid” HOWTO - The “Server” part
PSCG
8. ● Android is a mobile platform ⇒ UX for is a major concern
● Display is based on Surface, OpenGL and Frame Buffers
● Need to choose Remote Display Protocol for Android
○ No display protocol currently handles that well
■ Working on the FB level is just too slow.
● Or: Develop one.
○ That’s what I have been doing for the last couple of years.
“ClouDroid” HOWTO - The “UX” part
PSCG
9. ● Display protocols incur some serious issues with virtualization
techniques which are the building blocks of modern cloud
architectures. To name a few:
○ Hardware Acceleration
○ Multi-User support (big deal)
○ Noisy input and multi sensors
○ Location based services
● For the sake of the ease of discussion, let’s assume that a
remote display protocol is not an issue, and proceed with the
rest of the steps
○ It is not a big issue. It is a HUGE issue
Final words about Remote Display before we...
PSCG
12. Traditional terminology – whatever lies on the read-only partitions of the
device's internal flash memory:
● Recovery Mode:
○ Recovery Image (kernel + initrd)
● Operational Mode:
○ Boot Image (kernel + initrd)
○ System Image
● The magical link between the two:
○ Misc
What is not a part of the ROM?
● User data: /data, /cache, /mnt/sdcard/...
Android ROM components
PSCG
13. Since Android is Linux at its core, we can examine its
storage layout via common Linux tools:
shell@android:/ $ df
Filesystem Size Used Free Blksize
/dev 487M 32K 487M 4096
/mnt/secure 487M 0K 487M 4096
/mnt/asec 487M 0K 487M 4096
/mnt/obb 487M 0K 487M 4096
/system 639M 464M 174M 4096
/cache 436M 7M 428M 4096
/data 5G 2G 3G 4096
/mnt/shell/emulated 5G 2G 3G 4096
Android ROM Storage Layout
PSCG
14. shell@android:/ $ mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
### Output of mount continues in next slide
Android ROM Storage layout: "Standard Linux"
PSCG
17. shell@android:/ $ ls -l /dev/block/platform/sdhci-tegra.3/by-name/
lrwxrwxrwx root root 2013-02-06 03:54 APP -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2013-02-06 03:54 CAC -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2013-02-06 03:54 LNX -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2013-02-06 03:54 MDA -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2013-02-06 03:54 MSC -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2013-02-06 03:54 PER -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 2013-02-06 03:54 SOS -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2013-02-06 03:54 UDA -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2013-02-06 03:54 USP -> /dev/block/mmcblk0p6
Legend: APP is system, SOS is recovery, UDA is for data...
So, where is my stuff?!
PSCG
18. For a couple of reasons:
● Backup
● Recovery
● Software updates
● Error checking
● Board design
● Curiosity
● ...
● Because bringing up Android on the Cloud is
essentially building an Android device!
Why should we care about it?
PSCG
20. Various forks to the Android Open Source Project:
● AOSP - (4.4.2+ OPENMASTER/KVT49L upstream)
○ The root of all (good?)
● Android-X86 (KVT49H upstream)
● Android-IA (KOT49H upstream )
● Many other forks
○ CyanogenMod
○ Buildroid/AndroVM
○ And many others... Not all are known or Open-Sourced
Android Projects
PSCG
22. ● Most Cloud Based architecture run or virtualize X86
based hardware
● Architecture set Emulation is expensive
● It is also unnecessary
● Virtualize Android for X86 architectures on the cloud
Motivation
PSCG
24. The common reference, having the most recent version of the Android platform
(Userspace) versions.
Provides the QEMU based Android Emulator:
+ Works on any hosted OS
+ Supports multiple architectures
- But slow on non X86 ones
- Performs terribly if virtualized
- Has no installer for X86 devices
- Very old kernel
+/- An emulator. For better and for worse.
AOSP
PSCG
25. + Developed by the open source community
+ Developer/Linux user friendly
+ Multi-Boot friendly
+ Generally supports many Intel and AMD devices
+/- But of course requires specific work on specific HW
+ VM friendly
+ Mature, Recognized and stable
- Delays in new releases (You can help!)
- Latest version (4.4) is still a bit buggy
Android-X86
PSCG
26. + Installer to device
+ Relatively new versions of android and kernel
+ Works great on ivy-bridge devices
+ Integrated Ethernet Configuration Management
- Development for devices based on intel solutions only
- Very unfriendly to other OS's
- Not developer friendly – unless they make it such
- Community work can be better. But it is seems to be getting better
- Intel phones are not based on it (at the moment)
+ Made impressive progress in early 2013
- But suspended development at Android 4.2.2 for months!
+ Back on track in April 2014
Android-IA
PSCG
27. ● Android is Linux
○ Therefore the required minimum to run it would be:
■ A Kernel
■ A filesystem
■ A ramdisk/initrd... Whatever makes you happy with your kernel's
init/main.c's run_init_process() calls.
See http://lxr.linux.no/linux+v3.6.9/init/main.c
○ This means that we can achieve full functionality with
■ A kernel (+ramdisk)
■ A rootfs where Android system/ will be mounted (ROM)
■ Some place to read/write data
Android is Linux
PSCG
28. Android-IA is Android
Android-IA is, of course, Linux as well.
However, it was designed to conform to Android OEM's partition layout, and
has no less than 9 partitions:
○ boot - flashed boot.img (kernel+ramdisk.img)
○ recovery - Recovery image
○ misc - shared storage between boot and recovery
○ system - flashed system.img - contents of the System partition
○ cache - cache partition
○ data - data partition
○ install - Installation definition
○ bootloader - A vfat partition containing android syslinux bootloader (<4.2.2)
- A GPT partition containing gummiboot (Only option in 4.2.2)
○ fastboot - fastboot protocol (flashed droidboot.img)
Note: On android-ia-4.2.2-r1, the bootable live.img works with a single partition,
enforcing EFI. It still has its issues - but it is getting there.
PSCG
29. ● One partition with two directories
○ First directory – grub (bootloader)
○ Second directory – files of android (SRC)
■ kernel
■ initrd.img
■ ramdisk.img
○ system
○ data
● This simple structure makes it very easy to work and debug
Note: Also comes with a live CD/installer. Very convenient.
Android-X86 is Linux
PSCG
30. ● Start bootloader
● The bootloader starts the combined kernel + ramdisk
image (boot.img flashed to /boot)
● At the end of kernel initialization Android's
● /init runs from ramdisk
● File systems are mounted the Android way – using
fstab.common that is processed (mount_all command)
from in init.<target>.rc
Android-IA boot process
PSCG
31. ● Start bootloader (GRUB)
● bootloader starts kernel + initrd (minimal linux) + kernel
command line
● At the end of kernel initialization
○ run the /init script from initrd.img
○ load some modules, etc.
○ At the end change root to the Android file system
● Run the /init binary from ramdisk.img
○ Which parses init.rc, and starts talking “Android-ish”
Android-X86 boot process
PSCG
32. It depends what you need:
○ Developer options?
○ Debugging the init process?
○ Support for Hardware?
○ Support for OTA?
○ Licensing?
○ Participating in project direction?
○ Upstream features?
○ ...
There is no Black and White.
Which one is better?
PSCG
33. ● Use Android-X86 installer system
● And put your desired android files (matching
kernel/ramdisk/system) in the same partition.
● Use the Android-X86 chroot mechanism
○ Critics: Does redundant stuff
○ But that's just a hack anyway – devise specific solutions for
specific problems
● This way, we can multiple boot various projects:
○ Android-IA
○ AOSP
○ Any other OS...
Note: You can also use chroot mechanism on any Linux Distribution,
from userspace! But this is significantly harder...
An hybrid approach
PSCG
34. Repartition existing Linux partition (Don't do that...)
Install Android-X86
Add entries to GRUB
Reboot to Android-X86 debug mode
Copy Android-IA files from a pendrive or over SCP
For the former: cp /mnt/USB/A-IA/ /mnt && sync
/mnt is the root of Android-X86 installed partition
(e.g. (hd0,1)/...
Update GRUB entries and update GRUB
Voila :-)
Less simplified procedure: Debug GRUB... :-(
** Note: Replace Android-IA with AOSP to boot AOSP built files (system.img /
kernel / ramdisk.img) on your target device.
Multi-boot recipe with legacy GRUB (simplified)
PSCG
35. ● Repartition existing Linux partition (Don't do that...)
● Create a mount point for your multi-booting android
○ Can make a partition per distribution, it doesn't really matter.
○ For this example let's assume all Android distributions will co exist on the same
partition, and that it is mounted to /media/Android-x86
● Build your images
○ AOSP: Discussed before
○ Android-x86:
■ . build/envsetup.sh && lunch android_x86-<variant>
&& make iso_img
○ Android-IA:
■ . build/envsetup.sh && lunch core_mesa-<variant>
&& make allimages
■ . build/envsetup.sh && lunch bigcore-<variant> && make allimages
** <variant> is either one of the following: user, userdebug, eng
Multi-boot recipe using GRUB2
PSCG
36. ● Create directories for your projects (e.g. jb-x86, A-IA, AOSP) under your
mount point (e.g. /media/Android-x86)
● From Android-X86's out/product/target: Copy initrd.img to all projects.
○ Can of course only copy ramdisk to one location.
● From all projects – copy kernel, ramdisk.img, system/ and data/ to to
the corresponding directory under your mount point.
● Add entries to GRUB and update grub.
● # e.g. sudo vi /etc/grub.d/40_custom && update-grub
Multi-boot recipe using GRUB2 (cont.)
PSCG
37. $ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 451656948 394848292 34199920 93% /
udev 1954628 4 1954624 1% /dev
tmpfs 785388 1072 784316 1% /run
none 5120 0 5120 0% /run/lock
none 1963460 2628 1960832 1% /run/shm
/dev/sda1 15481360 5165416 9529464 36% /media/Android-
x86
Multi-boot recipe with GRUB2 - A numerical example
PSCG
38. #### JB-X86
menuentry 'jb-x86' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
echo 'Loading Android-X86'
linux /jb-x86/kernel quiet androidboot.hardware=android_x86 video=-16 SRC=/jb-x86
initrd /jb-x86/initrd.img
}
A numerical example (cont.)- /etc/grub.d/40_custom
PSCG
39. ### android-IA
menuentry 'Android-IA' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
echo 'Loading Android-IA'
linux /A-IA/kernel console=ttyS0 pci=noearly console=tty0 loglevel=8 androidboot.hardware=ivb
SRC=/A-IA
initrd /A-IA/initrd.img
}
A numerical example (cont.) - /etc/grub.d/40_custom
PSCG
40. ● In the last couple of slides I essentially gave you the choice of which
Android system to use on your cloud services.
● Now I will give you the recipe:
○ Cloudroid recipe:
■ Choose an Android distribution
● Most convenient for debugging: Some sort of Android-
X86.
● Bring it up on your target architecture
○ i.e. HW, or VM
● Pack it in your cloud service instance wrapper
● DEBUG. These things are not trivial.
OK, some tricky linux stuff. why should we care?!
PSCG
41. ● AWS Cloudroid recipe:
○ Choose “Local” server with HW characteristics similiar to the
target VM
○ Bring up Android-X86 on XEN
■ You can use other distributions too for the chroot part
■ In fact - in many of my projects I use the AOSP
○ Create an AMI out of that Android-X86 instance
○ Set up a new AWS instance with that AMI
● Sounds simple, right?
○ Well, it’s not. If you are up for the challenge, I would definitely
recommend hiring a top-notch, competent Linux bringup
superstar.
● There is a a bit simpler alternative...
A Numerical example - Using AWS
PSCG
42. ● A couple of excellent options for the non-virtualized
Host (assuming Intel VT/AMD-V and the likes)
○ The AOSP X86 emulator/AOSP on a Virtual Machine
○ Android-X86 on a Virtual Machine
○ Android-IA on a Virtual Machine
● Problem: Can’t run a VM within a VM!
● There is an elegant solution for this problem...
Using Android from within Linux
PSCG
43. Releasing an Android from a chroot jail
in two quick steps:
1. Run “Standard” Linux
2. chroot <Android ramdisk.img> <Android’s /init>
PSCG
44. ● Bring up a standard Amazon Machine Instance (AMI) according to
your VM requirements (bandwidth, memory, CPU, storage, location).
● Copy Android components to the AMI
○ XEN + Android ready kernel + initramfs
○ system.img
○ data.img
○ ramdisk.img
● Update bootloader to load Replace kernel + initramfs
● Boot AMI instance
● mount system.img and data.img as loopback devices
● chroot to Android’s ramdisk.img - running Android’s /init
○ A N D R O I D
● Success!
chroot Jail - AWS recipe
PSCG
45. ● The AOSP is hosted at http://source.android.com
● The Android-x86.org project is hosted at http://Android-X86.org
● The Android-IA project is hosted at https://01.org/android-ia
● Free AWS trial is available at http://aws.amazon.com/
● Android on IA - ROM cooking tutorial - Ron Munitz, AnDevCon November, 2013
● Introduction to Embedded Android course - by Ron Munitz.
Taught at Afeka College of Engineering, Tel-Aviv, Israel
References
PSCG
46. Thank You AnDevCon Boston
May 2014
PSCG
Consulting/Training requests:
ron@thepscg.com