Nowadays a lot of embedded system are connected to Internet. And every years, more devices are available in the market but without maintenance. Due to this situation, a lot of security issues raised which could compromised the lifetime of the product and the privacy of their users. To fix these bugs, these security issues or to add new features, updating remotely these systems on regular basis is very important. We have to think about update process for each new product, to be easy, reliable, efficient and not too costly for the required bandwidth or hardware performances.
Several update designs are available to fit your requirements. Due to these constraints, you have to make choice and find the right balance.
Hopefully one free software allows us to perform this task in a easy and flexible way: swupdate. This solution is very well integrated with U-boot, buildroot and Yocto. You can describe exactly how the update should be done.
This talk is to explain the main designs to update an embedded system with pro and cons of all of them and then explain how to implement them with swupdate for your embedded system.
Yocto Project looked over by Linux Foundation is an open source project. Yocto can be summarized in a single - "It is not an embedded Linux distribution, It creates a custom one for you"
My presentation provides an overview of Yocto Project, an easy starters guide.
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
How to Choose a Software Update Mechanism for Embedded Linux Devices
by Leon Anavi, Konsulko Group
Embedded Linux Conference NA 2022 and Open Source Summit NA 2022
Atomic software system update of an embedded Linux device has always been an important part of any product, especially nowadays with the existing large fleets of connected devices and Internet of Things. There are several different widely used in the industry approaches: A/B updates with dual redundant scheme, delta updates, container-based updates and combined strategies. Open source technologies such as Mender, RAUC and libostree based solutions implement these strategies and provide tools to manage updates of multiple devices. What are the advantages and disadvantages? How to choose an appropriate open source solution for a specific project? This session explores a number of different open source Linux software update technologies with practical examples for integrating them using the Yocto Project and OpenEmbedded. In order to better understand the strengths and weaknesses of each technology, we deep dive in various use cases. The talk is appropriate for anyone with basic knowledge about Linux. It will hopefully help managers, engineers and developers better understand the technical challenges and the available open source solutions with which to overcome them easier and faster so that they can focus on the unique core features of their products.
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Pierre-jean Texier
Longtemps basées sur des solutions "maison", il existe maintenant grâce à l'évolution du marché de "l'IoT", des solutions open source pour répondre à la complexité qu'est la gestion des mises à jour sur un système Linux Embarqué. Cette conférence commencera par présenter les différentes problématiques liées aux mises à jour dans un tel environnement : - accès physique, - sécurité, - downtime, - les composants à mettre à jour, - les différentes stratégies, - ...
Yocto Project looked over by Linux Foundation is an open source project. Yocto can be summarized in a single - "It is not an embedded Linux distribution, It creates a custom one for you"
My presentation provides an overview of Yocto Project, an easy starters guide.
How to Choose a Software Update Mechanism for Embedded Linux DevicesLeon Anavi
How to Choose a Software Update Mechanism for Embedded Linux Devices
by Leon Anavi, Konsulko Group
Embedded Linux Conference NA 2022 and Open Source Summit NA 2022
Atomic software system update of an embedded Linux device has always been an important part of any product, especially nowadays with the existing large fleets of connected devices and Internet of Things. There are several different widely used in the industry approaches: A/B updates with dual redundant scheme, delta updates, container-based updates and combined strategies. Open source technologies such as Mender, RAUC and libostree based solutions implement these strategies and provide tools to manage updates of multiple devices. What are the advantages and disadvantages? How to choose an appropriate open source solution for a specific project? This session explores a number of different open source Linux software update technologies with practical examples for integrating them using the Yocto Project and OpenEmbedded. In order to better understand the strengths and weaknesses of each technology, we deep dive in various use cases. The talk is appropriate for anyone with basic knowledge about Linux. It will hopefully help managers, engineers and developers better understand the technical challenges and the available open source solutions with which to overcome them easier and faster so that they can focus on the unique core features of their products.
Mises à jour logicielles en environnement Linux Embarqué, petit guide et tour...Pierre-jean Texier
Longtemps basées sur des solutions "maison", il existe maintenant grâce à l'évolution du marché de "l'IoT", des solutions open source pour répondre à la complexité qu'est la gestion des mises à jour sur un système Linux Embarqué. Cette conférence commencera par présenter les différentes problématiques liées aux mises à jour dans un tel environnement : - accès physique, - sécurité, - downtime, - les composants à mettre à jour, - les différentes stratégies, - ...
Introduction to binary translation in QEMU(TCG). Describe how it works. In addition, there is a section which demonstrate qemu-monitor, a debug tool for AArch64/QEMU.
There are lots of animations in the slides so download and open it with Microsoft PowerPoint for the best experience. Below is the download link.
Google Driver Link: http://goo.gl/XXMC9X
Yocto - Embedded Linux Distribution MakerSherif Mousa
Yocto is an Embedded Linux distribution maker.
This presentation is a quick start guide for Yocto buildsystem to get familiar with the tool and how to start building your own custom Linux system for a specific hardware target.
Angelo Compagnucci - Upgrading buildroot based devices with swupdatelinuxlab_conf
This talk will guide you through the perils of building a resilient software stack for embedded system using buildroot as a base, stuff your software in between and adding swupdate as cherry on top! The talk will be composed by three main areas:
How to use buildroot as a base system for your stack
An introduction to swupdate and it’s fields of use
An example of using buildroot + swupdate to update your stack.
In the first we will talk about using buildroot as base for your software and how to add your software around. Buildroot make really easy to build a complete firmware image when using the standard configurations provided by the software but it could be cumbersome if you want to add your software in simple, easy and automated way. So we will show you how to write a simple makefile to add your software as an external component and how to automate the process of compiling everything to produce your binary artifacts.
The second part will discuss about swupdate and it’s field of use. Swupdate provides several ways of use: it can be used in a simple way, it could be integrated to do A/B updates, it could be used via network or locally using a medium. We will discuss about the possibility of approaches of system updates and how swupdate can satisfy each one of the use cases.
The third phase will show you a real approach adopted to solve a specific use cause with the hope it can be used a reference for auditor specific needs.
Reaching the multimedia web from embedded platforms with WPEWebkitIgalia
Nowadays the Web is one of the primary ways for multimedia content consumption
and real-time communication (through WebRTC). During this talk Philippe will
present the WPEWebKit web-engine that has been deployed on a wide range of
embedded platforms and how you can add it to your own Linux-based embedded
device. WPEWebKit is the official WebKit upstream port for embedded platforms.
For multimedia playback and real-time communication it heavily relies on the
GStreamer multimedia framework. Philippe will give an overview of the W3C
specifications supported by WPEWebKit. WPEWebKit products have been deployed in
various embedded environments and hardware platforms. Philippe will focus on
i.MX platforms, outlining the steps required to enable WPEWebKit in Yocto-based
BSPs. WPEWebKit can also be used in server-side innovative ways, such as
dynamic HTML/JS/CSS powered video overlaying. Philippe will present this
use-case, detailing how live video streams can be augmented with overlays.
GstWPE is a GStreamer plugin embedding a WPEWebKit WebView, allowing to inject
a live audio/video representation of any Web page into a GStreamer pipeline.
Both GPU-based hardware-accelerated and software rasterisers runtimes are
supported.
(c) Embedded Linux Conference - North America (ELC-NA 2021)
September 27-30, 2021
Hyatt Regency Seattle | Seattle, Washington + Virtual
https://events.linuxfoundation.org/embedded-linux-conference-north-america/
Buildroot is a set of Makefiles and patches that makes it
easy to generate a complete embedded Linux system. It generates root file system images ready to be used. Complete build system based on the Linux Kernel configuration system and supports a wide range of target architectures. Here is a presentation that gives a practical quick start to build-root.
SPACK: A Package Manager for Supercomputers, Linux, and MacOSinside-BigData.com
“HPC software is becoming increasingly complex. The space of possible build configurations is combinatorial, and existing package management tools do not handle these complexities well. Because of this, most HPC software is built by hand. This talk introduces “Spack“, an open-source tool for scientific package management which helps developers and cluster administrators avoid having to waste countless hours porting and rebuilding software. Spack uses concise package recipes written in Python to automate builds with arbitrary combinations of compilers, MPI versions, and dependency libraries. With Spack, users can rapidly install software without knowing how to build it; developers can efficiently manage automatic builds of tens or hundreds of dependency libraries; and HPC centers staff can deploy many versions of software for thousands of users.”
Watch the video: http://insidehpc.com/2017/04/spack-package-manager-supercomputers-linux-macos/
Learn more: https://spack.io/
and
http://www.hpcadvisorycouncil.com/events/2017/swiss-workshop/agenda.php
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
[KubeConEU] Building images efficiently and securely on Kubernetes with BuildKitAkihiro Suda
https://sched.co/MPX5
BuildKit is a modern container image builder that focuses on efficiency and security, mostly known as the backend of Docker 18.06+ and Jessie Frazelle's `img`. (But it is even useful as a standalone tool!)
In this talk, Akihiro Suda, one of founding maintainers of BuildKit, shows practical tips for running BuildKit on Kubernetes clusters.
Often called as the Swiss Army Knife of Embedded Linux, BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. It is written with size-optimization
and limited resources in mind. Here is a presentation that details about BusyBox.
Managing Installations and Provisioning of OSGi Applications - Carsten Ziegelermfrancis
OSGi DevCon 2013
There are many different solutions for provisioning an OSGi application and maintaining its modules. The OSGi Installer from the Apache Sling project is a generic installation mechanism and supports bundles and configurations out of the box. It can be extended with other distribution formats like deployment packages or custom ones. The installation sources are pluggable as well, it ranges from file system to data stores like a Java content repository. This session introduces the installer and demonstrates how to utilize it to match own requirements from development to deployment. The different ways of provisioning starting with the file system up to more elaborate solutions is demonstrated as well as integration into other tools like the web console.
Introduction to binary translation in QEMU(TCG). Describe how it works. In addition, there is a section which demonstrate qemu-monitor, a debug tool for AArch64/QEMU.
There are lots of animations in the slides so download and open it with Microsoft PowerPoint for the best experience. Below is the download link.
Google Driver Link: http://goo.gl/XXMC9X
Yocto - Embedded Linux Distribution MakerSherif Mousa
Yocto is an Embedded Linux distribution maker.
This presentation is a quick start guide for Yocto buildsystem to get familiar with the tool and how to start building your own custom Linux system for a specific hardware target.
Angelo Compagnucci - Upgrading buildroot based devices with swupdatelinuxlab_conf
This talk will guide you through the perils of building a resilient software stack for embedded system using buildroot as a base, stuff your software in between and adding swupdate as cherry on top! The talk will be composed by three main areas:
How to use buildroot as a base system for your stack
An introduction to swupdate and it’s fields of use
An example of using buildroot + swupdate to update your stack.
In the first we will talk about using buildroot as base for your software and how to add your software around. Buildroot make really easy to build a complete firmware image when using the standard configurations provided by the software but it could be cumbersome if you want to add your software in simple, easy and automated way. So we will show you how to write a simple makefile to add your software as an external component and how to automate the process of compiling everything to produce your binary artifacts.
The second part will discuss about swupdate and it’s field of use. Swupdate provides several ways of use: it can be used in a simple way, it could be integrated to do A/B updates, it could be used via network or locally using a medium. We will discuss about the possibility of approaches of system updates and how swupdate can satisfy each one of the use cases.
The third phase will show you a real approach adopted to solve a specific use cause with the hope it can be used a reference for auditor specific needs.
Reaching the multimedia web from embedded platforms with WPEWebkitIgalia
Nowadays the Web is one of the primary ways for multimedia content consumption
and real-time communication (through WebRTC). During this talk Philippe will
present the WPEWebKit web-engine that has been deployed on a wide range of
embedded platforms and how you can add it to your own Linux-based embedded
device. WPEWebKit is the official WebKit upstream port for embedded platforms.
For multimedia playback and real-time communication it heavily relies on the
GStreamer multimedia framework. Philippe will give an overview of the W3C
specifications supported by WPEWebKit. WPEWebKit products have been deployed in
various embedded environments and hardware platforms. Philippe will focus on
i.MX platforms, outlining the steps required to enable WPEWebKit in Yocto-based
BSPs. WPEWebKit can also be used in server-side innovative ways, such as
dynamic HTML/JS/CSS powered video overlaying. Philippe will present this
use-case, detailing how live video streams can be augmented with overlays.
GstWPE is a GStreamer plugin embedding a WPEWebKit WebView, allowing to inject
a live audio/video representation of any Web page into a GStreamer pipeline.
Both GPU-based hardware-accelerated and software rasterisers runtimes are
supported.
(c) Embedded Linux Conference - North America (ELC-NA 2021)
September 27-30, 2021
Hyatt Regency Seattle | Seattle, Washington + Virtual
https://events.linuxfoundation.org/embedded-linux-conference-north-america/
Buildroot is a set of Makefiles and patches that makes it
easy to generate a complete embedded Linux system. It generates root file system images ready to be used. Complete build system based on the Linux Kernel configuration system and supports a wide range of target architectures. Here is a presentation that gives a practical quick start to build-root.
SPACK: A Package Manager for Supercomputers, Linux, and MacOSinside-BigData.com
“HPC software is becoming increasingly complex. The space of possible build configurations is combinatorial, and existing package management tools do not handle these complexities well. Because of this, most HPC software is built by hand. This talk introduces “Spack“, an open-source tool for scientific package management which helps developers and cluster administrators avoid having to waste countless hours porting and rebuilding software. Spack uses concise package recipes written in Python to automate builds with arbitrary combinations of compilers, MPI versions, and dependency libraries. With Spack, users can rapidly install software without knowing how to build it; developers can efficiently manage automatic builds of tens or hundreds of dependency libraries; and HPC centers staff can deploy many versions of software for thousands of users.”
Watch the video: http://insidehpc.com/2017/04/spack-package-manager-supercomputers-linux-macos/
Learn more: https://spack.io/
and
http://www.hpcadvisorycouncil.com/events/2017/swiss-workshop/agenda.php
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
[KubeConEU] Building images efficiently and securely on Kubernetes with BuildKitAkihiro Suda
https://sched.co/MPX5
BuildKit is a modern container image builder that focuses on efficiency and security, mostly known as the backend of Docker 18.06+ and Jessie Frazelle's `img`. (But it is even useful as a standalone tool!)
In this talk, Akihiro Suda, one of founding maintainers of BuildKit, shows practical tips for running BuildKit on Kubernetes clusters.
Often called as the Swiss Army Knife of Embedded Linux, BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. It is written with size-optimization
and limited resources in mind. Here is a presentation that details about BusyBox.
Managing Installations and Provisioning of OSGi Applications - Carsten Ziegelermfrancis
OSGi DevCon 2013
There are many different solutions for provisioning an OSGi application and maintaining its modules. The OSGi Installer from the Apache Sling project is a generic installation mechanism and supports bundles and configurations out of the box. It can be extended with other distribution formats like deployment packages or custom ones. The installation sources are pluggable as well, it ranges from file system to data stores like a Java content repository. This session introduces the installer and demonstrates how to utilize it to match own requirements from development to deployment. The different ways of provisioning starting with the file system up to more elaborate solutions is demonstrated as well as integration into other tools like the web console.
Simplifying and accelerating converged media with Open Visual CloudLiz Warner
Challenges exist with media transformation into Visual Cloud services and the flexibility to migrate those services to new HW platforms. Learn how Intel and partners are solving these challenges with highly optimized cloud native media processing, media analytics, and graphics/rendering components to quickly and easily deliver end-to-end visual cloud services with scalable open source software. Two visual cloud services around media delivery and media analytics will be demonstrated to showcase how to enable faster time to market for innovative “new media” services.
Evolution of ota_update_in_the_io_t_worldStefano Babic
The update of the software in an embedded Linux System has gained importance and it is nowadays an essential part of any product. But upgrading an embedded system in field is a complex task and must be robust and secure. The increasing number of devices connected to a public network has led to new features and requirements that a FOSS update agent must fill - Stefano is author and Maintainer of the FOSS project "SWUpdate" - a framework to build an own update strategy. In this presentation, it will be pointed out to the new requirements coming from the industry about an updater and he will show which direction the project will take in future.
Software update for embedded systems - elce2014Stefano Babic
Nowadays updating an embedded system is a mandatory feature. Not only due to security reasons, but bug fixes and new features are available after the release of a product, and in many cases an update
must be done in field. My presentation will show advantages and disadvantages for different ways for updating (using a bootloader, rescue system, etc.), taking into account reliability typical for embedded. The second part of the presentation will cover the OSS Project
"SWupdate", that I started some months ago, to provide a ready-to-use environment for updating, both local and in field, and mainly how this project can be used with Yocto.
Practical virtual network functions with Snabb (SDN Barcelona VI)Igalia
By Andy Wingo.
SDN and Network Programmability Meetup in Barcelona (VI)
21 June 2017
https://www.meetup.com/es-ES/SDN-and-Network-Programmability-Meetup-in-Barcelona
/events/239667457/?eventId=239667457
Lab Handson: Power your Creations with Intel Edison!Codemotion
by Francesco Baldassarri - Come along and play with Intel Edison, for the Internet of Things? Learn about the Developer Kit for IoT, chose your preferred environment and test it – or test all the possibilities? We will be providing information and hands on training for developers interested in testing our solutions in C/C++, Javascript, Arduino, Wyliodrin and Python. Just bring you laptop and we will help you to get started. We will also provide information about our Cloud Analytics platform, and test hardware samples with the Grove Starter Kit – Intel IoT Edition. Visit us anytime and start making! What will you make?
.NET Conf 2019 Tel-Aviv Israel
There are cases where bugs are discovered only after the product is shipped and used by the end-users. The main reason for these bugs that appear only in the production environment is the use of real user scenarios with real user data. Production debugging is about solving customer-facing issues that aren't easily reproducible in the development or testing environments. When it comes to a cloud-hosted application, production debugging becomes even harder. The code is running on multiple hosts, a business flow can span many services. A remote debugging session with the cloud is dangerous and may introduce side effects to the currently running software, such as performance degradation, interruption of service, and data correctness issues.
In this lecture, we will see how we can remote debug our cloud staging environment, and how we can use Visual Studio Snapshot debugger to set Snapshots and Log points in our production environment.
To get even more insights, the audience will see a revolutionary tool and approach for a collaborative production debugging – OzCode Debugging as a Service (DaaS), where the DevOps and the Dev team can solve production problems together!
You will learn:
1. The difficulties of debugging a modern cloud-hosted application
2. Methods and tools for capturing the state and debugging cloud-hosted services
Take your CI to the next level! Learn how to optimize your pipelines for faster and more efficient builds through parallelization, caching, failing early, and more.
Kernel Recipes 2019 - Driving the industry toward upstream firstAnne Nicolas
Wanting to avoid the Android experience, Google developers always aimed to make their Chrome OS Linux kernels as close to mainline as possible. However, when Chromebooks were first created, Google was left with no choice, the mainline kernel, in some subsystems, still did not have all the functionalities needed by Chromebooks. Hence, similarly to Android, Chrome OS had to develop their own out-of-tree code for the kernel and maintain that for a few different kernel versions.
Luckily, over the last few years a strong and consistent effort has been happening to bring Chromebook devices closer to mainline. It has led to significant improvements that now make it possible to run mainline on Chrome OS devices. And not only Chromebooks, as these significant strides are also improving Arm-based SOCs and other key components of the rich Chromebook hardware ecosystem. In this talk, we will look at how and why upstream support for Chromebooks improved, the current status of various models, and what we expect in the future.
Enric Balletbò i Serra
Kernel Recipes 2019 - No NMI? No Problem! – Implementing Arm64 Pseudo-NMIAnne Nicolas
As the name would suggest, a Non-Maskable Interrupt (NMI) is an interrupt-like feature that is unaffected by the disabling of classic interrupts. In Linux, NMIs are involved in some features such as performance event monitoring, hard-lockup detector, on demand state dumping, etc… Their potential to fire when least expected can fill the most seasoned kernel hackers with dread.
AArch64 (aka arm64 in the Linux tree) does not provide architected NMIs, a consequence being that features benefiting from NMIs see their use limited on AArch64. However, the Arm Generic Interrupt Controller (GIC) supports interrupt prioritization and masking, which, among other things, provides a way to control whether or not a set of interrupts can be signaled to a CPU.
This talk will cover how, using the GIC interrupt priorities, we provide a way to configure some interrupts to behave in an NMI-like manner on AArch64. We’ll discuss the implementation, some of the complications that ensued and also some of the benefits obtained from it.
Julien Thierry
Kernel Recipes 2019 - Hunting and fixing bugs all over the Linux kernelAnne Nicolas
At a rate of almost 9 changes per hour (24/7), the Linux kernel is definitely a scary beast. Bugs are introduced on a daily basis and, through the use of multiple code analyzers, *some* of them are detected and fixed before they hit mainline. Over the course of the last few years, Gustavo has been fixing such bugs and many different issues in every corner of the Linux kernel. Recently, he was in charge of leading the efforts to globally enable -Wimplicit-fallthrough; which appears by default in Linux v5.3. This presentation is a report on all the stuff Gustavo has found and fixed in the kernel with the support of the Core Infrastructure Initiative.
Gustavo A.R. Silva
Kernel Recipes 2019 - Metrics are moneyAnne Nicolas
In I.T. we all use all kinds of metrics. Operations teams rely heavily on these, especially when things go south. These metrics are sometimes overrated. Let’s dive into a few real life stories together.
Aurélien Rougemont
Kernel Recipes 2019 - Kernel documentation: past, present, and futureAnne Nicolas
The Linux kernel project includes a huge amount of documentation, but that information has seen little in the way of care over the
years. The amount of care has increased significantly recently, though, and things are improving quickly. Listen as the kernel’s documentation maintainer discusses the current state of the kernel’s docs, how we got here, where we’re trying to go, and how you can help.
Jonathan Corbet
Embedded Recipes 2019 - Knowing your ARM from your ARSE: wading through the t...Anne Nicolas
Modern SoC designs incorporate technologies from numerous vendors, each with their own inconsistent, confusing, undocumented and even contradictory terminology. The result is a mess of acronyms and product names which have a surprising impact on the ability to develop reusable, modular code thanks to the nature of the underlying IP being obscured.
This presentation will dive into some of the misnomers plaguing the Arm ecosystem, with the aim of explaining why things are like they are, how they fit together under the architectural umbrella and how you, as a developer, can decipher the baffling ingredients list of your next SoC design!
Will Deacon
Kernel Recipes 2019 - GNU poke, an extensible editor for structured binary dataAnne Nicolas
GNU poke is a new interactive editor for binary data. Not limited to editing basic ntities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them. Once a user has defined a structure for binary data (usually matching some file format) she can search, inspect, create, shuffle and modify abstract entities such as ELF relocations, MP3 tags, DWARF expressions, partition table entries, and so on, with primitives resembling simple editing of bits and bytes. The program comes with a library of already written descriptions (or “pickles” in poke parlance) for many binary formats.
GNU poke is useful in many domains. It is very well suited to aid in the development of programs that operate on binary files, such as assemblers and linkers. This was in fact the primary inspiration that brought me to write it: easily injecting flaws into ELF files in order to reproduce toolchain bugs. Also, due to its flexibility, poke is also very useful for reverse engineering, where the real structure of the data being edited is discovered by experiment, interactively. It is also good for the fast development of prototypes for programs like linkers, compressors or filters, and it provides a convenient foundation to write other utilities such as diff and patch tools for binary files.
This talk (unlike Gaul) is divided into four parts. First I will introduce the program and show what it does: from simple bits/bytes editing to user-defined structures. Then I will show some of the internals, and how poke is implemented. The third block will cover the way of using Poke to describe user data, which is to say the art of writing “pickles”. The presentation ends with a status of the project, a call for hackers, and a hint at future works.
Jose E. Marchesi
Kernel Recipes 2019 - Analyzing changes to the binary interface exposed by th...Anne Nicolas
Operating system distributors often face challenges that are somewhat different from that of upstream kernel developers. For instance, some kernel updates often need to stay at least binary compatible with modules that might be “out of tree” for some time.
In that context, being able to automatically detect and analyze changes to the binary interface exposed by the kernel to its module does have some noticeable value.
The Libabigail framework is capable of analyzing ELF binaries along with their accompanying debug info in the DWARF format, detect and report changes in types, functions, variables and ELF symbols. It has historically supported that for user space shared libraries and application so we worked to make it understand the Linux kernel
binaries.
In this presentation, we are going to present the current support of ABI analysis for Linux Kernel binaries, the challenges we face, how we address them and the plans we have for the future.
Dodji Seketeli, Jessica Yu, Matthias Männich
Embedded Recipes 2019 - Remote update adventures with RAUC, Yocto and BareboxAnne Nicolas
Different upgrade and update strategies exist when it comes to embedded Linux system. If at development time none of these strategies have been chosen, adding them afterwards can be tedious task.
Even harder it gets when the system is already deployed in the field and only accessible via a 3G connection.
This talk is a developer experience of putting in place exactly that. Giving a return of experience on one way of doing it on a system running Barebox and a Yocto-based distribution.
Patrick Boettcher
Embedded Recipes 2019 - Making embedded graphics less specialAnne Nicolas
Traditionally graphics drivers were one of the last hold-outs of proprietary software in an embedded Linux system. This situation is changing with open-source graphics drivers showing up for almost all of the graphics acceleration peripherals on the market right now. This talk will show how open-source graphics drivers are making embedded systems less special, as well as trying to provide an overview of the Linux graphics stack, de-mystifying what is often seen as black magic GPU stuff from outside observers.
Lucas Stach
Embedded Recipes 2019 - Linux on Open Source Hardware and Libre SiliconAnne Nicolas
This talk will explore Open Source Hardware projects relevant to Linux, including boards like BeagleBone, Olimex OLinuXino, Giant board and more. Looking at the benefits and challenges of designing Open Source Hardware for a Linux system, along with BeagleBoard.org’s experience of working with community, manufacturers, and distributors to create an Open Source Hardware platform. In closing also looking at the future, Libre Silicon like RISC-V designs, and where this might take Linux.
Drew Fustini
Embedded Recipes 2019 - From maintaining I2C to the big (embedded) pictureAnne Nicolas
The I2C subsystem is not the shiniest part of the Linux Kernel. For embedded devices, though, it is one of the many puzzle pieces which just have to work. Wolfram Sang has the experience of maintaining this subsystem for nearly 7 years now. This talk gives a short overview of how maintaining works in general and specifically in this subsystem. But mainly, it will highlight noteworthy points in the timeline and lessons learnt from that. It will present trends, not so much regarding I2C but more the Linux Kernel and the embedded ecosystem in general. And of course, there will be plenty of anecdotes and bits from behind the scenes for your entertainment.
Wolfram Sang
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
ITRenew is selling recertified OCP servers under the Sesame brand, those servers come either with their original UEFI BIOS or with LinuxBoot. The LinuxBoot project is pushing the Linux kernel inside bios flash and using userland programs as bootloader.
To achieve quality on our software stack, as any project, we need to test it. Traditional BIOS are tested by hand, this is 2019 we need to do it automatically! We already presented the hardware setup behind the LinuxBoot CI, this talk will focus on the software.
We use u-root for our userland bootloader; this software is written in Go so we naturally choose to use Go for our testing too. We will present how we are using and extending the Go native test framework `go test` for testing embedded systems (serial console) and improving the report format for integration to a CI.
Julien Viard de Galbert
Embedded Recipes 2019 - Herd your socs become a matchmakerAnne Nicolas
About 60% of the Linux kernel source tree is devoted to drivers for a large variety of supported hardware components. Especially in the embedded world, the number of different SoC families, versions, and revisions, integrating a myriad of “IP cores”, keeps on growing.
In this presentation, Geert will explain how to match drivers against hardware, and how to support a wide variety of (dis)similar devices, without turning platform and driver code into an entangled bowl of spaghetti.tra
Starting with a brief history of driver matching in Linux, he will fast-forward to device-tree based matching. He will discuss ways to handle slight variations of the same hardware devices, and different SoC revisions, each with their own quirks and bugs. Finally, Geert will show best practices for evolving device drivers in a maintainable way, based on his experiences as an embedded Linux kernel developer and maintainer.
Geert Uytterhoeven
Embedded Recipes 2019 - LLVM / Clang integrationAnne Nicolas
Buildroot is a popular and easy to use embedded Linux build system. It generates, in few minutes, lightweight and customized Linux systems, including the cross-compilation toolchain, kernel and bootloader images, as well as a wide variety of userspace libraries and programs.
This talk is about the integration of LLVM/clang into Buildroot.
In 2018, Valentin Korenblit, supervised by Romain Naour, worked on this topic during his internship at Smile ECS. After a short introduction about llvm/clang and Buildroot, this talk will go through the numerous issues discovered while adding llvm/clang componants and how these issues were fixed. Romain will also detail the work in progress and the work to be done based on llvm/clang libraries (OpenCL, Compiler-rt, BCC. Chromium, ldd).
Romain Naour
Embedded Recipes 2019 - Introduction to JTAG debuggingAnne Nicolas
This talk introduces JTAG debugging capabilities, both for debugging hardware and software. Marek first explains what the JTAG stands for and explains the operation of the JTAG state machine. This is followed by an introduction to free software JTAG tools, OpenOCD and urJTAG. Marek shortly explains how to debug software using those tools and how that ties into the JTAG state machine. However, JTAG was designed for testing hardware. Marek explains what boundary scan testing (BST) is, what are BSDL files and their format, and practically demonstrates how to blink an LED using BST and only free software tools.
Marek Vasut
Embedded Recipes 2019 - Pipewire a new foundation for embedded multimediaAnne Nicolas
PipeWire is an open source project that aims to greatly improve audio and video handling under Linux. Utilising a fresh design, it bridges use cases that have been previously addressed by different tools – or not addressed at all -, providing ground for building complex, yet secure and efficient, multimedia systems.
In this talk, Julien is going to present the PipeWire project and the concepts that make up its design. In addition, he is going to give an update of the current and future work going on around PipeWire, both upstream and in Automotive Grade Linux, an early adopter that Julien is actively working on.
Julian Bouzas
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
Ftrace’s most powerful feature is the function tracer (and function graph tracer which is built from it). But to have this enabled on production systems, it had to have its overhead be negligible when disabled. As the function tracer uses gcc’s profiling mechanism, which adds a call to “mcount” (or more recently fentry, don’t worry if you don’t know what this is, it will all be explained) at the start of almost all functions, it had to do something about the overhead that causes. The solution was to turn those calls into “nops” (an instruction that the CPU simply ignores). But this was no easy feat. It took a lot to come up with a solution (and also turning a few network cards into bricks). This talk will explain the history of how ftrace came about implementing the function tracer, and brought with it the possibility of static branches and soon static calls!
Steven Rostedt
Kernel Recipes 2019 - Suricata and XDPAnne Nicolas
Suricata is a network threat detection engine using network packets capture to reconstruct the traffic till the application layer and find threats on the network using rules that define behavior to detect. This task is really CPU intensive and discarding non interesting traffic is a solution to enable a scaling of Suricata to 40gbps and other.
This talk will present the latest evolution of Suricata that knows uses eBPF and XDP to bypass traffic. Suricata 5.0 is supporting the hardware XDP to provide ypass with network card such as Netronome. It also takes advantage of pinned maps to get persistance of the bypassed flows. This talk will cover the different usage of XDP and eBPF in Suricata and shows how it impact performance and usability. If development time permit, the talk will also cover AF_XDP and the impact on this new capture method on Suricata.
Eric Leblond
Kernel Recipes 2019 - Marvels of Memory Auto-configuration (SPD)Anne Nicolas
System memory configuration is a transparent operation nowadays, something that we all came to expect to just work out of the box. Still, it does happen behind the scenes every single time we boot our computers. This requires the cooperation of hardware components on the mainboard and on memory modules themselves, as well as firmware code to drive these. While it is possible to just let it happen, having a deeper understanding of how it works makes it possible to access valuable information from the operating system at run-time.
I will take you through the history of system memory configuration from the mid 70s to now. We will explore the different types of memory modules, how their configuration data is stored and how the firmware can access them. We will see which problems had to be solved along the way and how they were solved. Lastly we will see how Linux supports reading the memory configuration information and what you can do with that information.
Jean Delvare
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
Worried about document security while sharing them in Salesforce? Fret no more! Here are the top-notch security standards XfilesPro upholds to ensure strong security for your Salesforce documents while sharing with internal or external people.
To learn more, read the blog: https://www.xfilespro.com/how-does-xfilespro-make-document-sharing-secure-and-seamless-in-salesforce/
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
1. 1
Swupdate: how to update
your embedded device?
Charles-Antoine Couret September 2018
2. 2
Summary
Introduction
Main update designs
Swupdate presentation
Implementation
Conclusion
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
4. 4
Introduction
Why update your embedded devices?
Fix security issues or bugs
Add new features
Some constraints to keep in mind
Cost (bandwidth + development)
Reliability
Hardware capabilities (CPU power + memory + storage)
Local or remote operation
Security
Downtime
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
5. 5
Main update designs
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
6. 6
Main update design: packages repository
Similar to other distributions
Pros:
Reduced bandwidth usage
Low required storage
Simple to deploy (especially with Yocto)
Short downtime
Cons:
No atomic operations (until OS-Tree)
Complex / impossible roll back mechanism
Unknown state of the device, several combinations of packages are
possible
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
7. 7
Main update design: recovery OS
Recovery OS to download then install full update
Pros:
Easy to update another image in case of invalid system
Low storage (just kernel + initrd with some tools => extra ~10 MiB)
Cons:
Recovery OS not updated
Big bandwidth is required : complete firmware is downloaded
Possible long downtime
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
8. 8
Main update design: dual copy
Pros:
Everything is updatable (except the bootloader)
Atomic operation
Short downtime
Cons:
Need more bandwidth + storage
Could require a good process to validate new image
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
9. 9
Other considerations for all designs
Must have:
Redundant bootloader environment
Signed or encrypted updates
Infinite loop proof based on watchdog or consecutive restarts
Not to do:
Update bootloader (if you don’t have redundant bootloader)
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
11. 11
Swupdate presentation: general
OpenSource software
Developped by Stefano Babic from DENX company
Repository: https://github.com/sbabic/swupdate
Features:
Configuration at compile time
Handle embedded storage: UBI, eMMC, SD, Raw NAND, NOR and SPI-
NOR
Get updates from local / remote web server, hawkBit connector or local
file
Support compression, encryption, signature checking, etc.
Support redundant dual-copy and recovery OS designs
U-boot integration
Check software and hardware compatibility
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
12. 12
Swupdate presentation: other features
Adding new hook or handler (in C or Lua), to update a specific FPGA for example
Get progression of the process, to display on GUI
Lua or shell scripting
Has a rescue GUI in Lua: SWUpdateGUI
Integration in Yocto and buildroot
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
13. 13
Swupdate presentation: other features
Integrated web server:
mongoose
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
14. 14
Swupdate presentation: update image
CPIO image with checksum
Includes software description file like this:
software =
{
Version = "1.42";
Project_name = {
hardware-compatibility: [ "1" ];
stable = {
copy-1: {
images: (
{
name = "rootfs";
Version = "1.42";
filename = "cmc-imx6ul-image-cmc-imx6ul.ext4.gz";
device = "/dev/mmcblk1p1";
type = "raw";
compressed = true;
}
);
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
16. 16
Implementation: use case
IoT devices
Based on iMX6UL processor from Variscite provider
Yocto BSP
Internal storage: eMMC 8GiB
Firmware size: ~60 MiB
Product lifetime: > 10 years
No SD card or USB slots
Internet connection from LAN or LTE
Use Cumulocity platform
MQTT connection
Firmware / config / software repositories
Update size (GZ compression): ~19 MiB
Update notification: 515,SerialNumber,https://aircloud.cumulocity.com/binaries/1568965
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
17. 17
Implementation: design
Update design: dual copy
Enough storage and bandwidth
Atomic
No long downtime (less than 1 minute)
When notification received
Send ack to Cumulocity after each step
execlp("swupdate", "swupdate", "-e", "stable,copy-1", "-d", url, NULL);
Download to /tmp (avoid useless eMMC writes)
Check image validity (checksum, hardware, signature)
Install to standby partition
Change U-boot environment
Reboot
Validate software (around one hour) + change U-boot variable again
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
24. 24
Conclusion
Update your software while the product is alive
Adapt the update design to your constraints
Swupdate is a nice and flexible OpenSource project
It is easy to integrate and develop this feature for your product (some days)
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018
25. 25
Do you have questions?
www.mind.be
www.essensium.com
Essensium NV
Mind - Embedded Software Division
Gaston Geenslaan 9, B-3001 Leuven
Tel : +32 16-28 65 00
Fax : +32 16-28 65 01
email : info@essensium.com
Embedded recipesEmbedded recipes
Swupdate: how to update your embedded devices?Swupdate: how to update your embedded devices?
Charles-Antoine Couret September 2018