SlideShare a Scribd company logo
1 of 31
Download to read offline
Mirza Krak
Embedded Linux Solutions Architect
Mender.io
NDC Techtown 2019
The ultimate guide to software updates on embedded Linux devices
Session Overview
● Introduction
● Embedded Linux overview and use-case
● Software update methods
● Existing solutions
Goal: Present an overview of software update techniques used
in embedded Linux and present existing solutions for software
updates
About Me
Mirza Krak
○ 8 years in embedded Linux
○ Background in automotive
○ Board Support Package development
○ Linux kernel contributor
Mender.io
○ Over-the-air update solution for embedded Linux
○ Open source (Apache 2.0 License)
○ Remote deployment management (server)
○ Under active development
Embedded Linux
Embedded Linux
Embedded Linux - areas of usage
● Transportation
○ Public transport
○ Fleet management
○ Tracking
○ Predictive maintenance
● Infrastructure
○ Power and water grids
○ Metropolitan areas
● Buildings
○ Monitoring
○ Energy optimization
○ Access control
○ Security
● Automotive
○ Infotainment
○ Telematics and connectivity
● “Things”
○ Appliances, Routers, TV’s...
Internet of Things (IoT)
The Internet of things (IoT) is the extension of
Internet connectivity into physical devices
and everyday objects. Embedded with
electronics, Internet connectivity, and other
forms of hardware (such as sensors), these
devices can communicate and interact with
others over the Internet, and they can be
remotely monitored and controlled
Source: WikipediaIt means taking all the things in the world and
connecting them to the internet
The embedded environment
● Remote
○ Expensive to reach physically
● Long expected lifetime
○ 5 - 10 years
● Unreliable power
○ Battery
○ Suddenly unplugged
● Unreliable network
○ Intermittent connectivity
○ Low bandwidth
○ Insecure
What can
go wrong?
Must be updatable
There will be bugs, vulnerabilities
… and new features
… after the device is deployed to the field
Cost savings by using open source platforms
Embedded System Stack
Cost
10%
30%
60%
Product
Differentiation
Use open source here to:
Lower layers are expensive and
provides no differentiation
HMI
Applications
Middleware
OTA update
Operating System
Board Support
Package
Hardware
● Lower cost on non-differentiating
components
● Shorten time-to-market
● Reallocate development to differentiation:
○ Applications and HMI
Software update on-site
● No connectivity
● Technician
○ USB flash drive
● Does not scale
Software update Over-The-Air (OTA)
● No easy access to the device
● Deployment management server
○ Traceability
○ Status reports
○ Current versions
○ Controlled roll-outs
Anatomy of embedded Linux
Bootloader: system initialization code starting with
the reset vector.
● Initialize and scrub RAM
● Setup power rails and clocks
● Load the “rest” of the system
Bootloader
Linux kernel
Device Tree (ARM)
Root filesystem
Kernel: core operating system functionality
● Resource management
● Process control
● Device drivers
Device Tree: hardware description (ARM)
Root filesystem: all files, executables, data, etc for the
system
Anatomy of embedded Linux (Image)
Linux kernel
Distribution
/
Applications
Update Client
Devicetree
File system image
Requirements (minimal)
● Able to update all components
○ Normally unsafe to update bootloader
● Never render the device unusable (brick)
○ Fail-safe / roll-back
● Atomic updates
○ No partial install
● Integrity check
● Signed images
○ Trusted images
● Compatibility check
Alternative approaches
● Image/block based updates
○ Easy to implement, test, verify and maintain
○ Can be complemented with binary delta
● Incremental atomic image upgrade mechanism
○ Complexity
● Containers
○ Run applications in containers on device
● Package managers (dpkg, dnf, opkg)
○ Not designed for embedded use-case
○ Not atomic
○ Hard to maintain
Asymmetric Image updates
● Android (pre N)
● Fail-safe
● Downsides
○ Downtime
○ Intermediate
storage
Bootloader
Persistent data
Device
OS A (active) Recovery OS
Main OS
Symmetric Image updates
● Android (post N)
● Seamless updates
● Fail-safe
● Roll-back
● Downside
○ Storage overhead
Bootloader
Persistent data
Device
OS A (active) OS B (inactive)OS A (active)
1. In-place (deb,
rpm)
2. Asymmetric 3. Symmetric 4. Containers
Atomic (for
rollback)
Consistent fleet
Workflow
integration
Bandwidth (*) (*)
Downtime
Comparison of installer strategies
(*) Can be mitigated with compression or with “binary delta” transfers
Ecosystem
Categories
● Frameworks
○ SWUpdate (client)
○ RAUC (client)
○ libostree (infrastructure)
○ Hawkbit (standalone server)
● OTA Solutions
○ Mender.io
○ Updatehub.io
● OTA Solutions (SWUpdate + Hawkbit)
○ FullMetalUpdate
○ Update Factory
● Full stack (includes OTA)
○ foundries.io (libostree and containers)
○ balena.io (former resin.io, containers)
○ Torizon (based on foundries.io)
○ ….
● Proprietary (Automotive)
○ ….
SWUpdate
“SWUpdate is a Linux Update agent with the goal to provide an efficient and safe
way to update an embedded system”
● http://sbabic.github.io/swupdate/
● C & GPLv2
● Update agent on device
○ Integration with Hawkbit
● Integrated web server for “local updates”
● Update types:
○ Symmetric/Asymmetric Image Updates (rdiff)
○ In-place (files, tar.gz etc..)
○ Proxy firmware
● Cryptographic signing and verification of updates
● Yocto & Buildroot integration
RAUC
“RAUC controls the update process on embedded Linux systems. It is both a target
application that runs as an update client and a host/target tool that allows you to
create, inspect and modify installation artifacts.”
● https://www.rauc.io/
● C & Python
● License: LGPL-2.1
● Update agent on device
○ Integration with Hawkbit
● Integrated web server for “local updates”
● Update types:
○ Symmetric/Asymmetric Image Updates (casync)
○ In-place (files, tar.gz etc..)
● Cryptographic signing and verification of updates
● Yocto, Buildroot and PTXDist Integration
Hawkbit
“Eclipse hawkBit™ is a domain independent back-end framework for rolling out
software updates to constrained edge devices as well as more powerful controllers and
gateways connected to IP based networking infrastructure.”
● https://www.eclipse.org/hawkbit/
● Java
● Eclipse Public License 1.0
● Standalone server
○ Client integrations are provided by users
○ SWUpdate & RAUC are example of clients
● Eclipse Foundation project
Hawkbit - features at glance
● A device and software repository.
● Artifact content delivery.
● Software update and roll out management.
● Reporting and monitoring.
● Interfaces:
○ for direct device control.
○ for IoT solutions or applications to manage the
repository and the roll outs.
○ for device management federation (i.e. indirect
device control)
○ and a user interface to operators to manage and
run the roll outs.
● More on features here
Torizon
“Torizon is a new Linux-based software platform that simplifies the process of developing and maintaining embedded
software. It allows you to configure the system for your use case quickly and easily, so you can focus on application
development instead of Linux builds.”
Mender
Mender’s prime directive: robust and secure OTA updates
● Apache 2.0 & Golang
● Asymmetric images updates (binary delta coming soon)
○ Can be extended using the Update Module
framework
● Integrity checks to avoid corruption
● Device groupings for controlled rollout management
● Secure TLS communication between server/device
● Signed images
● Yocto, Buildroot, Debian, Ubuntu, Raspbian, OpenWRT
Mender
● Singular complete solution:
○ Fully integrated on-target client and web-based management server
○ Ability to update both your kernel and applications in one mechanism
● Mender supports both managed OTA updates and standalone deployments.
● Interface to adapt the update flow to application-specific use cases, e.g. user confirmation
● Microservices API-based architecture allows simple adaptation to custom requirements.
● Low system overhead
Mender and the value of an OSS community
● Mender is the only end-to-end open source OTA manager (both management server and client)
○ No vendor lock-in
○ Permissive Apache 2.0 license
○ A healthy peer review mechanism with more eyes on the code to increase its security
● Less reliance on tribal knowledge; less expensive than a homegrown system
○ Homegrown systems have unpredictable scope, which leads to more cost and time
○ Reliance on tribal knowledge: if a key person leaves, could cause serious issues
● Mender Hub is the only online community dedicated to enable OTA on any device and OS
○ Get started quickly
○ 40+ board integrations
Mender Hub
A community-driven
repository to enable OTA
updates with Mender on
every board and OS!
Thank You!
Q&A
@KrakMirza
mirza.krak@northern.tech
https://www.linkedin.com/in/mirzakrak/
@mender_io
https://mender.io
https://docs.mender.io/2.0/getting-started
https://hub.mender.io

More Related Content

What's hot

Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingStephan Cadene
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Splash screen for Embedded Linux 101: How to customize your boot sequence
 Splash screen for Embedded Linux 101: How to customize your boot sequence Splash screen for Embedded Linux 101: How to customize your boot sequence
Splash screen for Embedded Linux 101: How to customize your boot sequencePierre-jean Texier
 
Computing Performance: On the Horizon (2021)
Computing Performance: On the Horizon (2021)Computing Performance: On the Horizon (2021)
Computing Performance: On the Horizon (2021)Brendan Gregg
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Linaro
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom BoardPatrick Bellasi
 
LAS16-406: Android Widevine on OP-TEE
LAS16-406: Android Widevine on OP-TEELAS16-406: Android Widevine on OP-TEE
LAS16-406: Android Widevine on OP-TEELinaro
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devicesChris Simmonds
 
OPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialOPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialDalton Valadares
 
Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Yannick Gicquel
 
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Pierre-jean Texier
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
 
Secure storage updates - SFO17-309
Secure storage updates - SFO17-309Secure storage updates - SFO17-309
Secure storage updates - SFO17-309Linaro
 
Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded trainingH Ming
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yoctoAlex Gonzalez
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)Siji Sunny
 
HKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMHKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMLinaro
 
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging96Boards
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MLinaro
 

What's hot (20)

Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Splash screen for Embedded Linux 101: How to customize your boot sequence
 Splash screen for Embedded Linux 101: How to customize your boot sequence Splash screen for Embedded Linux 101: How to customize your boot sequence
Splash screen for Embedded Linux 101: How to customize your boot sequence
 
Computing Performance: On the Horizon (2021)
Computing Performance: On the Horizon (2021)Computing Performance: On the Horizon (2021)
Computing Performance: On the Horizon (2021)
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
 
LAS16-406: Android Widevine on OP-TEE
LAS16-406: Android Widevine on OP-TEELAS16-406: Android Widevine on OP-TEE
LAS16-406: Android Widevine on OP-TEE
 
Reducing the boot time of Linux devices
Reducing the boot time of Linux devicesReducing the boot time of Linux devices
Reducing the boot time of Linux devices
 
OPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialOPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build Tutorial
 
Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)Introduction to Optee (26 may 2016)
Introduction to Optee (26 may 2016)
 
Yocto project
Yocto projectYocto project
Yocto project
 
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
 
Secure storage updates - SFO17-309
Secure storage updates - SFO17-309Secure storage updates - SFO17-309
Secure storage updates - SFO17-309
 
Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded training
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
 
HKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRMHKG18-203 - Overview of Linaro DRM
HKG18-203 - Overview of Linaro DRM
 
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debuggingLAS16 111 - Raspberry pi3, op-tee and jtag debugging
LAS16 111 - Raspberry pi3, op-tee and jtag debugging
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 

Similar to The ultimate guide to software updates on embedded linux devices

Iot development from prototype to production
Iot development from prototype to productionIot development from prototype to production
Iot development from prototype to productionMender.io
 
Mender: The open-source software update solution
Mender: The open-source software update solutionMender: The open-source software update solution
Mender: The open-source software update solutionMender.io
 
IoT Development from Prototype to Production
IoT Development from Prototype to ProductionIoT Development from Prototype to Production
IoT Development from Prototype to ProductionMender.io
 
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...Mender.io
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices Hendri Karisma
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...ICS
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyDenys Vasyliev
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesMender.io
 
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Ryo Jin
 
Ubuntu phone engineering
Ubuntu phone engineeringUbuntu phone engineering
Ubuntu phone engineeringRex Tsai
 
WSO2 IoT Server - Product Overview
WSO2 IoT Server - Product OverviewWSO2 IoT Server - Product Overview
WSO2 IoT Server - Product OverviewWSO2
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYEnterprise Management Associates
 
Mender; the open-source software update solution
Mender; the open-source software update solutionMender; the open-source software update solution
Mender; the open-source software update solutionMender.io
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTStéphanie Roger
 
20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_GalloAndrea Gallo
 
Future of Microservices - Jakub Hadvig
Future of Microservices - Jakub HadvigFuture of Microservices - Jakub Hadvig
Future of Microservices - Jakub HadvigWEBtlak
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfICS
 
LCE13: Linaro Infrastructure Update
LCE13: Linaro Infrastructure UpdateLCE13: Linaro Infrastructure Update
LCE13: Linaro Infrastructure UpdateLinaro
 

Similar to The ultimate guide to software updates on embedded linux devices (20)

Iot development from prototype to production
Iot development from prototype to productionIot development from prototype to production
Iot development from prototype to production
 
Mender: The open-source software update solution
Mender: The open-source software update solutionMender: The open-source software update solution
Mender: The open-source software update solution
 
IoT Development from Prototype to Production
IoT Development from Prototype to ProductionIoT Development from Prototype to Production
IoT Development from Prototype to Production
 
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
Integrate IoT cloud analytics and over the-air (ota) updates with google and ...
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case Study
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
 
Ubuntu phone engineering
Ubuntu phone engineeringUbuntu phone engineering
Ubuntu phone engineering
 
WSO2 IoT Server - Product Overview
WSO2 IoT Server - Product OverviewWSO2 IoT Server - Product Overview
WSO2 IoT Server - Product Overview
 
Cloud Platform as a Service: Heroku
Cloud Platform as a Service: HerokuCloud Platform as a Service: Heroku
Cloud Platform as a Service: Heroku
 
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIYWhy Pay for Open Source Linux? Avoid the Hidden Cost of DIY
Why Pay for Open Source Linux? Avoid the Hidden Cost of DIY
 
Mender; the open-source software update solution
Mender; the open-source software update solutionMender; the open-source software update solution
Mender; the open-source software update solution
 
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoTInria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
Inria Tech Talk : RIOT, l'OS libre pour vos objets connectés #IoT
 
20141111_SOS3_Gallo
20141111_SOS3_Gallo20141111_SOS3_Gallo
20141111_SOS3_Gallo
 
Future of Microservices - Jakub Hadvig
Future of Microservices - Jakub HadvigFuture of Microservices - Jakub Hadvig
Future of Microservices - Jakub Hadvig
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
 
LCE13: Linaro Infrastructure Update
LCE13: Linaro Infrastructure UpdateLCE13: Linaro Infrastructure Update
LCE13: Linaro Infrastructure Update
 

More from Mender.io

A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devicesMender.io
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems Mender.io
 
IoT Prototyping using BBB and Debian
IoT Prototyping using BBB and DebianIoT Prototyping using BBB and Debian
IoT Prototyping using BBB and DebianMender.io
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Mender.io
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesMender.io
 
Software Updates for Connected Devices - OSCON 2018
Software Updates for Connected Devices - OSCON 2018Software Updates for Connected Devices - OSCON 2018
Software Updates for Connected Devices - OSCON 2018Mender.io
 
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018Mender.io
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Mender.io
 
Linux IoT Botnet Wars - ESC Boston 2018
Linux IoT Botnet Wars - ESC Boston 2018Linux IoT Botnet Wars - ESC Boston 2018
Linux IoT Botnet Wars - ESC Boston 2018Mender.io
 
Securing the Connected Car - SCaLE 2018
Securing the Connected Car - SCaLE 2018Securing the Connected Car - SCaLE 2018
Securing the Connected Car - SCaLE 2018Mender.io
 
Mender.io | Securing the Connected Car
Mender.io | Securing the Connected CarMender.io | Securing the Connected Car
Mender.io | Securing the Connected CarMender.io
 
Linux IoT Botnet Wars and the lack of basic security hardening
Linux IoT Botnet Wars and the lack of basic security hardeningLinux IoT Botnet Wars and the lack of basic security hardening
Linux IoT Botnet Wars and the lack of basic security hardeningMender.io
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io
 

More from Mender.io (13)

A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
 
IoT Prototyping using BBB and Debian
IoT Prototyping using BBB and DebianIoT Prototyping using BBB and Debian
IoT Prototyping using BBB and Debian
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
 
Software Updates for Connected Devices - OSCON 2018
Software Updates for Connected Devices - OSCON 2018Software Updates for Connected Devices - OSCON 2018
Software Updates for Connected Devices - OSCON 2018
 
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
Linux IOT Botnet Wars and the Lack of Basic Security Hardening - OSCON 2018
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
 
Linux IoT Botnet Wars - ESC Boston 2018
Linux IoT Botnet Wars - ESC Boston 2018Linux IoT Botnet Wars - ESC Boston 2018
Linux IoT Botnet Wars - ESC Boston 2018
 
Securing the Connected Car - SCaLE 2018
Securing the Connected Car - SCaLE 2018Securing the Connected Car - SCaLE 2018
Securing the Connected Car - SCaLE 2018
 
Mender.io | Securing the Connected Car
Mender.io | Securing the Connected CarMender.io | Securing the Connected Car
Mender.io | Securing the Connected Car
 
Linux IoT Botnet Wars and the lack of basic security hardening
Linux IoT Botnet Wars and the lack of basic security hardeningLinux IoT Botnet Wars and the lack of basic security hardening
Linux IoT Botnet Wars and the lack of basic security hardening
 
Mender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and GolangMender.io | Develop embedded applications faster | Comparing C and Golang
Mender.io | Develop embedded applications faster | Comparing C and Golang
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

The ultimate guide to software updates on embedded linux devices

  • 1. Mirza Krak Embedded Linux Solutions Architect Mender.io NDC Techtown 2019 The ultimate guide to software updates on embedded Linux devices
  • 2. Session Overview ● Introduction ● Embedded Linux overview and use-case ● Software update methods ● Existing solutions Goal: Present an overview of software update techniques used in embedded Linux and present existing solutions for software updates
  • 3. About Me Mirza Krak ○ 8 years in embedded Linux ○ Background in automotive ○ Board Support Package development ○ Linux kernel contributor Mender.io ○ Over-the-air update solution for embedded Linux ○ Open source (Apache 2.0 License) ○ Remote deployment management (server) ○ Under active development
  • 6. Embedded Linux - areas of usage ● Transportation ○ Public transport ○ Fleet management ○ Tracking ○ Predictive maintenance ● Infrastructure ○ Power and water grids ○ Metropolitan areas ● Buildings ○ Monitoring ○ Energy optimization ○ Access control ○ Security ● Automotive ○ Infotainment ○ Telematics and connectivity ● “Things” ○ Appliances, Routers, TV’s...
  • 7. Internet of Things (IoT) The Internet of things (IoT) is the extension of Internet connectivity into physical devices and everyday objects. Embedded with electronics, Internet connectivity, and other forms of hardware (such as sensors), these devices can communicate and interact with others over the Internet, and they can be remotely monitored and controlled Source: WikipediaIt means taking all the things in the world and connecting them to the internet
  • 8. The embedded environment ● Remote ○ Expensive to reach physically ● Long expected lifetime ○ 5 - 10 years ● Unreliable power ○ Battery ○ Suddenly unplugged ● Unreliable network ○ Intermittent connectivity ○ Low bandwidth ○ Insecure What can go wrong?
  • 9. Must be updatable There will be bugs, vulnerabilities … and new features … after the device is deployed to the field
  • 10. Cost savings by using open source platforms Embedded System Stack Cost 10% 30% 60% Product Differentiation Use open source here to: Lower layers are expensive and provides no differentiation HMI Applications Middleware OTA update Operating System Board Support Package Hardware ● Lower cost on non-differentiating components ● Shorten time-to-market ● Reallocate development to differentiation: ○ Applications and HMI
  • 11. Software update on-site ● No connectivity ● Technician ○ USB flash drive ● Does not scale
  • 12. Software update Over-The-Air (OTA) ● No easy access to the device ● Deployment management server ○ Traceability ○ Status reports ○ Current versions ○ Controlled roll-outs
  • 13. Anatomy of embedded Linux Bootloader: system initialization code starting with the reset vector. ● Initialize and scrub RAM ● Setup power rails and clocks ● Load the “rest” of the system Bootloader Linux kernel Device Tree (ARM) Root filesystem Kernel: core operating system functionality ● Resource management ● Process control ● Device drivers Device Tree: hardware description (ARM) Root filesystem: all files, executables, data, etc for the system
  • 14. Anatomy of embedded Linux (Image) Linux kernel Distribution / Applications Update Client Devicetree File system image
  • 15. Requirements (minimal) ● Able to update all components ○ Normally unsafe to update bootloader ● Never render the device unusable (brick) ○ Fail-safe / roll-back ● Atomic updates ○ No partial install ● Integrity check ● Signed images ○ Trusted images ● Compatibility check
  • 16. Alternative approaches ● Image/block based updates ○ Easy to implement, test, verify and maintain ○ Can be complemented with binary delta ● Incremental atomic image upgrade mechanism ○ Complexity ● Containers ○ Run applications in containers on device ● Package managers (dpkg, dnf, opkg) ○ Not designed for embedded use-case ○ Not atomic ○ Hard to maintain
  • 17. Asymmetric Image updates ● Android (pre N) ● Fail-safe ● Downsides ○ Downtime ○ Intermediate storage Bootloader Persistent data Device OS A (active) Recovery OS Main OS
  • 18. Symmetric Image updates ● Android (post N) ● Seamless updates ● Fail-safe ● Roll-back ● Downside ○ Storage overhead Bootloader Persistent data Device OS A (active) OS B (inactive)OS A (active)
  • 19. 1. In-place (deb, rpm) 2. Asymmetric 3. Symmetric 4. Containers Atomic (for rollback) Consistent fleet Workflow integration Bandwidth (*) (*) Downtime Comparison of installer strategies (*) Can be mitigated with compression or with “binary delta” transfers
  • 21. Categories ● Frameworks ○ SWUpdate (client) ○ RAUC (client) ○ libostree (infrastructure) ○ Hawkbit (standalone server) ● OTA Solutions ○ Mender.io ○ Updatehub.io ● OTA Solutions (SWUpdate + Hawkbit) ○ FullMetalUpdate ○ Update Factory ● Full stack (includes OTA) ○ foundries.io (libostree and containers) ○ balena.io (former resin.io, containers) ○ Torizon (based on foundries.io) ○ …. ● Proprietary (Automotive) ○ ….
  • 22. SWUpdate “SWUpdate is a Linux Update agent with the goal to provide an efficient and safe way to update an embedded system” ● http://sbabic.github.io/swupdate/ ● C & GPLv2 ● Update agent on device ○ Integration with Hawkbit ● Integrated web server for “local updates” ● Update types: ○ Symmetric/Asymmetric Image Updates (rdiff) ○ In-place (files, tar.gz etc..) ○ Proxy firmware ● Cryptographic signing and verification of updates ● Yocto & Buildroot integration
  • 23. RAUC “RAUC controls the update process on embedded Linux systems. It is both a target application that runs as an update client and a host/target tool that allows you to create, inspect and modify installation artifacts.” ● https://www.rauc.io/ ● C & Python ● License: LGPL-2.1 ● Update agent on device ○ Integration with Hawkbit ● Integrated web server for “local updates” ● Update types: ○ Symmetric/Asymmetric Image Updates (casync) ○ In-place (files, tar.gz etc..) ● Cryptographic signing and verification of updates ● Yocto, Buildroot and PTXDist Integration
  • 24. Hawkbit “Eclipse hawkBit™ is a domain independent back-end framework for rolling out software updates to constrained edge devices as well as more powerful controllers and gateways connected to IP based networking infrastructure.” ● https://www.eclipse.org/hawkbit/ ● Java ● Eclipse Public License 1.0 ● Standalone server ○ Client integrations are provided by users ○ SWUpdate & RAUC are example of clients ● Eclipse Foundation project
  • 25. Hawkbit - features at glance ● A device and software repository. ● Artifact content delivery. ● Software update and roll out management. ● Reporting and monitoring. ● Interfaces: ○ for direct device control. ○ for IoT solutions or applications to manage the repository and the roll outs. ○ for device management federation (i.e. indirect device control) ○ and a user interface to operators to manage and run the roll outs. ● More on features here
  • 26. Torizon “Torizon is a new Linux-based software platform that simplifies the process of developing and maintaining embedded software. It allows you to configure the system for your use case quickly and easily, so you can focus on application development instead of Linux builds.”
  • 27. Mender Mender’s prime directive: robust and secure OTA updates ● Apache 2.0 & Golang ● Asymmetric images updates (binary delta coming soon) ○ Can be extended using the Update Module framework ● Integrity checks to avoid corruption ● Device groupings for controlled rollout management ● Secure TLS communication between server/device ● Signed images ● Yocto, Buildroot, Debian, Ubuntu, Raspbian, OpenWRT
  • 28. Mender ● Singular complete solution: ○ Fully integrated on-target client and web-based management server ○ Ability to update both your kernel and applications in one mechanism ● Mender supports both managed OTA updates and standalone deployments. ● Interface to adapt the update flow to application-specific use cases, e.g. user confirmation ● Microservices API-based architecture allows simple adaptation to custom requirements. ● Low system overhead
  • 29. Mender and the value of an OSS community ● Mender is the only end-to-end open source OTA manager (both management server and client) ○ No vendor lock-in ○ Permissive Apache 2.0 license ○ A healthy peer review mechanism with more eyes on the code to increase its security ● Less reliance on tribal knowledge; less expensive than a homegrown system ○ Homegrown systems have unpredictable scope, which leads to more cost and time ○ Reliance on tribal knowledge: if a key person leaves, could cause serious issues ● Mender Hub is the only online community dedicated to enable OTA on any device and OS ○ Get started quickly ○ 40+ board integrations
  • 30. Mender Hub A community-driven repository to enable OTA updates with Mender on every board and OS!