SlideShare a Scribd company logo
© Copyright 2018 Xilinx
Stefano Stabellini
Xen Maintainer, Principal System Software Engineer
2018/09
Xen for Embedded, IoT, Edge
© Copyright 2018 Xilinx
Lightning Xen Update
© Copyright 2018 Xilinx
Very Embedded Requirements
˃Real Time
Low Deterministic IRQ Latency
Static Partitioning
Real Time Schedulers
˃Short Boot Times
˃Device Virtualization
Device Assignment
Device Sharing
Driver Domains
VM to VM communications
˃Certifications
Small Code Base
Type-1
>> 3
© Copyright 2018 Xilinx
Static Partitioning
>> 4
sched=null vwfi=native
© Copyright 2018 Xilinx
Static Partitioning
>> 5
sched=null vwfi=native
2.5 us
© Copyright 2018 Xilinx
VM to VM communication mechanisms
˃Libvchan
Linux LIbrary
Direct VM to VM channel based on a ring on shared memory
libxenvchan_send and libxenvchan_recv
˃PVCalls
Socket API virtualization
VM to VM communications mediated by the backend domain (dom0)
“lo” as an inter-VMs communication namespace
˃V4V
Linux library and hypercall
VM to VM communication mediated by Xen
Trivial to implement in your kernel
Not fully upstream
>> 6
© Copyright 2018 Xilinx
Shared Memory
˃Completely Configurable
Support any memory attributes including cacheable memory
˃No need for Xen support to use it
˃Can export the memory to Linux userspace and use OpenAMP
>> 7
static_shm = ["id=ID1, begin=0x40000000, size=0x1000, role=master"]
static_shm = ["id=ID1, offset=0, begin=0x48000000, size=0x1000, role=slave"]
DomU DomU
Xen
OpenAMP
© Copyright 2018 Xilinx
Reducing Code Size
>> 8
© Copyright 2018 Xilinx
Certifications
>> 9
Make xen.git certifiable:
• Reduce code size
• Fix compliance violations
reported by PRQA
Ideas on how to do
certifications in a
Xen Project (Linux
Foundation) context
© Copyright 2018 Xilinx
Dom0-less
>> 10>> 10
U-Boot
Xen
Dom0 / DomU DomU 1 DomU 2
CPU0 CPU1 CPU2
loads into memoryloads into memory
© Copyright 2018 Xilinx
Dom0-less
>> 11>> 11
U-Boot
Xen
Dom0 / DomU DomU 1 DomU 2
CPU0 CPU1 CPU2
boots
boots
© Copyright 2018 Xilinx
Secure Containers at the Edge
© Copyright 2018 Xilinx
The Problem
>> 13
Package applications for the target
Contain all dependencies
Easy to update
Independent lifecycle
Run applications on the target
Run in isolation
No interference between applications
© Copyright 2018 Xilinx
The Problem
>> 14
Package applications for the target
Contain all dependencies
Easy to update
Independent lifecycle
Run applications on the target
Run in isolation
No interference between applications
© Copyright 2018 Xilinx
The Problem
>> 15
Package applications for the target
Contain all dependencies
Easy to update
Independent lifecycle
Run applications on the target
Run in isolation
No interference between applications
© Copyright 2018 Xilinx
Packaging vs. Runtime
OCI Image Spec vs. OCI Runtime Spec
© Copyright 2018 Xilinx
The problem with
Linux namespaces
© Copyright 2018 Xilinx
Cloud-
native App
Malicious App
Linux kernel
POSIX
Cloud-
native App
Large surface of attack
On average, 3 privilege
escalation vulnerabilities per
Linux release!
© Copyright 2018 Xilinx
Cloud-
native App
Malicious App
Linux kernel
POSIX
Cloud-
native App
Large surface of attack
On average, 3 privilege
escalation vulnerabilities per
Linux release!
© Copyright 2018 Xilinx
Cloud-
native App
Malicious App
Linux kernel
POSIX
Cloud-
native App
Large surface of attack
On average, 3 privilege
escalation vulnerabilities per
Linux release!
© Copyright 2018 Xilinx
From “Understanding and Hardening Linux Containers”by NCC Group:
• Run unprivileged containers (user namespaces, root capability, dropping)
• Apply a Mandatory Access Control system, such as SELinux
• Build a custom kernel binary with as few modules as possible
• Apply sysctl hardening
• Apply disk and storage limits
• Control device access and limit resource usage with cgroups
• Drop any capabilities which are not required for the application within the container
[...]
Security hardening techniques
© Copyright 2018 Xilinx
[...]
• Use custom mount options to increase defense in depth
• Apply GRSecurity and PAX patches to Linux
• Reduce Linux attack surface with Seccomp-bpf
• Isolate containers based on trust and exposure
• Logging, auditing and monitoring is important for container deployment
• Use hardware virtualization along application trust zones
Security hardening techniques
© Copyright 2018 Xilinx
Security hardening techniques
>> 23
Securing Linux Namespaces is possible but very difficult
It requires specific knowledge of the cloud native app
Auditing and monitoring should performed everywhere
Using virtualization for isolation is still recommended
© Copyright 2018 Xilinx
Linux Namespaces: very embedded problems
˃Mixed-criticality is not supported
˃Limits on resource utilization are hard to enforce
˃Real-Time support is difficult
˃Certifications are very difficult
>> 24
© Copyright 2018 Xilinx
The Solution: Xen as Container Runtime
˃Security, Isolation and Partitioning
Multi-Tenancy
Mixed-Criticality Workloads
˃HardwareAccess to Applications
˃Real-Time Support
˃ ViryaOS: a ready-to-use runtime environment for VMs and Secure Containers
>> 25
© Copyright 2018 Xilinx
The Problem #2
˃Cross-building multipleVMs is difficult
˃Assembling the output in a single runnable image is a manual process
>> 26
© Copyright 2018 Xilinx
Embedded and IoT use pattern
˃Typically users know all the VMs they need beforehand
˃They still need to:
Build them all, plus Xen and Dom0
Install all images on target
Partition the hardware using device assignment
- Edit the Dom0 device tree
- Generate appropriate device trees for DomUs with device nodes
Plan for images upgrades and security fixes
>> 27
© Copyright 2018 Xilinx
It’s a lot of work!
© Copyright 2018 Xilinx
You think this is bad enough...
...then you try disaggregation
© Copyright 2018 Xilinx
Current Status
˃Everybodyhas their own scripts and handcrafted solutions
They are limited
Only target one use-case
Limited support for driver domains and service domains
Only support one hardware platform
˃ We would all benefit from a unifying effort
>> 30
© Copyright 2018 Xilinx
ViryaOS
A proposal for a new Xen Project sub-project
© Copyright 2018 Xilinx
ViryaOS
˃a Secure Xen based runtime
˃Containers supported natively
˃a turnkey solution
˃a Flexible build system
˃support aarch64 and x86_64
˃Targeted at embedded and IoT
>> 32
© Copyright 2018 Xilinx
BUILD RUNTIME
User
AppUser
App
ViryaOS Build
App
ViryaOS
© Copyright 2018 Xilinx
ViryaOS: Runtime
˃Dynamicallydeploy VMs and Secure Containers
˃Containers are run securely, transparently as Xen VMs
1 Kubernetes Pod per VM
See KataContainers and stage1-xen
˃Measure Boot
˃System Software updates and Containers updates
˃Uses Disaggregation, Service Domains, and Driver Domains
>> 34
© Copyright 2018 Xilinx
VIRYA OS
Xen
Dom0
Containers/
DomUs
Hardware
Secure Containers Runtime
ViryaOS: Runtime
© Copyright 2018 Xilinx
Xen
Dom0
Domain
Manager DomUs
Hardware
Secure
Containers
Runtime
Internal API
© Copyright 2018 Xilinx
Xen
Dom0
Domain
Manager DomUs
Hardware TPM
Network
Manager
NIC
TPM
Manager
Secure
Containers
Runtime
Internal API
© Copyright 2018 Xilinx
ViryaOS: Build
˃a multi-domain build system
builds multiple domains in one go
˃Create a runnable SD Card image from multiple domain builds
˃Each domain build is independentand run in a Container
˃Pre-configures device assignments to VMs
˃Made for disaggregated architectures
>> 38
© Copyright 2018 Xilinx
Image
Builder
SD
Card
Image
apks
Image.
gz
Dom0 -
Alpine Linux
Dom0 kernel
- Yocto
Dom1 DriverD
- Yocto
Rootfs
Dom2 DriverD
- Alpine Linux apks
ViryaOS: Build
© Copyright 2018 Xilinx
ViryaOS: Build
˃Everything builds in a Container
˃Support cross-builds (aarch64 on x86) with qemu-user
˃Support any build systems for domain builds
Enable mixed Alpine Linux / Yocto environments
Rootfs and kernel can be built independently
˃Support multiple DomU build output formats
˃The DomU build output is stored in a container
Intermediate artifacts can be pulled from the Docker Hub to speed up the build
>> 40
© Copyright 2018 Xilinx
Status
˃Very early stage, experimental
˃Interest, but no company backers yet, community driver
˃Subscribe to the mailing list to learn more and participate!
˃Initial implementation available for:
SDK
Containers-driven build
Yocto kernel build
Imagebuilder
>> 41
Adaptable.
Intelligent.
© Copyright 2018 Xilinx
sstabellini@kernel.org
stefanos@xilinx.com

More Related Content

What's hot

Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
Stefano Stabellini
 
Xen Project 15 Years down the Line
Xen Project 15 Years down the LineXen Project 15 Years down the Line
Xen Project 15 Years down the Line
The Linux Foundation
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
The Linux Foundation
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
The Linux Foundation
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
The Linux Foundation
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
Stefano Stabellini
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARM
Linaro
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
The Linux Foundation
 
OSSNA18: Xen Beginners Training (exercise script)
OSSNA18: Xen Beginners Training (exercise script)OSSNA18: Xen Beginners Training (exercise script)
OSSNA18: Xen Beginners Training (exercise script)
The Linux Foundation
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
The Linux Foundation
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
Novell
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
The Linux Foundation
 
Reconnaissance of Virtio: What’s new and how it’s all connected?
Reconnaissance of Virtio: What’s new and how it’s all connected?Reconnaissance of Virtio: What’s new and how it’s all connected?
Reconnaissance of Virtio: What’s new and how it’s all connected?
Samsung Open Source Group
 
KVM tools and enterprise usage
KVM tools and enterprise usageKVM tools and enterprise usage
KVM tools and enterprise usage
vincentvdk
 
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
The Linux Foundation
 
vSAN Beyond The Basics
vSAN Beyond The BasicsvSAN Beyond The Basics
vSAN Beyond The Basics
Sumit Lahiri
 
Qemu Introduction
Qemu IntroductionQemu Introduction
Qemu Introduction
Chiawei Wang
 
Dell VMware Virtual SAN Ready Nodes
Dell VMware Virtual SAN Ready NodesDell VMware Virtual SAN Ready Nodes
Dell VMware Virtual SAN Ready Nodes
Andrew McDaniel
 
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen HypervisorSafety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Stefano Stabellini
 
Xen Hypervisor
Xen HypervisorXen Hypervisor
Xen Hypervisor
Susheel Thakur
 

What's hot (20)

Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
 
Xen Project 15 Years down the Line
Xen Project 15 Years down the LineXen Project 15 Years down the Line
Xen Project 15 Years down the Line
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
 
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022System Device Tree and Lopper: Concrete Examples - ELC NA 2022
System Device Tree and Lopper: Concrete Examples - ELC NA 2022
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARM
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
OSSNA18: Xen Beginners Training (exercise script)
OSSNA18: Xen Beginners Training (exercise script)OSSNA18: Xen Beginners Training (exercise script)
OSSNA18: Xen Beginners Training (exercise script)
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)Virtualization with KVM (Kernel-based Virtual Machine)
Virtualization with KVM (Kernel-based Virtual Machine)
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
Reconnaissance of Virtio: What’s new and how it’s all connected?
Reconnaissance of Virtio: What’s new and how it’s all connected?Reconnaissance of Virtio: What’s new and how it’s all connected?
Reconnaissance of Virtio: What’s new and how it’s all connected?
 
KVM tools and enterprise usage
KVM tools and enterprise usageKVM tools and enterprise usage
KVM tools and enterprise usage
 
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
 
vSAN Beyond The Basics
vSAN Beyond The BasicsvSAN Beyond The Basics
vSAN Beyond The Basics
 
Qemu Introduction
Qemu IntroductionQemu Introduction
Qemu Introduction
 
Dell VMware Virtual SAN Ready Nodes
Dell VMware Virtual SAN Ready NodesDell VMware Virtual SAN Ready Nodes
Dell VMware Virtual SAN Ready Nodes
 
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen HypervisorSafety-Certifying Open Source Software: The Case of the Xen Hypervisor
Safety-Certifying Open Source Software: The Case of the Xen Hypervisor
 
Xen Hypervisor
Xen HypervisorXen Hypervisor
Xen Hypervisor
 

Similar to Xen on ARM for embedded and IoT: from secure containers to dom0less systems

XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
The Linux Foundation
 
Secure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous DeliverySecure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous Delivery
Tim Mackey
 
Secure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous DeliverySecure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous Delivery
Black Duck by Synopsys
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!
Steve Wilson
 
Governance for your Modern Application Platform - November 4, 2020
Governance for your Modern Application Platform - November 4, 2020Governance for your Modern Application Platform - November 4, 2020
Governance for your Modern Application Platform - November 4, 2020
VMware Tanzu
 
VMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu Introduction
VMware Tanzu Introduction
VMware Tanzu
 
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using TendermintDeploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
Kunal Malhotra
 
"Current and Planned Standards for Computer Vision and Machine Learning," a P...
"Current and Planned Standards for Computer Vision and Machine Learning," a P..."Current and Planned Standards for Computer Vision and Machine Learning," a P...
"Current and Planned Standards for Computer Vision and Machine Learning," a P...
Edge AI and Vision Alliance
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI Admin
Kendrick Coleman
 
The How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability ManagementThe How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability Management
Black Duck by Synopsys
 
The How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability ManagementThe How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability Management
Tim Mackey
 
Executive Briefing: The Why, What, and Where of Containers
Executive Briefing: The Why, What, and Where of ContainersExecutive Briefing: The Why, What, and Where of Containers
Executive Briefing: The Why, What, and Where of Containers
NVISIA
 
Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...
Black Duck by Synopsys
 
Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...
Tim Mackey
 
Containerized Cloud Computing - Redhat
Containerized Cloud Computing - RedhatContainerized Cloud Computing - Redhat
Containerized Cloud Computing - Redhat
Amazon Web Services
 
Arm tech con 2014 slides - sallam-public
Arm tech con 2014   slides - sallam-publicArm tech con 2014   slides - sallam-public
Arm tech con 2014 slides - sallam-public
Ahmed Sallam
 
wisecloud based open cloud implementation guide
wisecloud based open cloud implementation guidewisecloud based open cloud implementation guide
wisecloud based open cloud implementation guide
bizmerce
 
Transformace IT s technologiemi VMware
Transformace IT s technologiemi VMwareTransformace IT s technologiemi VMware
Transformace IT s technologiemi VMware
MarketingArrowECS_CZ
 
Protecting Pipeline DevOps and IaC
Protecting Pipeline DevOps and IaCProtecting Pipeline DevOps and IaC
Protecting Pipeline DevOps and IaC
Fernando Cardoso
 
What’s new in XenClient
What’s new in XenClientWhat’s new in XenClient
What’s new in XenClient
Citrix
 

Similar to Xen on ARM for embedded and IoT: from secure containers to dom0less systems (20)

XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
 
Secure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous DeliverySecure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous Delivery
 
Secure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous DeliverySecure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous Delivery
 
Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!Containers vs. VMs: It's All About the Apps!
Containers vs. VMs: It's All About the Apps!
 
Governance for your Modern Application Platform - November 4, 2020
Governance for your Modern Application Platform - November 4, 2020Governance for your Modern Application Platform - November 4, 2020
Governance for your Modern Application Platform - November 4, 2020
 
VMware Tanzu Introduction
VMware Tanzu IntroductionVMware Tanzu Introduction
VMware Tanzu Introduction
 
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using TendermintDeploying A Proof Of Stake App On IBM Cloud Using Tendermint
Deploying A Proof Of Stake App On IBM Cloud Using Tendermint
 
"Current and Planned Standards for Computer Vision and Machine Learning," a P...
"Current and Planned Standards for Computer Vision and Machine Learning," a P..."Current and Planned Standards for Computer Vision and Machine Learning," a P...
"Current and Planned Standards for Computer Vision and Machine Learning," a P...
 
Kubernetes for the VI Admin
Kubernetes for the VI AdminKubernetes for the VI Admin
Kubernetes for the VI Admin
 
The How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability ManagementThe How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability Management
 
The How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability ManagementThe How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability Management
 
Executive Briefing: The Why, What, and Where of Containers
Executive Briefing: The Why, What, and Where of ContainersExecutive Briefing: The Why, What, and Where of Containers
Executive Briefing: The Why, What, and Where of Containers
 
Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...
 
Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...Using hypervisor and container technology to increase datacenter security pos...
Using hypervisor and container technology to increase datacenter security pos...
 
Containerized Cloud Computing - Redhat
Containerized Cloud Computing - RedhatContainerized Cloud Computing - Redhat
Containerized Cloud Computing - Redhat
 
Arm tech con 2014 slides - sallam-public
Arm tech con 2014   slides - sallam-publicArm tech con 2014   slides - sallam-public
Arm tech con 2014 slides - sallam-public
 
wisecloud based open cloud implementation guide
wisecloud based open cloud implementation guidewisecloud based open cloud implementation guide
wisecloud based open cloud implementation guide
 
Transformace IT s technologiemi VMware
Transformace IT s technologiemi VMwareTransformace IT s technologiemi VMware
Transformace IT s technologiemi VMware
 
Protecting Pipeline DevOps and IaC
Protecting Pipeline DevOps and IaCProtecting Pipeline DevOps and IaC
Protecting Pipeline DevOps and IaC
 
What’s new in XenClient
What’s new in XenClientWhat’s new in XenClient
What’s new in XenClient
 

More from Stefano Stabellini

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Stefano Stabellini
 
RunX ELCE 2020
RunX ELCE 2020RunX ELCE 2020
RunX ELCE 2020
Stefano Stabellini
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edge
Stefano Stabellini
 
System Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and LopperSystem Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and Lopper
Stefano Stabellini
 
Cache coloring Xen Summit 2020
Cache coloring Xen Summit 2020Cache coloring Xen Summit 2020
Cache coloring Xen Summit 2020
Stefano Stabellini
 
Xen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time SystemXen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time System
Stefano Stabellini
 
Dom0less - Xen Developer Summit 2019
Dom0less  - Xen Developer Summit 2019Dom0less  - Xen Developer Summit 2019
Dom0less - Xen Developer Summit 2019
Stefano Stabellini
 
Xen Project for ARM Servers
Xen Project for ARM ServersXen Project for ARM Servers
Xen Project for ARM Servers
Stefano Stabellini
 
Xen and OpenStack
Xen and OpenStackXen and OpenStack
Xen and OpenStack
Stefano Stabellini
 
XDS15: Project Raisin
XDS15: Project RaisinXDS15: Project Raisin
XDS15: Project Raisin
Stefano Stabellini
 
OpenStack and Xen
OpenStack and XenOpenStack and Xen
OpenStack and Xen
Stefano Stabellini
 

More from Stefano Stabellini (11)

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
RunX ELCE 2020
RunX ELCE 2020RunX ELCE 2020
RunX ELCE 2020
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edge
 
System Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and LopperSystem Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and Lopper
 
Cache coloring Xen Summit 2020
Cache coloring Xen Summit 2020Cache coloring Xen Summit 2020
Cache coloring Xen Summit 2020
 
Xen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time SystemXen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time System
 
Dom0less - Xen Developer Summit 2019
Dom0less  - Xen Developer Summit 2019Dom0less  - Xen Developer Summit 2019
Dom0less - Xen Developer Summit 2019
 
Xen Project for ARM Servers
Xen Project for ARM ServersXen Project for ARM Servers
Xen Project for ARM Servers
 
Xen and OpenStack
Xen and OpenStackXen and OpenStack
Xen and OpenStack
 
XDS15: Project Raisin
XDS15: Project RaisinXDS15: Project Raisin
XDS15: Project Raisin
 
OpenStack and Xen
OpenStack and XenOpenStack and Xen
OpenStack and Xen
 

Recently uploaded

What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
sjcobrien
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 

Recently uploaded (20)

What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Malibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed RoundMalibou Pitch Deck For Its €3M Seed Round
Malibou Pitch Deck For Its €3M Seed Round
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 

Xen on ARM for embedded and IoT: from secure containers to dom0less systems

  • 1. © Copyright 2018 Xilinx Stefano Stabellini Xen Maintainer, Principal System Software Engineer 2018/09 Xen for Embedded, IoT, Edge
  • 2. © Copyright 2018 Xilinx Lightning Xen Update
  • 3. © Copyright 2018 Xilinx Very Embedded Requirements ˃Real Time Low Deterministic IRQ Latency Static Partitioning Real Time Schedulers ˃Short Boot Times ˃Device Virtualization Device Assignment Device Sharing Driver Domains VM to VM communications ˃Certifications Small Code Base Type-1 >> 3
  • 4. © Copyright 2018 Xilinx Static Partitioning >> 4 sched=null vwfi=native
  • 5. © Copyright 2018 Xilinx Static Partitioning >> 5 sched=null vwfi=native 2.5 us
  • 6. © Copyright 2018 Xilinx VM to VM communication mechanisms ˃Libvchan Linux LIbrary Direct VM to VM channel based on a ring on shared memory libxenvchan_send and libxenvchan_recv ˃PVCalls Socket API virtualization VM to VM communications mediated by the backend domain (dom0) “lo” as an inter-VMs communication namespace ˃V4V Linux library and hypercall VM to VM communication mediated by Xen Trivial to implement in your kernel Not fully upstream >> 6
  • 7. © Copyright 2018 Xilinx Shared Memory ˃Completely Configurable Support any memory attributes including cacheable memory ˃No need for Xen support to use it ˃Can export the memory to Linux userspace and use OpenAMP >> 7 static_shm = ["id=ID1, begin=0x40000000, size=0x1000, role=master"] static_shm = ["id=ID1, offset=0, begin=0x48000000, size=0x1000, role=slave"] DomU DomU Xen OpenAMP
  • 8. © Copyright 2018 Xilinx Reducing Code Size >> 8
  • 9. © Copyright 2018 Xilinx Certifications >> 9 Make xen.git certifiable: • Reduce code size • Fix compliance violations reported by PRQA Ideas on how to do certifications in a Xen Project (Linux Foundation) context
  • 10. © Copyright 2018 Xilinx Dom0-less >> 10>> 10 U-Boot Xen Dom0 / DomU DomU 1 DomU 2 CPU0 CPU1 CPU2 loads into memoryloads into memory
  • 11. © Copyright 2018 Xilinx Dom0-less >> 11>> 11 U-Boot Xen Dom0 / DomU DomU 1 DomU 2 CPU0 CPU1 CPU2 boots boots
  • 12. © Copyright 2018 Xilinx Secure Containers at the Edge
  • 13. © Copyright 2018 Xilinx The Problem >> 13 Package applications for the target Contain all dependencies Easy to update Independent lifecycle Run applications on the target Run in isolation No interference between applications
  • 14. © Copyright 2018 Xilinx The Problem >> 14 Package applications for the target Contain all dependencies Easy to update Independent lifecycle Run applications on the target Run in isolation No interference between applications
  • 15. © Copyright 2018 Xilinx The Problem >> 15 Package applications for the target Contain all dependencies Easy to update Independent lifecycle Run applications on the target Run in isolation No interference between applications
  • 16. © Copyright 2018 Xilinx Packaging vs. Runtime OCI Image Spec vs. OCI Runtime Spec
  • 17. © Copyright 2018 Xilinx The problem with Linux namespaces
  • 18. © Copyright 2018 Xilinx Cloud- native App Malicious App Linux kernel POSIX Cloud- native App Large surface of attack On average, 3 privilege escalation vulnerabilities per Linux release!
  • 19. © Copyright 2018 Xilinx Cloud- native App Malicious App Linux kernel POSIX Cloud- native App Large surface of attack On average, 3 privilege escalation vulnerabilities per Linux release!
  • 20. © Copyright 2018 Xilinx Cloud- native App Malicious App Linux kernel POSIX Cloud- native App Large surface of attack On average, 3 privilege escalation vulnerabilities per Linux release!
  • 21. © Copyright 2018 Xilinx From “Understanding and Hardening Linux Containers”by NCC Group: • Run unprivileged containers (user namespaces, root capability, dropping) • Apply a Mandatory Access Control system, such as SELinux • Build a custom kernel binary with as few modules as possible • Apply sysctl hardening • Apply disk and storage limits • Control device access and limit resource usage with cgroups • Drop any capabilities which are not required for the application within the container [...] Security hardening techniques
  • 22. © Copyright 2018 Xilinx [...] • Use custom mount options to increase defense in depth • Apply GRSecurity and PAX patches to Linux • Reduce Linux attack surface with Seccomp-bpf • Isolate containers based on trust and exposure • Logging, auditing and monitoring is important for container deployment • Use hardware virtualization along application trust zones Security hardening techniques
  • 23. © Copyright 2018 Xilinx Security hardening techniques >> 23 Securing Linux Namespaces is possible but very difficult It requires specific knowledge of the cloud native app Auditing and monitoring should performed everywhere Using virtualization for isolation is still recommended
  • 24. © Copyright 2018 Xilinx Linux Namespaces: very embedded problems ˃Mixed-criticality is not supported ˃Limits on resource utilization are hard to enforce ˃Real-Time support is difficult ˃Certifications are very difficult >> 24
  • 25. © Copyright 2018 Xilinx The Solution: Xen as Container Runtime ˃Security, Isolation and Partitioning Multi-Tenancy Mixed-Criticality Workloads ˃HardwareAccess to Applications ˃Real-Time Support ˃ ViryaOS: a ready-to-use runtime environment for VMs and Secure Containers >> 25
  • 26. © Copyright 2018 Xilinx The Problem #2 ˃Cross-building multipleVMs is difficult ˃Assembling the output in a single runnable image is a manual process >> 26
  • 27. © Copyright 2018 Xilinx Embedded and IoT use pattern ˃Typically users know all the VMs they need beforehand ˃They still need to: Build them all, plus Xen and Dom0 Install all images on target Partition the hardware using device assignment - Edit the Dom0 device tree - Generate appropriate device trees for DomUs with device nodes Plan for images upgrades and security fixes >> 27
  • 28. © Copyright 2018 Xilinx It’s a lot of work!
  • 29. © Copyright 2018 Xilinx You think this is bad enough... ...then you try disaggregation
  • 30. © Copyright 2018 Xilinx Current Status ˃Everybodyhas their own scripts and handcrafted solutions They are limited Only target one use-case Limited support for driver domains and service domains Only support one hardware platform ˃ We would all benefit from a unifying effort >> 30
  • 31. © Copyright 2018 Xilinx ViryaOS A proposal for a new Xen Project sub-project
  • 32. © Copyright 2018 Xilinx ViryaOS ˃a Secure Xen based runtime ˃Containers supported natively ˃a turnkey solution ˃a Flexible build system ˃support aarch64 and x86_64 ˃Targeted at embedded and IoT >> 32
  • 33. © Copyright 2018 Xilinx BUILD RUNTIME User AppUser App ViryaOS Build App ViryaOS
  • 34. © Copyright 2018 Xilinx ViryaOS: Runtime ˃Dynamicallydeploy VMs and Secure Containers ˃Containers are run securely, transparently as Xen VMs 1 Kubernetes Pod per VM See KataContainers and stage1-xen ˃Measure Boot ˃System Software updates and Containers updates ˃Uses Disaggregation, Service Domains, and Driver Domains >> 34
  • 35. © Copyright 2018 Xilinx VIRYA OS Xen Dom0 Containers/ DomUs Hardware Secure Containers Runtime ViryaOS: Runtime
  • 36. © Copyright 2018 Xilinx Xen Dom0 Domain Manager DomUs Hardware Secure Containers Runtime Internal API
  • 37. © Copyright 2018 Xilinx Xen Dom0 Domain Manager DomUs Hardware TPM Network Manager NIC TPM Manager Secure Containers Runtime Internal API
  • 38. © Copyright 2018 Xilinx ViryaOS: Build ˃a multi-domain build system builds multiple domains in one go ˃Create a runnable SD Card image from multiple domain builds ˃Each domain build is independentand run in a Container ˃Pre-configures device assignments to VMs ˃Made for disaggregated architectures >> 38
  • 39. © Copyright 2018 Xilinx Image Builder SD Card Image apks Image. gz Dom0 - Alpine Linux Dom0 kernel - Yocto Dom1 DriverD - Yocto Rootfs Dom2 DriverD - Alpine Linux apks ViryaOS: Build
  • 40. © Copyright 2018 Xilinx ViryaOS: Build ˃Everything builds in a Container ˃Support cross-builds (aarch64 on x86) with qemu-user ˃Support any build systems for domain builds Enable mixed Alpine Linux / Yocto environments Rootfs and kernel can be built independently ˃Support multiple DomU build output formats ˃The DomU build output is stored in a container Intermediate artifacts can be pulled from the Docker Hub to speed up the build >> 40
  • 41. © Copyright 2018 Xilinx Status ˃Very early stage, experimental ˃Interest, but no company backers yet, community driver ˃Subscribe to the mailing list to learn more and participate! ˃Initial implementation available for: SDK Containers-driven build Yocto kernel build Imagebuilder >> 41
  • 42. Adaptable. Intelligent. © Copyright 2018 Xilinx sstabellini@kernel.org stefanos@xilinx.com