Suche senden
Hochladen
Linux field-update-2015
•
10 gefällt mir
•
5,285 views
Chris Simmonds
Folgen
Melden
Teilen
Melden
Teilen
1 von 22
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Reducing the boot time of Linux devices
Reducing the boot time of Linux devices
Chris Simmonds
Introduction to Linux Kernel by Quontra Solutions
Introduction to Linux Kernel by Quontra Solutions
QUONTRASOLUTIONS
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
Chris Simmonds
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Pierre-jean Texier
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
Software update for IoT: the current state of play
Software update for IoT: the current state of play
Chris Simmonds
Cilium - API-aware Networking and Security for Containers based on BPF
Cilium - API-aware Networking and Security for Containers based on BPF
Thomas Graf
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Empfohlen
Reducing the boot time of Linux devices
Reducing the boot time of Linux devices
Chris Simmonds
Introduction to Linux Kernel by Quontra Solutions
Introduction to Linux Kernel by Quontra Solutions
QUONTRASOLUTIONS
Embedded Linux Quick Start Guide v1.5
Embedded Linux Quick Start Guide v1.5
Chris Simmonds
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Pierre-jean Texier
Embedded Linux Kernel - Build your custom kernel
Embedded Linux Kernel - Build your custom kernel
Emertxe Information Technologies Pvt Ltd
Software update for IoT: the current state of play
Software update for IoT: the current state of play
Chris Simmonds
Cilium - API-aware Networking and Security for Containers based on BPF
Cilium - API-aware Networking and Security for Containers based on BPF
Thomas Graf
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
Marco Cavallini
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
Introduction to yocto
Introduction to yocto
Alex Gonzalez
Rancher Rodeo
Rancher Rodeo
SUSE
Read-only rootfs: theory and practice
Read-only rootfs: theory and practice
Chris Simmonds
EBPF and Linux Networking
EBPF and Linux Networking
PLUMgrid
Terraform and Weave GitOps: Build a Fully Automated Application Stack
Terraform and Weave GitOps: Build a Fully Automated Application Stack
Weaveworks
2011年度 新3年生向け
2011年度 新3年生向け
Yuki Takahashi
Cilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDP
Thomas Graf
Rootless Containers
Rootless Containers
Akihiro Suda
CETH for XDP [Linux Meetup Santa Clara | July 2016]
CETH for XDP [Linux Meetup Santa Clara | July 2016]
IO Visor Project
Linux Internals - Part I
Linux Internals - Part I
Emertxe Information Technologies Pvt Ltd
Hacking QNX
Hacking QNX
ricardomcm
A practical guide to buildroot
A practical guide to buildroot
Emertxe Information Technologies Pvt Ltd
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
linuxlab_conf
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
Ray Jenkins
eBPF maps 101
eBPF maps 101
SUSE Labs Taipei
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
The Linux Foundation
An Introduction to Linux
An Introduction to Linux
anandvaidya
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
Chris Simmonds
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
Chris Simmonds
Weitere ähnliche Inhalte
Was ist angesagt?
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
Marco Cavallini
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Mr. Vengineer
Introduction to yocto
Introduction to yocto
Alex Gonzalez
Rancher Rodeo
Rancher Rodeo
SUSE
Read-only rootfs: theory and practice
Read-only rootfs: theory and practice
Chris Simmonds
EBPF and Linux Networking
EBPF and Linux Networking
PLUMgrid
Terraform and Weave GitOps: Build a Fully Automated Application Stack
Terraform and Weave GitOps: Build a Fully Automated Application Stack
Weaveworks
2011年度 新3年生向け
2011年度 新3年生向け
Yuki Takahashi
Cilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDP
Thomas Graf
Rootless Containers
Rootless Containers
Akihiro Suda
CETH for XDP [Linux Meetup Santa Clara | July 2016]
CETH for XDP [Linux Meetup Santa Clara | July 2016]
IO Visor Project
Linux Internals - Part I
Linux Internals - Part I
Emertxe Information Technologies Pvt Ltd
Hacking QNX
Hacking QNX
ricardomcm
A practical guide to buildroot
A practical guide to buildroot
Emertxe Information Technologies Pvt Ltd
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
linuxlab_conf
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
Ray Jenkins
eBPF maps 101
eBPF maps 101
SUSE Labs Taipei
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
Thomas Graf
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
The Linux Foundation
An Introduction to Linux
An Introduction to Linux
anandvaidya
Was ist angesagt?
(20)
Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
Introduction to yocto
Introduction to yocto
Rancher Rodeo
Rancher Rodeo
Read-only rootfs: theory and practice
Read-only rootfs: theory and practice
EBPF and Linux Networking
EBPF and Linux Networking
Terraform and Weave GitOps: Build a Fully Automated Application Stack
Terraform and Weave GitOps: Build a Fully Automated Application Stack
2011年度 新3年生向け
2011年度 新3年生向け
Cilium - Container Networking with BPF & XDP
Cilium - Container Networking with BPF & XDP
Rootless Containers
Rootless Containers
CETH for XDP [Linux Meetup Santa Clara | July 2016]
CETH for XDP [Linux Meetup Santa Clara | July 2016]
Linux Internals - Part I
Linux Internals - Part I
Hacking QNX
Hacking QNX
A practical guide to buildroot
A practical guide to buildroot
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
Understanding eBPF in a Hurry!
Understanding eBPF in a Hurry!
eBPF maps 101
eBPF maps 101
LinuxCon 2015 Linux Kernel Networking Walkthrough
LinuxCon 2015 Linux Kernel Networking Walkthrough
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
An Introduction to Linux
An Introduction to Linux
Andere mochten auch
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
Chris Simmonds
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
Chris Simmonds
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
Stefano Babic
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
Chris Simmonds
Userspace drivers-2016
Userspace drivers-2016
Chris Simmonds
A timeline for embedded Linux
A timeline for embedded Linux
Chris Simmonds
Kernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using Buildroot
Anne Nicolas
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
Sherif Mousa
Making Linux do Hard Real-time
Making Linux do Hard Real-time
National Cheng Kung University
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
Sherif Mousa
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Sherif Mousa
Andere mochten auch
(11)
Software update for IoT Embedded World 2017
Software update for IoT Embedded World 2017
Quick and Easy Device Drivers for Embedded Linux Using UIO
Quick and Easy Device Drivers for Embedded Linux Using UIO
Software update for embedded systems - elce2014
Software update for embedded systems - elce2014
The end of embedded Linux (as we know it)
The end of embedded Linux (as we know it)
Userspace drivers-2016
Userspace drivers-2016
A timeline for embedded Linux
A timeline for embedded Linux
Kernel Recipes 2013 - Easy rootfs using Buildroot
Kernel Recipes 2013 - Easy rootfs using Buildroot
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
Making Linux do Hard Real-time
Making Linux do Hard Real-time
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
Ähnlich wie Linux field-update-2015
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
ICS
Chapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptx
gowthamiv26
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Chris Simmonds
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
Mender.io
Dedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/S
InfinIT - Innovationsnetværket for it
Bn 1027 demo linux adminstration
Bn 1027 demo linux adminstration
conline training
Linux
Linux
CIIT Wahcantt, Taxila distt. Rawalpindi Pakistan
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Andrejs Karpovs
eZ UnConference#2 - eZ Publish 5 basics Philippe Vincent-Royol & Florent Huck
eZ UnConference#2 - eZ Publish 5 basics Philippe Vincent-Royol & Florent Huck
eZ Publish Community
Tips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1x
Senturus
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
Mender.io
eFolder Expert Series Webinar - BDR Do's and Dont's: Featuring Andrew Bensing...
eFolder Expert Series Webinar - BDR Do's and Dont's: Featuring Andrew Bensing...
eFolder
The Art of Sitecore Upgrades
The Art of Sitecore Upgrades
Ruud van Falier
What’s New in UniVerse 11.2
What’s New in UniVerse 11.2
Rocket Software
docslide-3df5a529-2ffd-ef23.ppt
docslide-3df5a529-2ffd-ef23.ppt
PrasannaDeSilva7
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
Sherif Mousa
10 ways hardware engineers can make software integration easier
10 ways hardware engineers can make software integration easier
Chris Simmonds
Opening last bits of the infrastructure
Opening last bits of the infrastructure
Erwan Velu
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
dominion
Lecture Lesson 1 Windows 7 Configuration
Lecture Lesson 1 Windows 7 Configuration
Ken Hutchins
Ähnlich wie Linux field-update-2015
(20)
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Chapter 1 - Introduction to Operating System.pptx
Chapter 1 - Introduction to Operating System.pptx
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Debian or Yocto Project? Which is the best for your Embedded Linux project?
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
Dedicated embedded linux af Esben Haabendal, Prevas A/S
Dedicated embedded linux af Esben Haabendal, Prevas A/S
Bn 1027 demo linux adminstration
Bn 1027 demo linux adminstration
Linux
Linux
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
eZ UnConference#2 - eZ Publish 5 basics Philippe Vincent-Royol & Florent Huck
eZ UnConference#2 - eZ Publish 5 basics Philippe Vincent-Royol & Florent Huck
Tips for Installing Cognos Analytics 11.2.1x
Tips for Installing Cognos Analytics 11.2.1x
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
eFolder Expert Series Webinar - BDR Do's and Dont's: Featuring Andrew Bensing...
eFolder Expert Series Webinar - BDR Do's and Dont's: Featuring Andrew Bensing...
The Art of Sitecore Upgrades
The Art of Sitecore Upgrades
What’s New in UniVerse 11.2
What’s New in UniVerse 11.2
docslide-3df5a529-2ffd-ef23.ppt
docslide-3df5a529-2ffd-ef23.ppt
Building Embedded Linux Systems Introduction
Building Embedded Linux Systems Introduction
10 ways hardware engineers can make software integration easier
10 ways hardware engineers can make software integration easier
Opening last bits of the infrastructure
Opening last bits of the infrastructure
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Uklug2011.lotus.on.linux.report.technical.edition.v1.0
Lecture Lesson 1 Windows 7 Configuration
Lecture Lesson 1 Windows 7 Configuration
Mehr von Chris Simmonds
Debugging embedded devices using GDB
Debugging embedded devices using GDB
Chris Simmonds
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Chris Simmonds
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
Chris Simmonds
Reducing boot time in embedded Linux
Reducing boot time in embedded Linux
Chris Simmonds
Linux power management: are you doing it right?
Linux power management: are you doing it right?
Chris Simmonds
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
Chris Simmonds
Android beyond the smartphone
Android beyond the smartphone
Chris Simmonds
Tuning Android for low RAM
Tuning Android for low RAM
Chris Simmonds
The Android graphics path, in depth
The Android graphics path, in depth
Chris Simmonds
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
Mehr von Chris Simmonds
(10)
Debugging embedded devices using GDB
Debugging embedded devices using GDB
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Android rpi-csimmonds-fosdem-2019
Android rpi-csimmonds-fosdem-2019
Reducing boot time in embedded Linux
Reducing boot time in embedded Linux
Linux power management: are you doing it right?
Linux power management: are you doing it right?
Embedded Android: Android beyond the smartphone
Embedded Android: Android beyond the smartphone
Android beyond the smartphone
Android beyond the smartphone
Tuning Android for low RAM
Tuning Android for low RAM
The Android graphics path, in depth
The Android graphics path, in depth
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Linux field-update-2015
1.
Updating Embedded Linux
devices in the field Updating Embedded Linux devices in the field 1 Copyright © 2011-2015, 2net Ltd
2.
License These slides are
available under a Creative Commons Attribution-ShareAlike 3.0 license. You can read the full text of the license here http://creativecommons.org/licenses/by-sa/3.0/legalcode You are free to • copy, distribute, display, and perform the work • make derivative works • make commercial use of the work Under the following conditions • Attribution: you must give the original author credit • Share Alike: if you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one (i.e. include this page exactly as it is) • For any reuse or distribution, you must make clear to others the license terms of this work Updating Embedded Linux devices in the field 2 Copyright © 2011-2015, 2net Ltd
3.
About Chris Simmonds •
Consultant and trainer • Working with embedded Linux since 1999 • Android since 2009 • Speaker at many conferences and workshops "Looking after the Inner Penguin" blog at http://2net.co.uk/ https://uk.linkedin.com/in/chrisdsimmonds/ https://google.com/+chrissimmonds Updating Embedded Linux devices in the field 3 Copyright © 2011-2015, 2net Ltd
4.
Overview • The need
for software update of embedded devices • Update by file or system image • Update agent: bootloader or application • An Linux update agent: SWupdate • Update strategies • Failsafe Updating Embedded Linux devices in the field 4 Copyright © 2011-2015, 2net Ltd
5.
The problem • Embedded
software is non-trivial (=> has bugs!) • Devices are often connected to the Internet • Allowing hackers to exploit the bugs • Result: problems with the IoT • We need an update mechanism to fix those bugs in the field • (Not to mention the desire to deploy new features, better performance, etc.) Updating Embedded Linux devices in the field 5 Copyright © 2011-2015, 2net Ltd
6.
Components of embedded
Linux • Bootloader • Linux Kernel (+ Device Tree and kernel modules) • Root file system (basic operating system libraries and utilities, usually read-only) • System apps (often a separate partition, but may be combined with root file system) • User data (configuration settings, logs, user-supplied data) Updating Embedded Linux devices in the field 6 Copyright © 2011-2015, 2net Ltd
7.
Frequency of update Frequency Ease
of update Bootloader Kernel Root file system System applications Updating Embedded Linux devices in the field 7 Copyright © 2011-2015, 2net Ltd
8.
Requirements of an
updater • Robust: must not render the device unusable • Atomic: must not apply half an update • Fail-safe: have a fall-back mode if all else fails • Remote, unattended update (as an option) • Audit trail: so you can tell what updates have been applied • Preserve user data Updating Embedded Linux devices in the field 8 Copyright © 2011-2015, 2net Ltd
9.
A simple approach •
Majority of updates are to root filesystem and system apps, which are "just files" • Many projects have an updater based on tarballs and some shell scripts • They all fail, because: • Lack atomicity • Can’t update kernel in raw flash memory • (Usually) no audit trail • Not fail-safe • Remember: if it can go wrong, it will go wrong (eventually) 1 1Murphy’s law Updating Embedded Linux devices in the field 9 Copyright © 2011-2015, 2net Ltd
10.
Atomic file updates •
Update is either complete or not done at all • "Easy" to achieve for individual files, e.g. using POSIX rename (2) and careful checkpointing with fsync (2) • More difficult to keep relationships between files consistent • Example: application and dependant libraries • (Can be done if you pay attention to library versioning) • Mainstream Linux package managers (RPM and dpkg) solve a lot of the problems but are still not bulletproof Updating Embedded Linux devices in the field 10 Copyright © 2011-2015, 2net Ltd
11.
Atomic system image
updates • Instead of a large number of individual files, consider a system as a smaller number of system images • Kernel, root filesystem, system apps, etc • Embedded devices are typically put together like this • Need a method to update safely • Examples: • Dual copies of OS and ping-pong between them • Have separate recovery OS just for updating Updating Embedded Linux devices in the field 11 Copyright © 2011-2015, 2net Ltd
12.
Two copies of
the OS Bootloader User data Boot flag OS Copy 1 OS Copy 2 • Update OS copy 2 from OS copy 1; set boot flag when done • "ping-pong" between OS copies • But, requires double the flash storage Updating Embedded Linux devices in the field 12 Copyright © 2011-2015, 2net Ltd
13.
Recovery OS Bootloader Main OS Recovery
OS User data Boot flag • To perform update, set boot flag and reboot into recovery OS • Then update main OS; clear boot flag when done • Reboot to start updated main OS Updating Embedded Linux devices in the field 13 Copyright © 2011-2015, 2net Ltd
14.
Bootloader as update
agent • Seems an attractive option: simple environment with no OS running • But, bootloaders have limited support for peripherals, file system formats and network protocols • Incorporating the necessary software would make the bootloader more buggy • Remember that updating the bootloader itself is difficult, often a single point of failure • Conclusion: bootloader is not a good update agent! Updating Embedded Linux devices in the field 14 Copyright © 2011-2015, 2net Ltd
15.
Linux application as
update agent • Much better environment • Access to all peripherals • Read-write access to file systems • All network protocols • Maybe a display for user interaction • Few open source examples • One is SWupdate Updating Embedded Linux devices in the field 15 Copyright © 2011-2015, 2net Ltd
16.
SWupdate • Written by
Stefano Babic • Source: https://github.com/sbabic/swupdate • Doc: https://github.com/sbabic/swupdate/blob/ master/doc/source/swupdate.rst • Yocto meta layer available: https://github.com/sbabic/meta-swupdate • Can use pre- and post- install scripts to set/reset the boot flag in the bootloader (U-Boot, for example) Updating Embedded Linux devices in the field 16 Copyright © 2011-2015, 2net Ltd
17.
Local update Main OS image Recovery
OSSD SWupdate • Update supplied on local removable media, initiated by user or maintenance staff Updating Embedded Linux devices in the field 17 Copyright © 2011-2015, 2net Ltd
18.
Remote update 1/2 Main
OS image Recovery OS SD SWupdate Downloader Updater • Download update from network to local storage: allows update to be verified and installed at a convenient time • May be initiated by user or automatically • Requires spare local storage Updating Embedded Linux devices in the field 18 Copyright © 2011-2015, 2net Ltd
19.
Remote update 2/2 Main
OS image Recovery OS SWupdate Downloader Updater • Update directly from network stream: no local storage needed • Device is unavailable while updating, may lead to significant down time if link slow or broken • (Streaming not implemented in SWupadte yet) Updating Embedded Linux devices in the field 19 Copyright © 2011-2015, 2net Ltd
20.
Failsafe • Robust software
update is not the whole answer • Can’t protect against installing (correctly) a buggy update • Last line of defence: • Watchdog -> reboots if device is not functioning • Bootloader counts boots triggered by watchdog • Boot into recovery mode when exceed threshold and attempt to re-install Updating Embedded Linux devices in the field 20 Copyright © 2011-2015, 2net Ltd
21.
Further reading • "Building
Murphy-compatible embedded Linux systems" by Gilad Ben-Yossef https://www.kernel. org/doc/ols/2005/ols2005v1-pages-21-36.pdf • "Updating an embedded system :swupdate documentation" http://sbabic.github.io/swupdate/ • The rename (2) function: http://pubs.opengroup.org/onlinepubs/ 009695399/functions/rename.html • The fsync (2) function: http://pubs.opengroup.org/ onlinepubs/009695399/functions/fsync.html Updating Embedded Linux devices in the field 21 Copyright © 2011-2015, 2net Ltd
22.
• Questions? Slides on
Slide Share: http://www.slideshare.net/ chrissimmonds/linux-field-update-2015 Updating Embedded Linux devices in the field 22 Copyright © 2011-2015, 2net Ltd
Jetzt herunterladen