SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler 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

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Último

KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems ApproachNeo4j
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationWave PLM
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfMehmet Akar
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAlluxio, Inc.
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdfkalichargn70th171
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Gáspár Nagy
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignNeo4j
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersEmilyJiang23
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfTestgrid.io
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionWave PLM
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...Alluxio, Inc.
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024vaibhav130304
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfVictor Lopez
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationHelp Desk Migration
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionMohammed Fazuluddin
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfsteffenkarlsson2
 

Último (20)

KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdf
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
A Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data MigrationA Guideline to Zendesk to Re:amaze Data Migration
A Guideline to Zendesk to Re:amaze Data Migration
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 

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