Xenbedded: Xen-based client virtualization for phones and tablets

Size: px
Start display at page:

Download "Xenbedded: Xen-based client virtualization for phones and tablets"

Transcription

1 Xenbedded: Xen-based client virtualization for phones and tablets Kyle Temkin Chris Patterson Assured Information Security, Inc. August 25 th, 2016 // XenSummit 2016

2 Who are we? Kyle Temkin Hardware Hacker and Security Researcher Freenode: ktemkin Chris Patterson Senior Computer Engineer Freenode: cjp256

3 Why run Xen on Phones/Tablets? First, and foremost: it s cool! } This is the frontier of virtualiztion tech there s lots of new stuff to build! Mobile virtualization also offers more pragmatic benefits: } Separation of critical and non-critical tasks. Thnk Qubes or OpenXT for mobile: different VMs for different types of activity. Potential tools to deal with the whole BYOD mess. Pictured: Google Pixel C Photo: Google Store } Potential to extend benefits beyond phones/tablets; e.g. to devices with integrated touchscreens such as car media centers.

4 Isn t ARM support enough? Q: Xen already supports many ARM processors: shouldn t it be able to run on most phones and tablets? A: Almost. There are still a few things we need: Hardware support for ARM s virtualization extensions. Bootloader support for launching software in hypervisor mode (HYP/EL2). It s easy to find yourself locked out of these modes! First-Stage Bootloader (usually comes with SoC; often in ROM) Second-Stage Bootloader (e.g. u-boot, android bootloader) Final Payload (Linux, Xen) All too often, the FSBL drops down to Supervisor Mode (PL1/EL1)... leaving no way back into PL2/EL2!

5 Landing in PL2/EL2 - CPU mode All forms of interrupts must be masked in PSTATE.DAIF (Debug, SError, IRQ and FIQ). The CPU must be in either EL2 (RECOMMENDED in order to have access to the virtualisation extensions) or non-secure EL1. Q: What if the boot chain can t land me in PL/EL2? A: If you have to use that device, things will get interesting. Best option: convince your vendor to support EL2 on unlocked devices. Last resort: dust off your hardware hacking skills! Samsung CID hacks (developer bootloader) Qualcomm TrustZone exploits (chain to get at HVBAR)

6 Finding the Right Device Finding a good phone or tablet to work with can be tricky. You need a device that: } Supports the ARM Virtualization Extensions, including a full-featured GIC. } Provides an unlockable bootloader entered in NS-HYP or EL2. You want a device that: } Is supported by an open-source Linux variant (for dom0) } Is closely approximated by an available evaluation board. } Has an accessible UART serial port

7 Identify Devices with HYP/EL2 Payloads If your device runs Linux 3.7+ (arm32) or Linux 4.3+ (arm64), checking for HYP/EL2 is easy: # dmesg grep HYP A 1 #arm32 CPU: All CPU(s) started in HYP mode. CPU: Virtualization extensions available. # dmesg grep EL2 #arm64 CPU: All CPU(s) started at EL2 # #Note: these only work bare-metal! Otherwise, you can compile a simple kernel module to check:

8 Fragmentation of Linux Baselines Depending on the device, several Linux variants may be available, including mainline and per-device variants. Mainline Android Variants ChromiumOS variants linux4tegra linux-sunxi linux-exynos linux-xilinx linux-96boards oh, my! Not all Linux forks are created equal: } If possible, select a device that has reasonable mainline support. (e.g. MSI Primo73) } Failing that, you may want to look for a fork that deviates less from mainline: A recent kernel version is usually a good hint. Another good hint: look at the device tree for your target device. Are many of its compatible strings supported in mainline?

9 Approximating HW with Dev Boards Pixel C NVIDIA Jetson TX1 image source: Google Store image source: NVIDIA Dev Blogs Pairing your device with an evaluation board can dramatically speed up development. It helps a lot to have a known good environment to test your hardware in. Is the issue in your code, or with the weird tablet bootloader? Compare and find out! If you can get one, a JTAG debugger make all the difference!

10 Finding UART Consoles Most but not all phones and tablets have a UART surfaced somewhere. Friendlier devices have externally accessible UARTs; some devices require soldering. Internally Accessible Externally Accessible Credit: ssvb Original image. The Xen-compatible Primo 73 s UART is accessible both directly on its PCB or, with some configruation, routed through its internal microsd slot. Embedded Linux and Android communities are a good first resource for UART pinouts: you ll be surprised how often the community has documented how to get UART access!

11 Example: Pixel C UART While the Pixel C has no documented external UART, digging through some of its firmware reveals an internal USB-to-serial-adapter. } When the USB-C connector s CC1 and CC2 pins are pulled down with 5.1Ω resistors, the device enters debug mode, and the convert is connected as below: } Naturally, we went a little overboard, and our intern (@c4757p) developed a full fledged open-source-hardware debug adapter for these ports:

12 Getting Xen onto Your Device Once you ve selected a device, the next step is to get Xen to start. A basic path forward might be: } Boot a simple, custom hello-world kernel. } Boot up the Xen kernel alone get it to crash! } Provide Xen with its required images, and see how things behave.

13 Booting a Hello World Kernel Many devices require their kernels to be encapsulated in payload-specific image formats. } ChromiumOS: FIT image with specific contents, prefixed with signed header } Many Android Devices: Android-specific boot.img format } We ve seen lots of variants on these formats! Booting a Hello World image helps to verify that you have the particulars of your image format correct. } Also a great time for a final check for HYP/EL2! } Good starter example:

14 (Some People Just Want to) Watch Xen Crash Once you can boot an image on your particular device, try swapping out your hello-world kernel for Xen. } Be sure to build Xen with EARLYPRINTK set up for your board! Launching Xen... - UART enabled - CPU booting - Current EL Xen starting at EL2 - Zero BSS - Setting up control registers - Turning on paging - Ready (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) No valid device tree (XEN) **************************************** (XEN) (XEN) Reboot in five seconds... = Victory!

15 Getting Xen its Images Once you successfully have Xen crashing, you re ready to try a real boot, which means passing in several necessary images. This can be tricky. We expect our bootloader to load: } The Xen kernel image, typically a zimage/image; } A flattened device tree (dtb) describing the target device; } The dom0 kernel, typically also a Linux zimage/image; and } An optional ramdisk (initrd/initramfs). but most image formats won t load all of these! } We ll need a next-stage bootloader to make our images available. u-boot is a popular choice.

16 Discharge Boot Adapter We created Discharge, a simple image adapter for phones and tablets. } Combines the images relevant to a Xen boot into the single-image formats expected by most consumer device loaders (Android/CrOS). } Faster and significantly lower-footprint than u-boot; but also significantly less powerful. If u-boot better fits your use case, use it! Full MIT-licensed source code:

17 Xen on Your SoC If things seem broken at first, don t despair! You may have to deal with quirks for your particular SoC or with Xen behaviors (bugs?) that your new configuration has unmasked. } This is where things can get complicated. We won t provide a general method for moving forward (this talk is too short!), but we will provide examples. } In particular, see Julien Grall s slides from Porting Xen on ARM to a new SoC.

18 Example: Tegra Legacy Interrupt Controller SPI[n:32] SPI Tegra LIC Legacy GIC GIC CPU Interface IRQ Interrupt Distributor Controllers GIC CPU Interface IRQ CPU 0 CPU 1 The Tegra LIC, by default, gates all Shared interrupts. On Tegra systems, a set of Legacy Interrupt Controllers must be programmed in addition to the core Generic Interrupt Controller (GIC). } Idea is straightforward: implement Xen support for the Tegra LIC. Figuring out the best way to do this: less straightforward.. } One working implementation is available online: (Very) Simplified View of Tegra Interrupt Routing We re currently working to get a proper solution mainlined!

19 Client Virtualization: New Peripheral Support for Xen Tablets and phones present a huge variety of new peripherals we may want to virtualize for guest domains: Display/GPUs Light Sensors Flash LEDs Touch Sensors Cameras Wireless/Cellular Inertial Sensors Fingerprint Sensors and more every day. Virtualizing these devices require three components: } A device driver running in domain zero; ideally provided by the BSP distribution. } A backend driver to (e.g.) multiplex access to the physical hardware; and } A frontend driver to deliver events to the guest kernel.

20 Display and Input Multiplexing To provide our guests with a high-performance display capability, our group has worked to develop a new display technology for Xen. } Provides a near-native experience for both mobile and desktop devices, including backend and frontend drivers for multi-touch and multi-monitor support. } Includes a full input stack, including PV drivers. Baseline: X11 and VNC } We won t go into detail here. This is covered in full by the next talk in this room ( Display Handler ). Display Handler: Native Look

21 Multi-Touch with openxt-kbdfront Multi-touch input is handled by an extended version of xen-kbdfront. } Entirely open; source is GPLv2 and available on our GitHub. ( } Backwards-compatible with xen-kbd, and thus works with existing backends. } We may submit our changes as patches to xen-kbdfront, if well received.

22 Goal: Android Support Support for Android guests is not far off basic functionality is working on x86 but work towards this support is still underway. Challenges still to be solved: } Blocker: Modern Android versions require* hardware-accelerated video; so we ll need to implement a solution for multiplexing access to the host GPU. } Soft req: Android isn t as useful on a tablet without mobile-centric power mgmt., including intelligent use of host sleep states, paralleling Android s wakelocks. } Soft req: Many android applications require services from TrustZone Applets (Trustlets), but we now need a guest-aware TrustZone, or equivalent. *At least, according to Google. Software rendering may be an alternative, but doesn t work as-is, and likely isn t worth pursuing for performance reasons.

23 Android: Accelerated Graphics Android s SurfaceFlinger compositor and many applications require OpenGL support. Potential paths forward: } On x86, HVM guests can run Android under the VirGL virtualized GPU, which is heavily tied to its QEMU implementation. See Rob Herring s Android-on-QEMU effort. To support ARM PVH guests, we d need to develop a PV transport for the VirGL. } Raw API Sharing solutions such as the emugl library used by the Android emulator also offer potential solutions.

24 Android: TrustZone Implications Single TZ-Enabled Enclave Unused? dom0 dom1 dom2 TEE Service VM dom0 Single TZ-Enabled Enclave Core System Services TEE Service VM dom1 TEE Service VM dom2 dom0 dom1 dom2 In the current implementation, only one trusted enclave is available. } This is definitely not an optimal architecture for per-guest services, such as secure password stores, DRM, and cryptographic services. As a result, we disable guest SMCs: and lose these capabilities altogether! ( No Netflix? ) } Consider the implications of existing TrustZone escalations (e.g. the QSEE bug) do you really want your guests interacting with TrustZone services? } Potential solution: leverage hypervisor separation to create a service-vm trusted execution environment (TEE) for per-guest services.

25 Questions and Demo

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems Xen Project 4.4: Features and Futures Russell Pavlicek Xen Project Evangelist Citrix Systems About This Release Xen Project 4.4.0 was released on March 10, 2014. This release is the work of 8 months of

More information

Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo

Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo Xen Automotive Hypervisor Automotive Linux Summit 1-2 July, Tokyo 2014 GlobalLogic Inc. Vehicles are Changing Vehicle became the ultimate mobile device and we, the people, are becoming connected drivers

More information

Xen on ARM. Stefano Stabellini

Xen on ARM. Stefano Stabellini Xen on ARM Stefano Stabellini What is Xen? a type-1 hypervisor small footprint (less than 90K LOC) Xen: Open Source GPLv2 with DCO (like Linux) Diverse contributor community Xen: Open Source source: Mike

More information

64 bit Bare Metal Programming on RPI-3. Tristan Gingold

64 bit Bare Metal Programming on RPI-3. Tristan Gingold 64 bit Bare Metal Programming on RPI-3 Tristan Gingold gingold@adacore.com What is Bare Metal? Images: Wikipedia No box What is Bare Metal? No Operating System Your application is the OS Why Bare Board?

More information

Hypervisors on ARM Overview and Design choices

Hypervisors on ARM Overview and Design choices Hypervisors on ARM Overview and Design choices Julien Grall Root Linux Conference 2017 ARM 2017 About me Working on ARM virtualization for the past 4 years With ARM since 2016 Co-maintaining

More information

OP-TEE Using TrustZone to Protect Our Own Secrets

OP-TEE Using TrustZone to Protect Our Own Secrets OP-TEE Using TrustZone to Protect Our Own Secrets ROM-Code Bootloader OP-TEE Kernel Root File System ELC Europe 2017, 23.10.2017 Marc Kleine-Budde Slide 1 - http://www.pengutronix.de

More information

QSEE TrustZone Kernel Integer Overflow Vulnerability

QSEE TrustZone Kernel Integer Overflow Vulnerability QSEE TrustZone Kernel Integer Overflow Vulnerability Dan Rosenberg dr@azimuthsecurity.com July 1, 2014 1 Introduction This paper discusses the nature of a vulnerability within the Qualcomm QSEE TrustZone

More information

KVM/ARM. Marc Zyngier LPC 12

KVM/ARM. Marc Zyngier LPC 12 KVM/ARM Marc Zyngier LPC 12 For example: if a processor is in Supervisor mode and Secure state, it is in Secure Supervisor mode ARM Architecture if a processor is Virtualization

More information

Security and Performance Benefits of Virtualization

Security and Performance Benefits of Virtualization Security and Performance Benefits of Virtualization Felix Baum mentor.com/embedded Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Linux is the registered

More information

Heterogeneous Software Architecture with OpenAMP

Heterogeneous Software Architecture with OpenAMP Heterogeneous Software Architecture with OpenAMP Shaun Purvis, Xilinx Agenda Heterogeneous SoCs Linux and OpenAMP OpenAMP for HSA Heterogeneous SoCs A System-on-Chip that integrates multiple processor

More information

Embedded Linux Conference San Diego 2016

Embedded Linux Conference San Diego 2016 Embedded Linux Conference San Diego 2016 Linux Power Management Optimization on the Nvidia Jetson Platform Merlin Friesen merlin@gg-research.com About You Target Audience - The presentation is introductory

More information

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

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania. Virtualization...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania April 6, 2009 (CIS 399 Unix) Virtualization April 6, 2009 1 / 22 What

More information

LK-Tris: A embedded game on a phone. from Michael Zimmermann

LK-Tris: A embedded game on a phone. from Michael Zimmermann LK-Tris: A embedded game on a phone from Michael Zimmermann Index 1) Project Goals 1.1) Must Haves 1.2) Nice to Haves 1.3) What I realized 2) What is embedded Software? 2.1) Little Kernel (LK) 3) Hardware

More information

Device Passthrough to Driver Domain in Xen

Device Passthrough to Driver Domain in Xen Device Passthrough to Driver Domain in Xen Passthrough. List of terms. Passthrough: the process of passing access to DomD via Dom0 Dom0: Domain 0, a privileged domain DomD: Driver Domain, a domain with

More information

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017 Hypervisor security Evgeny Yakovlev, DEFCON NN, 2017 whoami Low-level development in C and C++ on x86 UEFI, virtualization, security Jetico, Kaspersky Lab QEMU/KVM developer at Virtuozzo 2 Agenda Why hypervisor

More information

Beyond TrustZone Security Enclaves Reed Hinkel Senior Manager Embedded Security Market Develop

Beyond TrustZone Security Enclaves Reed Hinkel Senior Manager Embedded Security Market Develop Beyond TrustZone Security Enclaves Reed Hinkel Senior Manager Embedded Security Market Develop Part2 Security Enclaves Tech Seminars 2017 Agenda New security technology for IoT Security Enclaves CryptoIsland

More information

An Infestation of Dragons

An Infestation of Dragons An Infestation of Dragons Exploring Vulnerabilities in the ARM TrustZone Architecture A story of Research for PacSec 2014 by: @m0nk_dot @natronkeltner @afrocheese Who Are We Josh Thomas @m0nk_dot / josh@atredis.com

More information

HW isolation for automotive environment BoF

HW isolation for automotive environment BoF HW isolation for automotive environment BoF Michele Paolino m.paolino@virtualopensystems.com AGL All Member Meeting 2016, 2016-09-07, Munich, Germany http://www.tapps-project.eu/ Authorship and sponsorship

More information

Designing a Multi-Processor based system with FPGAs

Designing a Multi-Processor based system with FPGAs Designing a Multi-Processor based system with FPGAs BRINGING BRINGING YOU YOU THE THE NEXT NEXT LEVEL LEVEL IN IN EMBEDDED EMBEDDED DEVELOPMENT DEVELOPMENT Frank de Bont Trainer / Consultant Cereslaan

More information

THE LEADER IN VISUAL COMPUTING

THE LEADER IN VISUAL COMPUTING MOBILE EMBEDDED THE LEADER IN VISUAL COMPUTING 2 TAKING OUR VISION TO REALITY HPC DESIGN and VISUALIZATION AUTO GAMING 3 BEST DEVELOPER EXPERIENCE Tools for Fast Development Debug and Performance Tuning

More information

An Infestation of Dragons

An Infestation of Dragons An Infestation of Dragons Exploring Vulnerabilities in the ARM TrustZone Architecture A story of Research: @m0nk_dot @natronkeltner @afrocheese Who Are We Josh Thomas @m0nk_dot / josh@atredis.com Partner

More information

ARM-KVM: Weather Report Korea Linux Forum

ARM-KVM: Weather Report Korea Linux Forum ARM-KVM: Weather Report Korea Linux Forum Mario Smarduch Senior Virtualization Architect m.smarduch@samsung.com 1 ARM-KVM This Year Key contributors Linaro, ARM Access to documentation & specialized HW

More information

64-bit ARM Unikernels on ukvm

64-bit ARM Unikernels on ukvm 64-bit ARM Unikernels on ukvm Wei Chen Senior Software Engineer Tokyo / Open Source Summit Japan 2017 2017-05-31 Thanks to Dan Williams, Martin Lucina, Anil Madhavapeddy and other Solo5

More information

Designing Security & Trust into Connected Devices

Designing Security & Trust into Connected Devices Designing Security & Trust into Connected Devices Eric Wang Sr. Technical Marketing Manager Tech Symposia China 2015 November 2015 Agenda Introduction Security Foundations on ARM Cortex -M Security Foundations

More information

Android System Development Training 4-day session

Android System Development Training 4-day session Android System Development Training 4-day session Title Android System Development Training Overview Understanding the Android Internals Understanding the Android Build System Customizing Android for a

More information

Porting Linux to a new SoC

Porting Linux to a new SoC Porting Linux to a new SoC Who am I? PrasannaKumar Muralidharan Linux kernel enthusiast Contributed to a few open source projects Contributed several patches to hwrng subsystem Wrote CI20 PRNG driver Implemented

More information

ARM Powered SoCs OpenEmbedded: a framework for toolcha. generation and rootfs management

ARM Powered SoCs OpenEmbedded: a framework for toolcha. generation and rootfs management ARM Powered SoCs OpenEmbedded: a framework for toolchain generation and rootfs management jacopo @ Admstaff Reloaded 12-2010 An overview on commercial ARM-Powered SOCs Many low-cost ARM powered devices

More information

Lecture 5. KVM for ARM. Christoffer Dall and Jason Nieh. 5 November, Operating Systems Practical. OSP Lecture 5, KVM for ARM 1/42

Lecture 5. KVM for ARM. Christoffer Dall and Jason Nieh. 5 November, Operating Systems Practical. OSP Lecture 5, KVM for ARM 1/42 Lecture 5 KVM for ARM Christoffer Dall and Jason Nieh Operating Systems Practical 5 November, 2014 OSP Lecture 5, KVM for ARM 1/42 Contents Virtualization KVM Virtualization on ARM KVM/ARM: System architecture

More information

Designing Security & Trust into Connected Devices

Designing Security & Trust into Connected Devices Designing Security & Trust into Connected Devices Rob Coombs Security Marketing Director TechCon 11/10/15 Agenda Introduction Security Foundations on Cortex-M Security Foundations on Cortex-A Use cases

More information

ARM: Allwinner sunxi SoC's and the community behind it

ARM: Allwinner sunxi SoC's and the community behind it ARM: Allwinner sunxi SoC's and the community behind it FOSDEM2014 ULB K.1.105 2014-02-02 11:00 11:50 Olliver M. Schinagl What is sunxi? FEX About me Hardware Allwinner history Allwinner

More information

Back To The Future: A Radical Insecure Design of KVM on ARM

Back To The Future: A Radical Insecure Design of KVM on ARM Back To The Future: A Radical Insecure Design of KVM on ARM Abstract In ARM, there are certain instructions that generate exceptions. Such instructions are typically executed to request a service from

More information

Smart Antennas and Hypervisor: Enabling Secure Convergence. July 5, 2017

Smart Antennas and Hypervisor: Enabling Secure Convergence. July 5, 2017 Smart Antennas and : Enabling Secure Convergence July 5, 2017 About OpenSynergy OpenSynergy develops software solutions for embedded automotive systems. OpenSynergy s product portfolio includes key software

More information

Hostless Xen Deployment

Hostless Xen Deployment Hostless Xen Deployment Xen Summit Fall 2007 David Lively dlively@virtualiron.com dave.lively@gmail.com Hostless Xen Deployment What Hostless Means Motivation System Architecture Challenges and Solutions

More information

Intel Galileo gen 2 Board

Intel Galileo gen 2 Board Intel Galileo gen 2 Board The Arduino Intel Galileo board is a microcontroller board based on the Intel Quark SoC X1000, a 32- bit Intel Pentium -class system on a chip (SoC). It is the first board based

More information

Tailoring TrustZone as SMM Equivalent

Tailoring TrustZone as SMM Equivalent presented by Tailoring TrustZone as SMM Equivalent Tony C.S. Lo Senior Manager American Megatrends Inc. UEFI Plugfest March 2016 www.uefi.org 1 Agenda Introduction ARM TrustZone SMM-Like Services in TrustZone

More information

Running Android on the Mainline Graphics Stack. Robert

Running Android on the Mainline Graphics Stack. Robert Running Android on the Mainline Graphics Stack Robert Foss @memcpy_io Agenda Android History Android on Mainline Current Status Big Picture Android History Android History Qualcomm diff with mainline,

More information

Embedded System Security Mobile Hardware Platform Security

Embedded System Security Mobile Hardware Platform Security 1 Embedded System Security Mobile Hardware Platform Security Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt Germany Summer Term 2017 Acknowledgement This slide set

More information

Xen on ARM ARMv7 with virtualization extensions

Xen on ARM ARMv7 with virtualization extensions Xen on ARM ARMv7 with virtualization extensions Stefano Stabellini Why? Why? smartphones: getting smarter Quad-core 1.4 GHz Cortex-A9 ARM Servers coming to market 4GB RAM, 4 cores per node 3 x 6 x 4 x

More information

Speeding up the Booting Time of a Toro Appliance

Speeding up the Booting Time of a Toro Appliance Speeding up the Booting Time of a Toro Appliance Matias E. Vara Larsen www.torokernel.io matiasevara@gmail.com Application-oriented Kernel Toro Kernel Process Memory Devices Filesystem Networking Toro

More information

Embedded System Security Mobile Hardware Platform Security

Embedded System Security Mobile Hardware Platform Security 1 Embedded System Security Prof. Dr.-Ing. Ahmad-Reza Sadeghi System Security Lab Technische Universität Darmstadt Germany Summer Term 2016 Acknowledgement This slide set is based on slides provided by

More information

Charm: Facilitating Dynamic Analysis of Device Drivers of Mobile Systems

Charm: Facilitating Dynamic Analysis of Device Drivers of Mobile Systems Charm: Facilitating Dynamic Analysis of Device Drivers of Mobile Systems Seyed Mohammadjavad Seyed Talebi, Hamid Tavakoli, Hang Zhang, Zheng Zhang, Ardalan Amiri Sani, Zhiyun Qian UC Irvine UC Riverside

More information

LotOS Framework. Getting Started Guide for Banana Pi. Copyright (C) 2015 ilbers GmbH Revision 1.1,

LotOS Framework. Getting Started Guide for Banana Pi. Copyright (C) 2015 ilbers GmbH Revision 1.1, LotOS Framework Getting Started Guide for Banana Pi Copyright (C) 2015 ilbers GmbH Revision 1.1, 2015-10-20 Mango hypervisor and LotOS framework are copyright (C) 2014 2015 ilbers GmbH. All rights reserved.

More information

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ We will come around checking your pre-labs

More information

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG Adam Lindberg github.com/eproxus HARDWARE COMPONENTS SOFTWARE FUTURE Boot, Serial console, Erlang shell DEMO THE GRISP BOARD SPECS Hardware & specifications

More information

Virtualization. Dr. Yingwu Zhu

Virtualization. Dr. Yingwu Zhu Virtualization Dr. Yingwu Zhu Virtualization Definition Framework or methodology of dividing the resources of a computer into multiple execution environments. Types Platform Virtualization: Simulate a

More information

A Seamless Tool Access Architecture from ESL to End Product

A Seamless Tool Access Architecture from ESL to End Product A Seamless Access Architecture from ESL to End Product Albrecht Mayer Infineon Technologies AG, 81726 Munich, Germany albrecht.mayer@infineon.com Abstract access to processor cores is needed from the first

More information

Live Demo: A New Hardware- Based Approach to Secure the Internet of Things

Live Demo: A New Hardware- Based Approach to Secure the Internet of Things SESSION ID: CCS-W04 Live Demo: A New Hardware- Based Approach to Secure the Internet of Things Cesare Garlati Chief Security Strategist prpl Foundation @CesareGarlati Securing the Internet of (broken)

More information

Supporting a new ARM platform: the Allwinner example

Supporting a new ARM platform: the Allwinner example Embedded Linux Conference 2014 Supporting a new ARM platform: the Allwinner example Maxime Ripard Bootlin maxime@bootlin.com - Kernel, drivers and embedded Linux - Development, consulting, training and

More information

EC H2020 dredbox: Seminar School at INSA Rennes

EC H2020 dredbox: Seminar School at INSA Rennes EC H2020 dredbox: Seminar School at INSA Rennes contact@virtualopensystems.com www.virtualopensystems.com Pierre LUCAS 2017-11-22 Open Part 1: Open Company Overview 2 OpenOpen Confidential & Proprietary

More information

Designing Security & Trust into Connected Devices

Designing Security & Trust into Connected Devices Designing Security & Trust into Connected Devices Eric Wang Senior Technical Marketing Manager Shenzhen / ARM Tech Forum / The Ritz-Carlton June 14, 2016 Agenda Introduction Security Foundations on Cortex-A

More information

Linux in the connected car platform

Linux in the connected car platform Linux in the connected car platform Background Long time desktop Linux user Designed several capes for the BeagleBone Black Currently an Embedded engineer for Dialexa What is a connected car anyway? A

More information

Porting bhyve on ARM. Mihai Carabas, Peter Grehan BSDCan 2016 University of Ottawa Ottawa, Canada June 10 11, 2016

Porting bhyve on ARM. Mihai Carabas, Peter Grehan BSDCan 2016 University of Ottawa Ottawa, Canada June 10 11, 2016 Porting bhyve on ARM Mihai Carabas, Peter Grehan {mihai,grehan}@freebsd.org BSDCan 2016 University of Ottawa Ottawa, Canada June 10 11, 2016 About me University POLITEHNICA of Bucharest PhD Student: virtualization

More information

GPU Quality and Application Portability

GPU Quality and Application Portability GPU Quality and Application Portability Kalle Raita Senior Software Architect, drawelements Copyright Khronos Group, 2010 - Page 1 drawelements Ltd. drawelements Based in Helsinki, Finland Founded in 2008

More information

Trusted Execution Environments (TEE) and the Open Trust Protocol (OTrP) Hannes Tschofenig and Mingliang Pei 16 th July IETF 99 th, Prague

Trusted Execution Environments (TEE) and the Open Trust Protocol (OTrP) Hannes Tschofenig and Mingliang Pei 16 th July IETF 99 th, Prague Trusted Execution Environments (TEE) and the Open Trust Protocol (OTrP) Hannes Tschofenig and Mingliang Pei 16 th July 2017 -- IETF 99 th, Prague 2 What do we mean by security? Communication Security Aims

More information

FPGA Manager. State of the Union. Moritz Fischer, National Instruments

FPGA Manager. State of the Union. Moritz Fischer, National Instruments FPGA Manager State of the Union Moritz Fischer, National Instruments $whoami Embedded Software Engineer at National Instruments Other stuff I do: U-Boot, OE, Linux Kernel Co-Maintainer of FPGA Manager

More information

Supporting a new ARM platform: the Allwinner example

Supporting a new ARM platform: the Allwinner example Embedded Linux Conference 2014 Supporting a new ARM platform: the Allwinner example Maxime Ripard Free Electrons maxime@free-electrons.com Free Electrons. Kernel, drivers and embedded Linux development,

More information

The Embedded Linux Problem

The Embedded Linux Problem The Embedded Linux Problem Mark.gross@intel.com Android-Linux kernel Architect February 2013 outline Little about me Intro History Environment Key questions Techniques Moving modules out of tree Summary

More information

Cross-architecture Virtualisation

Cross-architecture Virtualisation Cross-architecture Virtualisation Tom Spink Harry Wagstaff, Björn Franke School of Informatics University of Edinburgh Virtualisation Many of you will be familiar with same-architecture virtualisation

More information

Embedded Linux kernel and driver development training 5-day session

Embedded Linux kernel and driver development training 5-day session Embedded Linux kernel and driver development training 5-day session Title Embedded Linux kernel and driver development training Overview Understanding the Linux kernel Developing Linux device drivers Linux

More information

OpenACC Course. Office Hour #2 Q&A

OpenACC Course. Office Hour #2 Q&A OpenACC Course Office Hour #2 Q&A Q1: How many threads does each GPU core have? A: GPU cores execute arithmetic instructions. Each core can execute one single precision floating point instruction per cycle

More information

The Convergence of Storage and Server Virtualization Solarflare Communications, Inc.

The Convergence of Storage and Server Virtualization Solarflare Communications, Inc. The Convergence of Storage and Server Virtualization 2007 Solarflare Communications, Inc. About Solarflare Communications Privately-held, fabless semiconductor company. Founded 2001 Top tier investors:

More information

Virtualization with XEN. Trusted Computing CS599 Spring 2007 Arun Viswanathan University of Southern California

Virtualization with XEN. Trusted Computing CS599 Spring 2007 Arun Viswanathan University of Southern California Virtualization with XEN Trusted Computing CS599 Spring 2007 Arun Viswanathan University of Southern California A g e n d a Introduction Virtualization approaches Basic XEN Architecture Setting up XEN Bootstrapping

More information

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks LINUX-KVM The need for KVM x86 originally virtualization unfriendly No hardware provisions Instructions behave differently depending on privilege context(popf) Performance suffered on trap-and-emulate

More information

BlueVisor: A Scalable Real-time Hardware Hypervisor for Many-core Embedded System

BlueVisor: A Scalable Real-time Hardware Hypervisor for Many-core Embedded System BlueVisor: A Scalable eal-time Hardware Hypervisor for Many-core Embedded System Zhe Jiang, Neil C Audsley, Pan Dong eal-time Systems Group Department of Computer Science University of York, United Kingdom

More information

Developing on DragonBoard

Developing on DragonBoard Developing on DragonBoard Getting Started with APQ8060 and Pragmatux+Android Bill Gatliff bgat@billgatliff.com Ryan Kuester rkuester@insymbols.com 1 2 CPU Daughterboard APQ8060 ARMv7 Dual core 1.5 GHz

More information

HOW TO INTEGRATE NFC CONTROLLERS IN LINUX

HOW TO INTEGRATE NFC CONTROLLERS IN LINUX HOW TO INTEGRATE NFC CONTROLLERS IN LINUX JORDI JOFRE NFC READERS NFC EVERYWHERE 28/09/2017 WEBINAR SERIES: NFC SOFTWARE INTEGRATION PUBLIC Agenda NFC software integration webinar series Session I, 14th

More information

Hands-on with the Sitara Linux SDK

Hands-on with the Sitara Linux SDK Hands-on with the Sitara Linux SDK This presentation provides a hands-on overview of the Sitara Linux SDK. It focuses on the software and tools found in the SDK and how to use these tools to develop for

More information

How to Secure SSH with Google Two-Factor Authentication

How to Secure SSH with Google Two-Factor Authentication How to Secure SSH with Google Two-Factor Authentication WELL, SINCE IT IS QUITE COMPLEX TO SET UP, WE VE DECIDED TO DEDICATE A WHOLE BLOG TO THAT PARTICULAR STEP! A few weeks ago we took a look at how

More information

96Boards - TV Platform

96Boards - TV Platform 96Boards - TV Platform Presented by Mark Gregotski Developing the Specification Date BKK16-303 March 9, 2016 Event Linaro Connect BKK16 Overview Motivation for a TV Platform Specification Comparison with

More information

SIERRAWARE SIERRATEE FOR MIPS OMNISHIELD

SIERRAWARE SIERRATEE FOR MIPS OMNISHIELD SIERRAWARE SIERRATEE FOR MIPS OMNISHIELD Introduction SierraTEE for MIPS OmniShield is a Global Platform compliant Trusted Execution Environment (TEE) designed for devices based on Imagination Technologies'

More information

ECE 471 Embedded Systems Lecture 16

ECE 471 Embedded Systems Lecture 16 ECE 471 Embedded Systems Lecture 16 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 15 October 2018 Announcements Midterm is graded Don t forget HW#5 No class Wednesday, Career

More information

BUD Status of Android AOSP TV Project. Khasim Syed Mohammed, Tech Lead Linaro Home Group

BUD Status of Android AOSP TV Project. Khasim Syed Mohammed, Tech Lead Linaro Home Group BUD17-118 Status of Android AOSP TV Project Khasim Syed Mohammed, Tech Lead Linaro Home Group Overview ENGINEERS AND DEVICES WORKING TOGETHER What is AOSP TV Project about? Focus and Goals of AOSP TV project

More information

LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED

LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED LINUX KERNEL UPDATES FOR AUTOMOTIVE: LESSONS LEARNED TOM MCREYNOLDS, VLAD BUZOV AUTOMOTIVE SOFTWARE OCTOBER 15TH, 2013 Why kernel upgrades : the problem Linux Kernel cadence doesn t match Automotive s

More information

INTRODUCTION. 2

INTRODUCTION. 2 1 INTRODUCTION It is of no secret that Android is loved by millions of people around the world. Created and developed by Google, it would be most developers dream job. That being said, there are a lot

More information

Extending Fixed Subsystems at the TLM Level: Experiences from the FPGA World

Extending Fixed Subsystems at the TLM Level: Experiences from the FPGA World I N V E N T I V E Extending Fixed Subsystems at the TLM Level: Experiences from the FPGA World Frank Schirrmeister, Steve Brown, Larry Melling (Cadence) Dave Beal (Xilinx) Agenda Virtual Platforms Xilinx

More information

Software Driven Verification at SoC Level. Perspec System Verifier Overview

Software Driven Verification at SoC Level. Perspec System Verifier Overview Software Driven Verification at SoC Level Perspec System Verifier Overview June 2015 IP to SoC hardware/software integration and verification flows Cadence methodology and focus Applications (Basic to

More information

How to Become an IoT Developer (and Have Fun!) Justin Mclean Class Software.

How to Become an IoT Developer (and Have Fun!) Justin Mclean Class Software. How to Become an IoT Developer (and Have Fun!) Justin Mclean Class Software Email: justin@classsoftware.com Twitter: @justinmclean Who am I? Freelance Developer - programming for 25 years Incubator PMC

More information

MYD-IMX28X Development Board

MYD-IMX28X Development Board MYD-IMX28X Development Board MYC-IMX28X CPU Module as Controller Board Two 1.27mm pitch 80-pin SMT Connectors for Board-to-Board Connections 454MHz Freescale i.mx28 Series ARM926EJ-S Processors 128MB DDR2

More information

HKG Android Verified Boot 2.0 and U-boot. Igor Opaniuk, Texas Instruments

HKG Android Verified Boot 2.0 and U-boot. Igor Opaniuk, Texas Instruments HKG18-124 Android Verified Boot 2.0 and U-boot Igor Opaniuk, Texas Instruments Agenda Android Verified Boot 2.0 highlights Current status of AVB 2.0 integration in U-boot Tamper-evident storage and TEE

More information

What s In Your e-wallet? Using ARM IP to Enable Security in Mobile Phones. Richard Phelan Media Processing Division TrustZone Security Technology

What s In Your e-wallet? Using ARM IP to Enable Security in Mobile Phones. Richard Phelan Media Processing Division TrustZone Security Technology What s In Your e-wallet? Using ARM IP to Enable Security in Mobile Phones Richard Phelan Media Processing Division TrustZone Security Technology 1 What s In Your Wallet Today? Some cards A bus ticket A

More information

SFO15-100: 96Boards & the course upstream

SFO15-100: 96Boards & the course upstream SFO15-100: 96Boards & the course upstream Presented by Scott Bambrough David Mandala Date Monday 21 September 2015 Event SFO15 Scott Bambrough David Mandala Agenda 96Boards program status Hardware ecosystem

More information

CIS c. University of Pennsylvania Zachary Goldberg. Notes

CIS c. University of Pennsylvania Zachary Goldberg. Notes Notes Root Privileges sudo su Changing system configuration needs root Installing things, like Perl Modules! Intentionally things are owned by root so you don t accidentally break anything! 10/03/09 Slide

More information

Xen on ARM. How fast is it, really? Stefano Stabellini. 18 August 2014

Xen on ARM. How fast is it, really? Stefano Stabellini. 18 August 2014 Xen on ARM How fast is it, really? Stefano Stabellini 18 August 2014 Status Xen Project 4.4 release: status Features: 64-bit guest support in ARMv8 stable hypercall ABI basic lifecycle operations memory

More information

Resilient IoT Security: The end of flat security models

Resilient IoT Security: The end of flat security models Resilient IoT Security: The end of flat security models Xiao Sun Senior Application Engineer ARM Tech Symposia China 2015 November 2015 Evolution from M2M to IoT M2M Silos of Things Standards Security

More information

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer Embedded Linux Conference 2016 Bringing display and 3D to the C.H.I.P computer Maxime Ripard maxime@bootlin.com Copyright 2004-2018, Bootlin. Creative Commons BY-SA 3.0 license. embedded Linux and kernel

More information

Designing with ALTERA SoC Hardware

Designing with ALTERA SoC Hardware Designing with ALTERA SoC Hardware Course Description This course provides all theoretical and practical know-how to design ALTERA SoC devices under Quartus II software. The course combines 60% theory

More information

Facing the Reality: Virtualization in a Microkernelbased Operating System. Matthias Lange, MOS, January 26th, 2016

Facing the Reality: Virtualization in a Microkernelbased Operating System. Matthias Lange, MOS, January 26th, 2016 Facing the Reality: Virtualization in a Microkernelbased Operating System Matthias Lange, MOS, January 26th, 2016 matthias.lange@kernkonzept.com Today's take aways Microkernel systems are used to build

More information

Computer Systems and Networks. ECPE 170 University of the Pacific

Computer Systems and Networks. ECPE 170 University of the Pacific ECPE 170 University of the Pacific Introduction 2 A Modern Computer 3 Applications 4 Application Angry Birds Written in a high level language (Objective C) What resources does Angry Birds need to run?

More information

Familiarity with data types, data structures, as well as standard program design, development, and debugging techniques.

Familiarity with data types, data structures, as well as standard program design, development, and debugging techniques. EE 472 Lab 1 (Individual) Introduction to C and the Lab Environment University of Washington - Department of Electrical Engineering Introduction: This lab has two main purposes. The first is to introduce

More information

Support for Smart NICs. Ian Pratt

Support for Smart NICs. Ian Pratt Support for Smart NICs Ian Pratt Outline Xen I/O Overview Why network I/O is harder than block Smart NIC taxonomy How Xen can exploit them Enhancing Network device channel NetChannel2 proposal I/O Architecture

More information

An overview of mobile and embedded platforms

An overview of mobile and embedded platforms ES3 Lecture 2 An overview of mobile and embedded platforms Basic Classes Embedded devices: These are in toasters, cars, mice, etc. Usually very real-time focused (us accuracy) Very small memory, not usually

More information

ARMv8-A Software Development

ARMv8-A Software Development ARMv8-A Software Development Course Description ARMv8-A software development is a 4 days ARM official course. The course goes into great depth and provides all necessary know-how to develop software for

More information

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition Linux and Xen Andrea Sarro andrea.sarro(at)quadrics.it Linux Kernel Hacking Free Course IV Edition Andrea Sarro (andrea.sarro(at)quadrics.it) Linux and Xen 07/05/2008 1 / 37 Introduction Xen and Virtualization

More information

27 March 2018 Mikael Arguedas and Morgan Quigley

27 March 2018 Mikael Arguedas and Morgan Quigley 27 March 2018 Mikael Arguedas and Morgan Quigley Separate devices: (prototypes 0-3) Unified camera: (prototypes 4-5) Unified system: (prototypes 6+) USB3 USB Host USB3 USB2 USB3 USB Host PCIe root

More information

Bringing display and 3D to the C.H.I.P computer

Bringing display and 3D to the C.H.I.P computer Embedded Linux Conference 2016 Bringing display and 3D to the C.H.I.P computer Maxime Ripard Free Electrons maxime@free-electrons.com Free Electrons Embedded Linux Developers c Copyright 2004-2016, Free

More information

The Penguin and the Droid

The Penguin and the Droid The Penguin and the Droid Robert Berger Reliable Embedded Systems 2012 by Robert Berger - Reliable Embedded Systems cbna CC-Licence: http://creativecommons.org/licenses/by-nc-sa/3.0/ last commit: 2012-03-10

More information

ECE 471 Embedded Systems Lecture 15

ECE 471 Embedded Systems Lecture 15 ECE 471 Embedded Systems Lecture 15 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 10 October 2018 Midterm is Friday. Announcements 1 Homework #4 Review Still grading the code

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

The only open-source type-1 hypervisor

The only open-source type-1 hypervisor Monika Danikáková What is Xen? The only open-source type-1 hypervisor For Unix and Unix-like OS Linux, NetBSD and OpenSolaris From ancient greek term Xenos (ξένος), guest-friends Developed by the University

More information

I/O System for the PSYONIC Advanced Bionic Hand. Team 28 Byron Hopps and Steven Sun ECE 445 Senior Design Fall 2017

I/O System for the PSYONIC Advanced Bionic Hand. Team 28 Byron Hopps and Steven Sun ECE 445 Senior Design Fall 2017 I/O System for the PSYONIC Advanced Bionic Hand Team 28 Byron Hopps and Steven Sun ECE 445 Senior Design Fall 2017 Background PSYONIC is a startup at the University of Illinois working on bringing low-cost

More information