SlideShare a Scribd company logo
1 of 25
Download to read offline
Comparing
Linux OS Image Update
Models
Presented by
Drew Moseley
Technical Solutions Architect
Toradex
WITH YOU TODAY…
WE’RE LOCATEDIN LUCERNE, SWITZERLAND
Drew Moseley
Technical Solutions Architect
Toradex
WHAT WE’LL
COVER TODAY…
• Introduction to OTA models
- Dual A-B
- OSTree
• Introduction to OTA systems (Mender, SWUpdate,
RAUC, Torizon)
• Description of binary delta implementations
• Benchmarking common upgrade use cases
AGENDA
Simplifying the Development and
Operation of Linux IoT Devices
A B Data
Bootloader
DUAL PARTITION
WHAT IS libostree?
"libostree is both a shared library and suite of command line tools
that combines a “git-like” model for committing and downloading
bootable filesystem trees, along with a layer for deploying them and
managing the bootloader configuration." 1
"git-like"
model
bootable
filesystem
trees
Bootloader
configuratio
n
1 https://github.com/ostreedev/ostree#libostree
OSTree BASICS
• File-based (!)
• Relies on non-root mount/“bind-mount”
- Normally the root of a file system is mounted as “the root”
- Linux allows to bind mount a subdirectory
• Initramfs mounts OSTree
- Pivot into bind mount/sub-directory
• Hardlinks are used to speed-up deployment and
minimize space usage
Source: https://medium.com/@1154_75881/what-is-the-difference-between-a-hard-link-and-a-symbolic-link-14db61df7707
Libostree FILESYSTEM LAYOUT
(SIMPLIFIED)
• Dual A-B plus persistent data partition
• Hosted or on-prem server
• Standalone deployments
- Used for benchmarks
• Binary deltas using xdelta compression tool
- Part of the commercial offering
- Read-only unmodified partitions required
- Default tuning values used for benchmarks
Mender
RAUC
• Dual A-B plus persistent data partition
• Compatible with Hawkbit deployment server
• Standalone deployments
- Used for benchmarks
• casync for adaptive updates
- “Content-addressable data synchronization tool’
- Can be used on UBI
- Verity bundle format used for benchmarks
- Read-only not required
• Block-based adaptive updates
- 4kiB blocks hashed using SHA256
- Read-only not required
SWUpdate
• Dual A-B plus persistent data partition
• Asymmetric updates supported
- Not part of the benchmark
• Compatible with Hawkbit deployment server
• On-device web UI for deployments
- Used for benchmarks
• Zchunk algorithm used for adaptive updates
- “A file format designed for highly efficient deltas while
maintaining good compression”
- Read-only not required
TORIZON
• Single partition managed with libostree
• Torizon cloud deployment server (uptane compliant)
- Local deployment using treehub is possible
• Read-only required for libostree-managed
components
- /var is completely unmanaged
- /etc is partially managed (3-way merge)
• Adaptive updates: only new or modified objects need
to be downloaded
• Additional size reduction using “OStree static deltas”
- Per object binary deltas
- Significantly reduces the number of HTTP GET
requests
HARDWARE
• Toradex Verdin i.MX8M Mini
• Ixora carrier board
• Block based eMMC storage
• Local area network (GbE) for local/standalone deployments
• Torizon Cloud used for Torizon deployments
• Toradex Easy Installer image used for initial board installation
METHODOLOGY
• Start with standard Torizon repo manifest,
Distro, etc
- Approximately 350MB
• Hack it to allow disabling of OStree
• Add layers for update systems and chromium
• Implement verdin-imx8mm support on
SWUpdate and RAUC
• Build the torizon-minimal image
• Trigger the update
• Use tcpdump and Wireshark to measure the
conversation size
• Overriding Goal: minimize
differences between the setups
UPGRADE SCENARIOS
1. Initial install from Torizon v6.2.0 repo manifest using
Toradex Easy Installer – no update
2. One byte change in /etc (plus
MENDER_ARTIFACT_NAME) - full image update
3. One byte change in /etc (plus
MENDER_ARTIFACT_NAME) - delta update(s)
4. Install chromium v100.0.4896.88 - delta update(s)
5. Upgrade chromium to v101.0.4951.54 - delta update(s)
6. Uninstall chromium – delta update(s)
7. Upgrade to Torizon v6.5.0 repo manifest – delta update(s)
One byte change in /etc (plus MENDER_ARTIFACT_NAME) - full image update
One byte change in /etc (plus MENDER_ARTIFACT_NAME) - delta update(s)
Install chromium v100.0.4896.88 - delta update(s)
Upgrade chromium to v101.0.4951.54 - delta update(s)
Uninstall chromium – delta update(s)
Upgrade to Torizon v6.5.0 repo manifest – delta update(s)
AGGREGATE DATA
NEXT STEPS
• Clean up and submit board support (?)
• Setup a Kas configuration for repeatability
• Blog write up – including update times
• Google Summer of Code projects for
Uptane enhancements
• Other interesting update scenarios
Contact me:
drew.moseley@toradex.com
https://www.linkedin.com/in/drewmoseley/
https://twitter.com/drewmoseley
Q&A
THANK YOU
FOR YOUR INTEREST
www.toradex.com | www.torizon.io | developer.toradex.com
community.toradex.com | labs.toradex.com

More Related Content

Similar to Comparing Linux OS Image Update Models - EOSS 2024.pdf

Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Mandi Walls
 
The Art of Sitecore Upgrades
The Art of Sitecore UpgradesThe Art of Sitecore Upgrades
The Art of Sitecore UpgradesRuud van Falier
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Simon Storm
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Navigating the Container Orchestration Maze
Navigating the Container Orchestration MazeNavigating the Container Orchestration Maze
Navigating the Container Orchestration MazeAlex Vranceanu
 
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsOpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsAlessandro Pilotti
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
10052016115118 (2).pptx
10052016115118 (2).pptx10052016115118 (2).pptx
10052016115118 (2).pptxibrahimTumeh1
 
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014Jason Anderson
 
.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2aminmesbahi
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platformnirajrules
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017Patrick Chanezon
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to KubernetesVishal Biyani
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014scolestock
 

Similar to Comparing Linux OS Image Update Models - EOSS 2024.pdf (20)

Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
 
The Art of Sitecore Upgrades
The Art of Sitecore UpgradesThe Art of Sitecore Upgrades
The Art of Sitecore Upgrades
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
DR_PRESENT 1
DR_PRESENT 1DR_PRESENT 1
DR_PRESENT 1
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Navigating the Container Orchestration Maze
Navigating the Container Orchestration MazeNavigating the Container Orchestration Maze
Navigating the Container Orchestration Maze
 
Containers and Docker
Containers and DockerContainers and Docker
Containers and Docker
 
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsOpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
 
Patterns
Patterns Patterns
Patterns
 
Kubernetes @ meetic
Kubernetes @ meeticKubernetes @ meetic
Kubernetes @ meetic
 
Demystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data ScientistsDemystifying Containerization Principles for Data Scientists
Demystifying Containerization Principles for Data Scientists
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
10052016115118 (2).pptx
10052016115118 (2).pptx10052016115118 (2).pptx
10052016115118 (2).pptx
 
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
 
.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2.NET Core, ASP.NET Core Course, Session 2
.NET Core, ASP.NET Core Course, Session 2
 
Dockerization of Azure Platform
Dockerization of Azure PlatformDockerization of Azure Platform
Dockerization of Azure Platform
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Introduction to Kubernetes
Introduction to KubernetesIntroduction to Kubernetes
Introduction to Kubernetes
 
DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014DevOps with Elastic Beanstalk - TCCC-2014
DevOps with Elastic Beanstalk - TCCC-2014
 

Recently uploaded

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 

Recently uploaded (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 

Comparing Linux OS Image Update Models - EOSS 2024.pdf

  • 1. Comparing Linux OS Image Update Models Presented by Drew Moseley Technical Solutions Architect Toradex
  • 2. WITH YOU TODAY… WE’RE LOCATEDIN LUCERNE, SWITZERLAND Drew Moseley Technical Solutions Architect Toradex
  • 3. WHAT WE’LL COVER TODAY… • Introduction to OTA models - Dual A-B - OSTree • Introduction to OTA systems (Mender, SWUpdate, RAUC, Torizon) • Description of binary delta implementations • Benchmarking common upgrade use cases AGENDA
  • 4. Simplifying the Development and Operation of Linux IoT Devices
  • 6. WHAT IS libostree? "libostree is both a shared library and suite of command line tools that combines a “git-like” model for committing and downloading bootable filesystem trees, along with a layer for deploying them and managing the bootloader configuration." 1 "git-like" model bootable filesystem trees Bootloader configuratio n 1 https://github.com/ostreedev/ostree#libostree
  • 7. OSTree BASICS • File-based (!) • Relies on non-root mount/“bind-mount” - Normally the root of a file system is mounted as “the root” - Linux allows to bind mount a subdirectory • Initramfs mounts OSTree - Pivot into bind mount/sub-directory • Hardlinks are used to speed-up deployment and minimize space usage Source: https://medium.com/@1154_75881/what-is-the-difference-between-a-hard-link-and-a-symbolic-link-14db61df7707
  • 9. • Dual A-B plus persistent data partition • Hosted or on-prem server • Standalone deployments - Used for benchmarks • Binary deltas using xdelta compression tool - Part of the commercial offering - Read-only unmodified partitions required - Default tuning values used for benchmarks Mender
  • 10. RAUC • Dual A-B plus persistent data partition • Compatible with Hawkbit deployment server • Standalone deployments - Used for benchmarks • casync for adaptive updates - “Content-addressable data synchronization tool’ - Can be used on UBI - Verity bundle format used for benchmarks - Read-only not required • Block-based adaptive updates - 4kiB blocks hashed using SHA256 - Read-only not required
  • 11. SWUpdate • Dual A-B plus persistent data partition • Asymmetric updates supported - Not part of the benchmark • Compatible with Hawkbit deployment server • On-device web UI for deployments - Used for benchmarks • Zchunk algorithm used for adaptive updates - “A file format designed for highly efficient deltas while maintaining good compression” - Read-only not required
  • 12. TORIZON • Single partition managed with libostree • Torizon cloud deployment server (uptane compliant) - Local deployment using treehub is possible • Read-only required for libostree-managed components - /var is completely unmanaged - /etc is partially managed (3-way merge) • Adaptive updates: only new or modified objects need to be downloaded • Additional size reduction using “OStree static deltas” - Per object binary deltas - Significantly reduces the number of HTTP GET requests
  • 13. HARDWARE • Toradex Verdin i.MX8M Mini • Ixora carrier board • Block based eMMC storage • Local area network (GbE) for local/standalone deployments • Torizon Cloud used for Torizon deployments • Toradex Easy Installer image used for initial board installation
  • 14. METHODOLOGY • Start with standard Torizon repo manifest, Distro, etc - Approximately 350MB • Hack it to allow disabling of OStree • Add layers for update systems and chromium • Implement verdin-imx8mm support on SWUpdate and RAUC • Build the torizon-minimal image • Trigger the update • Use tcpdump and Wireshark to measure the conversation size • Overriding Goal: minimize differences between the setups
  • 15. UPGRADE SCENARIOS 1. Initial install from Torizon v6.2.0 repo manifest using Toradex Easy Installer – no update 2. One byte change in /etc (plus MENDER_ARTIFACT_NAME) - full image update 3. One byte change in /etc (plus MENDER_ARTIFACT_NAME) - delta update(s) 4. Install chromium v100.0.4896.88 - delta update(s) 5. Upgrade chromium to v101.0.4951.54 - delta update(s) 6. Uninstall chromium – delta update(s) 7. Upgrade to Torizon v6.5.0 repo manifest – delta update(s)
  • 16. One byte change in /etc (plus MENDER_ARTIFACT_NAME) - full image update
  • 17. One byte change in /etc (plus MENDER_ARTIFACT_NAME) - delta update(s)
  • 18. Install chromium v100.0.4896.88 - delta update(s)
  • 19. Upgrade chromium to v101.0.4951.54 - delta update(s)
  • 20. Uninstall chromium – delta update(s)
  • 21. Upgrade to Torizon v6.5.0 repo manifest – delta update(s)
  • 23. NEXT STEPS • Clean up and submit board support (?) • Setup a Kas configuration for repeatability • Blog write up – including update times • Google Summer of Code projects for Uptane enhancements • Other interesting update scenarios Contact me: drew.moseley@toradex.com https://www.linkedin.com/in/drewmoseley/ https://twitter.com/drewmoseley
  • 24. Q&A
  • 25. THANK YOU FOR YOUR INTEREST www.toradex.com | www.torizon.io | developer.toradex.com community.toradex.com | labs.toradex.com