This document summarizes Diego Rondini's presentation at the Embedded Linux Conference Europe 2017 in Prague about orchestrating Android-style system upgrades for embedded Linux.
The presentation discussed [1] managing and deploying software updates on embedded Linux devices in a way similar to how Android handles over-the-air updates, [2] using the SWUpdate tool and Eclipse hawkBit for updating devices, and [3] their implementation of an "Update Factory" to remotely manage and deploy updates across a fleet of devices like Android. A demo was also promised.
The document discusses how to remotely update IoT devices using Eclipse hawkBit and SWUpdate. It provides an overview of the Android approach to OTA updates, which uses a recovery OS to install updates atomically. It then describes how SWUpdate can be used as an agent on embedded Linux devices to manage updates similarly to Android. Key points covered include SWUpdate's architecture, features like local/remote interfaces and update file format/security, and how it can be integrated with hawkBit for remote management of software updates.
This document discusses remote over-the-air software updates for IoT devices. It covers:
1) SWUpdate, an open source Linux update agent that can be used to build an Android-style recovery system for updating Linux.
2) The Eclipse hawkBit project for remotely managing and deploying software updates to networked devices.
3) The presenter's implementation, called "Update Factory", which combines SWUpdate and hawkBit to provide an Android-like OTA update mechanism for embedded Linux devices.
This document provides an overview and introduction to Node.js. It covers the basics of Node.js including setting up the environment, creating a first application, using the Node Package Manager (NPM), and an introduction to key concepts like asynchronous programming with callbacks and events. The course appears to be targeted at web developers and teaches additional frameworks that can be used with Node.js like Express.js, MongoDB, and Angular.js.
The document discusses enhancing software delivery pipelines for embedded devices using Eclipse hawkBit. It describes Kynetics' Update Factory platform which uses hawkBit to manage remote software updates. It also discusses client implementations for Android and Embedded Linux, taking inspiration from Android's approach of using a recovery system to separate update preparation from execution.
The document discusses enhancing software delivery pipelines for embedded devices using Eclipse hawkBit. It describes Kynetics' Update Factory platform which uses hawkBit to manage remote software updates. It also discusses client implementations for Android and Embedded Linux, taking inspiration from Android's approach of using a recovery system to separate update preparation from execution.
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
This is the presentation given at the Symfony Live 2011 conference. It is an introduction to the new agile movement spreading in the technical operations community called DevOps and how to adopt it on web development projects, in particular Symfony projects.
Plan of the slides :
- Configuration Management
- Development VM
- Scripted deployment
- Continuous deployment
Tools presented in the slides:
- Puppet
- Vagrant
- Fabric
- Jenkins / Hudson
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
This document provides an overview of developing and deploying Java applications on Azure using Docker. It discusses using Docker to build Java applications, running containers, and deploying stacks. It also covers Docker Enterprise Edition, including subscriptions, certifications, and security features. Finally, it demonstrates using Docker on Azure, such as with Azure Container Service, and shows examples of building, running, and deploying Java applications with Docker.
Mastering node.js, part 1 - introductioncNguyn826690
This document provides an overview of Node.js and how to use it. It discusses what Node.js is, how to install it, use the Node REPL environment, create Node programs, manage packages with NPM, build a simple web server, read files from disk, debug Node applications, create a Node package, and use NPM to run packages.
The document discusses how to remotely update IoT devices using Eclipse hawkBit and SWUpdate. It provides an overview of the Android approach to OTA updates, which uses a recovery OS to install updates atomically. It then describes how SWUpdate can be used as an agent on embedded Linux devices to manage updates similarly to Android. Key points covered include SWUpdate's architecture, features like local/remote interfaces and update file format/security, and how it can be integrated with hawkBit for remote management of software updates.
This document discusses remote over-the-air software updates for IoT devices. It covers:
1) SWUpdate, an open source Linux update agent that can be used to build an Android-style recovery system for updating Linux.
2) The Eclipse hawkBit project for remotely managing and deploying software updates to networked devices.
3) The presenter's implementation, called "Update Factory", which combines SWUpdate and hawkBit to provide an Android-like OTA update mechanism for embedded Linux devices.
This document provides an overview and introduction to Node.js. It covers the basics of Node.js including setting up the environment, creating a first application, using the Node Package Manager (NPM), and an introduction to key concepts like asynchronous programming with callbacks and events. The course appears to be targeted at web developers and teaches additional frameworks that can be used with Node.js like Express.js, MongoDB, and Angular.js.
The document discusses enhancing software delivery pipelines for embedded devices using Eclipse hawkBit. It describes Kynetics' Update Factory platform which uses hawkBit to manage remote software updates. It also discusses client implementations for Android and Embedded Linux, taking inspiration from Android's approach of using a recovery system to separate update preparation from execution.
The document discusses enhancing software delivery pipelines for embedded devices using Eclipse hawkBit. It describes Kynetics' Update Factory platform which uses hawkBit to manage remote software updates. It also discusses client implementations for Android and Embedded Linux, taking inspiration from Android's approach of using a recovery system to separate update preparation from execution.
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
This is the presentation given at the Symfony Live 2011 conference. It is an introduction to the new agile movement spreading in the technical operations community called DevOps and how to adopt it on web development projects, in particular Symfony projects.
Plan of the slides :
- Configuration Management
- Development VM
- Scripted deployment
- Continuous deployment
Tools presented in the slides:
- Puppet
- Vagrant
- Fabric
- Jenkins / Hudson
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
This document provides an overview of developing and deploying Java applications on Azure using Docker. It discusses using Docker to build Java applications, running containers, and deploying stacks. It also covers Docker Enterprise Edition, including subscriptions, certifications, and security features. Finally, it demonstrates using Docker on Azure, such as with Azure Container Service, and shows examples of building, running, and deploying Java applications with Docker.
Mastering node.js, part 1 - introductioncNguyn826690
This document provides an overview of Node.js and how to use it. It discusses what Node.js is, how to install it, use the Node REPL environment, create Node programs, manage packages with NPM, build a simple web server, read files from disk, debug Node applications, create a Node package, and use NPM to run packages.
Docker - Demo on PHP Application deployment Arun prasath
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.
In this demo, I will show how to build a Apache image from a Dockerfile and deploy a PHP application which is present in an external folder using custom configuration files.
This document discusses debugging techniques for production environments. It covers using debuggers and symbol files to debug running processes, remote debugging to debug processes on other machines, analyzing core dumps to debug crashed processes postmortem, and snapshot debugging using Application Insights to capture the state of an application during errors. It also introduces the OzCode production debugging platform, which aims to provide a unified experience for debugging applications running in cloud, on-premise, and other complex environments.
This two-day training covers Docker concepts including installation, working with containers and images, building images with Dockerfiles, and integrating Docker with OpenStack. Day one focuses on the Docker introduction, installation, containers, images, Dockerfiles, and using Nova to run Docker containers as compute instances. It also covers using Glance as a Docker image registry. Day two covers Docker clustering with Kubernetes, networking, Docker Hub, case studies, and the Docker source code. It concludes with developing platforms and running Hadoop on Docker containers.
Red Hat OpenShift 4 allows for automated and customized deployments. The Full Stack Automation method fully automates installation and updates of both the OpenShift platform and Red Hat Enterprise Linux CoreOS host operating system. The Pre-existing Infrastructure method allows OpenShift to be deployed on user-managed infrastructure, where the customer provisions resources like load balancers and DNS. Both methods use the openshift-install tool to generate ignition configs and monitor the cluster deployment.
Introduction to NodeJS JSX is an extended Javascript based language used by R...JEEVANANTHAMG6
This document provides an overview of Node.js, including what Node.js is, how to install it, using the Node REPL, writing Node programs, managing packages with NPM, building a simple web server, reading files, debugging, creating packages, and using NPM to run packages. Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine that uses an event-driven, non-blocking I/O model. Key aspects covered include installing Node.js, using the Node REPL, writing Node programs, managing packages with NPM, and debugging Node applications.
This document provides an overview of the Android mobile platform architecture. It describes that Android is based on the Linux kernel with additional enhancements for power management, inter-process communication, and more. It also discusses the Dalvik virtual machine, core libraries, and hardware abstraction layer. Finally, it covers aspects of application development including setting up the manifest, laying out UI with XML, and debugging apps.
This document discusses OpenShift v3 and how it can help organizations accelerate development at DevOps speed. It provides an overview of Kubernetes and OpenShift's technical architecture, how OpenShift enables continuous delivery and faster cycle times from idea to production. It also summarizes benefits for developers, integrations, administration capabilities, and the OpenShift product roadmap.
Rapid Install automates the installation of Oracle Applications Release 12 and simplifies both standard and advanced installations. It installs required technology stack components like Oracle Database 10g, Oracle Application Server, Oracle Developer and configures them. Preparing for Rapid Install involves creating operating system accounts, setting up a stage directory to copy installation files to shorten installation time, and validating the environment meets requirements.
This document summarizes Docker concepts and provides steps for a local Docker development setup. It introduces Docker images, containers, and registries. It then outlines requirements for development and production configurations and provides examples of setting up a Node.js/Angular frontend and Django backend using Docker images. The document concludes with notes on continuous integration and architecture options.
Kubernetes is exploding in popularity right now and has all the buzz and cargo-culting that Docker enjoyed just a few years ago. But what even is Kubernetes? How do I run my PHP apps in it? Should I run my PHP apps in it ?
This is the notes of a presentation I gave to our IT dept., people who know a lot about VMs! They include a description of differences betwen a VM and a container, why would someone would want to use Docker, how it works (at 30,000 feet), some hints of what are the hub and orchestration, some Dockerfiles examples: jenkins slave, jenkins master, sinopia server, etc. and finally some new features Docker is going to propose in the future and how I intend to mix Configuration tools, such as Ansible, and Docker.
The document discusses Red Hat OpenShift 4 installation methods. It describes the Full Stack Automation method where the installer provisions all infrastructure components including hosts running Red Hat Enterprise Linux CoreOS (RHCOS). It also covers deploying to pre-existing infrastructure where the user provisions infrastructure like VMs, load balancers, and DNS, while the installer configures the OpenShift cluster and RHCOS hosts.
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Balena
This presentation, from the Embedded Linux Conference Europe in October 2016, discusses how resinOS was built, highlights some of its key features, and shares a roadmap for future development and contribution.
resinOS is the latest open-source tool built by resin.io to enable the future of hardware with the tools of modern software. resinOS is a simple yet powerful operating system that brings standard Docker containers to embedded devices and works on a wide variety of device types and architectures. resinOS was born from the team’s experience deploying embedded containers across device types and has been battle-tested in production environments.
You can download resinOS at https://resinos.io
Android porting for dummies @droidconin 2011pundiramit
This document provides an overview of porting Android to new hardware:
1. It describes the Android software stack and the structure of the Android Open Source Project code.
2. It discusses requirements for building and accessing the AOSP code, including using the 'repo' tool to download the source.
3. It summarizes the AOSP code structure and highlights key components like the Linux kernel, HAL, and build system.
4. It provides an overview of the Android boot process and offers tips for debugging, including increasing log levels and using tools like logcat, adb, and dumpsys.
p2 is an extensible provisioning platform for OSGi systems that helps manage all aspects of software installation, deployment, updating, and servicing from build time to runtime. It provides a model where all installable software units are treated uniformly, along with tools for building, deploying, and managing software repositories. p2 decouples decision making from content to provide a flexible solution that can be used for provisioning in various environments and configurations.
This document discusses container technologies including App Container (appc) and rkt. It provides an overview of appc components like the image format, discovery, and executor. It then discusses rkt, an implementation of appc, describing its modular architecture with stages 0-2 and use of systemd and cgroups for isolation. It also touches on rkt security, networking, and integration with systemd and user namespaces.
Real-World Docker: 10 Things We've Learned RightScale
Docker has taken the world of software by storm, offering the promise of a portable way to build and ship software - including software running in the cloud. The RightScale development team has been diving into Docker for several projects, and we'll share our lessons learned on using Docker for our cloud-based applications.
Eclipse Hara, Updating Embedded Devices with hawkBit Made EasyKynetics
The Eclipse Hara project aims to provide solid open-source reference implementations of a hawkBit DDI client. In this talk, we’ll focus on the new hara-ddiclient, a Kotlin library designed to facilitate and speed up the development of DDI API clients for any device capable of running on the JVM. Furthermore, the hara-ddiclient library is designed to be agnostic with respect to the type of update to install (apps, OS OTA).
We’ll present how the project came about and why the experience gained during several years of using it in the field will benefit developers using the hara-ddiclient library on any OS.
We will show what aspects of hawkBit need to be completed or implemented to use it in a production environment.
We will look at hawkBit's extension points and how they can be used and show some practices for deploying and managing a hawkBit-based product.
Mais conteúdo relacionado
Semelhante a Orchestrated Android-Style System Upgrades for Embedded Linux
Docker - Demo on PHP Application deployment Arun prasath
Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. The same container that a developer builds and tests on a laptop can run at scale, in production, on VMs, bare metal, OpenStack clusters, public clouds and more.
In this demo, I will show how to build a Apache image from a Dockerfile and deploy a PHP application which is present in an external folder using custom configuration files.
This document discusses debugging techniques for production environments. It covers using debuggers and symbol files to debug running processes, remote debugging to debug processes on other machines, analyzing core dumps to debug crashed processes postmortem, and snapshot debugging using Application Insights to capture the state of an application during errors. It also introduces the OzCode production debugging platform, which aims to provide a unified experience for debugging applications running in cloud, on-premise, and other complex environments.
This two-day training covers Docker concepts including installation, working with containers and images, building images with Dockerfiles, and integrating Docker with OpenStack. Day one focuses on the Docker introduction, installation, containers, images, Dockerfiles, and using Nova to run Docker containers as compute instances. It also covers using Glance as a Docker image registry. Day two covers Docker clustering with Kubernetes, networking, Docker Hub, case studies, and the Docker source code. It concludes with developing platforms and running Hadoop on Docker containers.
Red Hat OpenShift 4 allows for automated and customized deployments. The Full Stack Automation method fully automates installation and updates of both the OpenShift platform and Red Hat Enterprise Linux CoreOS host operating system. The Pre-existing Infrastructure method allows OpenShift to be deployed on user-managed infrastructure, where the customer provisions resources like load balancers and DNS. Both methods use the openshift-install tool to generate ignition configs and monitor the cluster deployment.
Introduction to NodeJS JSX is an extended Javascript based language used by R...JEEVANANTHAMG6
This document provides an overview of Node.js, including what Node.js is, how to install it, using the Node REPL, writing Node programs, managing packages with NPM, building a simple web server, reading files, debugging, creating packages, and using NPM to run packages. Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine that uses an event-driven, non-blocking I/O model. Key aspects covered include installing Node.js, using the Node REPL, writing Node programs, managing packages with NPM, and debugging Node applications.
This document provides an overview of the Android mobile platform architecture. It describes that Android is based on the Linux kernel with additional enhancements for power management, inter-process communication, and more. It also discusses the Dalvik virtual machine, core libraries, and hardware abstraction layer. Finally, it covers aspects of application development including setting up the manifest, laying out UI with XML, and debugging apps.
This document discusses OpenShift v3 and how it can help organizations accelerate development at DevOps speed. It provides an overview of Kubernetes and OpenShift's technical architecture, how OpenShift enables continuous delivery and faster cycle times from idea to production. It also summarizes benefits for developers, integrations, administration capabilities, and the OpenShift product roadmap.
Rapid Install automates the installation of Oracle Applications Release 12 and simplifies both standard and advanced installations. It installs required technology stack components like Oracle Database 10g, Oracle Application Server, Oracle Developer and configures them. Preparing for Rapid Install involves creating operating system accounts, setting up a stage directory to copy installation files to shorten installation time, and validating the environment meets requirements.
This document summarizes Docker concepts and provides steps for a local Docker development setup. It introduces Docker images, containers, and registries. It then outlines requirements for development and production configurations and provides examples of setting up a Node.js/Angular frontend and Django backend using Docker images. The document concludes with notes on continuous integration and architecture options.
Kubernetes is exploding in popularity right now and has all the buzz and cargo-culting that Docker enjoyed just a few years ago. But what even is Kubernetes? How do I run my PHP apps in it? Should I run my PHP apps in it ?
This is the notes of a presentation I gave to our IT dept., people who know a lot about VMs! They include a description of differences betwen a VM and a container, why would someone would want to use Docker, how it works (at 30,000 feet), some hints of what are the hub and orchestration, some Dockerfiles examples: jenkins slave, jenkins master, sinopia server, etc. and finally some new features Docker is going to propose in the future and how I intend to mix Configuration tools, such as Ansible, and Docker.
The document discusses Red Hat OpenShift 4 installation methods. It describes the Full Stack Automation method where the installer provisions all infrastructure components including hosts running Red Hat Enterprise Linux CoreOS (RHCOS). It also covers deploying to pre-existing infrastructure where the user provisions infrastructure like VMs, load balancers, and DNS, while the installer configures the OpenShift cluster and RHCOS hosts.
Introducing resinOS: An Operating System Tailored for Containers and Built fo...Balena
This presentation, from the Embedded Linux Conference Europe in October 2016, discusses how resinOS was built, highlights some of its key features, and shares a roadmap for future development and contribution.
resinOS is the latest open-source tool built by resin.io to enable the future of hardware with the tools of modern software. resinOS is a simple yet powerful operating system that brings standard Docker containers to embedded devices and works on a wide variety of device types and architectures. resinOS was born from the team’s experience deploying embedded containers across device types and has been battle-tested in production environments.
You can download resinOS at https://resinos.io
Android porting for dummies @droidconin 2011pundiramit
This document provides an overview of porting Android to new hardware:
1. It describes the Android software stack and the structure of the Android Open Source Project code.
2. It discusses requirements for building and accessing the AOSP code, including using the 'repo' tool to download the source.
3. It summarizes the AOSP code structure and highlights key components like the Linux kernel, HAL, and build system.
4. It provides an overview of the Android boot process and offers tips for debugging, including increasing log levels and using tools like logcat, adb, and dumpsys.
p2 is an extensible provisioning platform for OSGi systems that helps manage all aspects of software installation, deployment, updating, and servicing from build time to runtime. It provides a model where all installable software units are treated uniformly, along with tools for building, deploying, and managing software repositories. p2 decouples decision making from content to provide a flexible solution that can be used for provisioning in various environments and configurations.
This document discusses container technologies including App Container (appc) and rkt. It provides an overview of appc components like the image format, discovery, and executor. It then discusses rkt, an implementation of appc, describing its modular architecture with stages 0-2 and use of systemd and cgroups for isolation. It also touches on rkt security, networking, and integration with systemd and user namespaces.
Real-World Docker: 10 Things We've Learned RightScale
Docker has taken the world of software by storm, offering the promise of a portable way to build and ship software - including software running in the cloud. The RightScale development team has been diving into Docker for several projects, and we'll share our lessons learned on using Docker for our cloud-based applications.
Eclipse Hara, Updating Embedded Devices with hawkBit Made EasyKynetics
The Eclipse Hara project aims to provide solid open-source reference implementations of a hawkBit DDI client. In this talk, we’ll focus on the new hara-ddiclient, a Kotlin library designed to facilitate and speed up the development of DDI API clients for any device capable of running on the JVM. Furthermore, the hara-ddiclient library is designed to be agnostic with respect to the type of update to install (apps, OS OTA).
We’ll present how the project came about and why the experience gained during several years of using it in the field will benefit developers using the hara-ddiclient library on any OS.
We will show what aspects of hawkBit need to be completed or implemented to use it in a production environment.
We will look at hawkBit's extension points and how they can be used and show some practices for deploying and managing a hawkBit-based product.
This is the poster we present at ELC 2019 North America in San Diego about opensource frameworks to handle the complete pipeline of a SW update for embedded devices.
Asymmetric multi-processing (AMP) systems fulfill the need for high performance and real-time by combining the responsiveness of a MCU with the processing power of an application processor which runs a full OS.
This talk will present a technical overview on asymmetric multiprocessing platforms focussing on motivations, use cases and how to handle interprocess communication between MCU and MPU in practice.
Using Java on Wearable Devices featuring an Hybrid Architecture.Kynetics
Presented at Java One 2014, we explore the state of the art of implementing a wearable devices featuring Java SE and ME on an Hybrid Architecture with application processor and micro controller.
Deploy Small IoT Embedded SOC Devices and a Back-End Platform with Java, usin...Kynetics
We introduce some architectural ideas around warp board and Java for IoT applications.
Java One 2015, San Francisco.
Visit the community site: http://warpx.io
This document outlines a presentation on building reactive IoT using an actor-based model. It discusses the limitations of legacy IoT architectures and proposes a new reactive model based on actors and messages. This reactive IoT approach called RIoT is demonstrated through two case studies and an open-source implementation called O-Robot. The presentation concludes with a demo of O-Robot using a sensor board and backend.
The CBC machine is a common diagnostic tool used by doctors to measure a patient's red blood cell count, white blood cell count and platelet count. The machine uses a small sample of the patient's blood, which is then placed into special tubes and analyzed. The results of the analysis are then displayed on a screen for the doctor to review. The CBC machine is an important tool for diagnosing various conditions, such as anemia, infection and leukemia. It can also help to monitor a patient's response to treatment.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
Null Bangalore | Pentesters Approach to AWS IAMDivyanshu
#Abstract:
- Learn more about the real-world methods for auditing AWS IAM (Identity and Access Management) as a pentester. So let us proceed with a brief discussion of IAM as well as some typical misconfigurations and their potential exploits in order to reinforce the understanding of IAM security best practices.
- Gain actionable insights into AWS IAM policies and roles, using hands on approach.
#Prerequisites:
- Basic understanding of AWS services and architecture
- Familiarity with cloud security concepts
- Experience using the AWS Management Console or AWS CLI.
- For hands on lab create account on [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
# Scenario Covered:
- Basics of IAM in AWS
- Implementing IAM Policies with Least Privilege to Manage S3 Bucket
- Objective: Create an S3 bucket with least privilege IAM policy and validate access.
- Steps:
- Create S3 bucket.
- Attach least privilege policy to IAM user.
- Validate access.
- Exploiting IAM PassRole Misconfiguration
-Allows a user to pass a specific IAM role to an AWS service (ec2), typically used for service access delegation. Then exploit PassRole Misconfiguration granting unauthorized access to sensitive resources.
- Objective: Demonstrate how a PassRole misconfiguration can grant unauthorized access.
- Steps:
- Allow user to pass IAM role to EC2.
- Exploit misconfiguration for unauthorized access.
- Access sensitive resources.
- Exploiting IAM AssumeRole Misconfiguration with Overly Permissive Role
- An overly permissive IAM role configuration can lead to privilege escalation by creating a role with administrative privileges and allow a user to assume this role.
- Objective: Show how overly permissive IAM roles can lead to privilege escalation.
- Steps:
- Create role with administrative privileges.
- Allow user to assume the role.
- Perform administrative actions.
- Differentiation between PassRole vs AssumeRole
Try at [killercoda.com](https://killercoda.com/cloudsecurity-scenario/)
Discover the latest insights on Data Driven Maintenance with our comprehensive webinar presentation. Learn about traditional maintenance challenges, the right approach to utilizing data, and the benefits of adopting a Data Driven Maintenance strategy. Explore real-world examples, industry best practices, and innovative solutions like FMECA and the D3M model. This presentation, led by expert Jules Oudmans, is essential for asset owners looking to optimize their maintenance processes and leverage digital technologies for improved efficiency and performance. Download now to stay ahead in the evolving maintenance landscape.
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...shadow0702a
This document serves as a comprehensive step-by-step guide on how to effectively use PyCharm for remote debugging of the Windows Subsystem for Linux (WSL) on a local Windows machine. It meticulously outlines several critical steps in the process, starting with the crucial task of enabling permissions, followed by the installation and configuration of WSL.
The guide then proceeds to explain how to set up the SSH service within the WSL environment, an integral part of the process. Alongside this, it also provides detailed instructions on how to modify the inbound rules of the Windows firewall to facilitate the process, ensuring that there are no connectivity issues that could potentially hinder the debugging process.
The document further emphasizes on the importance of checking the connection between the Windows and WSL environments, providing instructions on how to ensure that the connection is optimal and ready for remote debugging.
It also offers an in-depth guide on how to configure the WSL interpreter and files within the PyCharm environment. This is essential for ensuring that the debugging process is set up correctly and that the program can be run effectively within the WSL terminal.
Additionally, the document provides guidance on how to set up breakpoints for debugging, a fundamental aspect of the debugging process which allows the developer to stop the execution of their code at certain points and inspect their program at those stages.
Finally, the document concludes by providing a link to a reference blog. This blog offers additional information and guidance on configuring the remote Python interpreter in PyCharm, providing the reader with a well-rounded understanding of the process.
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...IJECEIAES
Climate change's impact on the planet forced the United Nations and governments to promote green energies and electric transportation. The deployments of photovoltaic (PV) and electric vehicle (EV) systems gained stronger momentum due to their numerous advantages over fossil fuel types. The advantages go beyond sustainability to reach financial support and stability. The work in this paper introduces the hybrid system between PV and EV to support industrial and commercial plants. This paper covers the theoretical framework of the proposed hybrid system including the required equation to complete the cost analysis when PV and EV are present. In addition, the proposed design diagram which sets the priorities and requirements of the system is presented. The proposed approach allows setup to advance their power stability, especially during power outages. The presented information supports researchers and plant owners to complete the necessary analysis while promoting the deployment of clean energy. The result of a case study that represents a dairy milk farmer supports the theoretical works and highlights its advanced benefits to existing plants. The short return on investment of the proposed approach supports the paper's novelty approach for the sustainable electrical system. In addition, the proposed system allows for an isolated power setup without the need for a transmission line which enhances the safety of the electrical network
Batteries -Introduction – Types of Batteries – discharging and charging of battery - characteristics of battery –battery rating- various tests on battery- – Primary battery: silver button cell- Secondary battery :Ni-Cd battery-modern battery: lithium ion battery-maintenance of batteries-choices of batteries for electric vehicle applications.
Fuel Cells: Introduction- importance and classification of fuel cells - description, principle, components, applications of fuel cells: H2-O2 fuel cell, alkaline fuel cell, molten carbonate fuel cell and direct methanol fuel cells.
2. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
What this session is about
Manage and rollout software updates
on Embedded Linux devices and apply them
like Android does.
3. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Agenda
❯ Motivations for our work with OTA updates on Embedded Linux
❯ The Android way for managing updates
❯ Embedded Linux updates agent: SWUpdate
❯ Remote management and rollout campaigns: Eclipse hawkBit
❯ Our implementation to manage and deploy software updates
Android-like: Update Factory
❯ Demo.
4. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Motivations
❯ Support medium scale general purpose CPU-SOC modules
❯ Install atomically a new OS on a device
》 Atomicity of the update
❯ Track updates and divide them per device types and use cases
❯ Support custom device metadata sent to the Remote Update
Management Platform
5. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Preamble
❯ Boundary Devices Nitrogen6x
as reference
》 NXP i.MX6 platform (meta-freescale)
》 U-Boot on NOR flash
》 boot and root partition
❯ we refer to traditional Android single copy OTA
》 recent Pixel devices with big storage use Chrome OS based double copy OTA
❯ designed for biggest freedom of storage access while still
running in a Linux OS
6. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Android update: approach to OTA updates
❯ Android approach splits the upgrade process in two phases:
》 preparation for the upgrade → performed in the full fledged Regular OS
》 execution of the upgrade → performed in a purpose built Recovery OS
❯ Execution performed by the recovery binary
7. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Recovery Partition
Android update Workflow
Recovery OS
Regular OS
Recovery bin
Bootloader
Update bin
Update script
Reboot
8. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Android update: preparation
❯ Preparation on the Device flow:
》 registers to the cloud
》 polls for available updates
》 notifies update is available (Download? Y/n)
》 notifies update is ready to install (Proceed? Y/n)
》 reboot to Recovery OS
❯ Verification of package signatures
https://developer.android.com/reference/android/os/RecoverySystem.html#verifyPac
kage(java.io.File,%20android.os.RecoverySystem.ProgressListener,%20java.io.File)
❯ Installation setup and reboot in recovery mode
https://developer.android.com/reference/android/os/RecoverySystem.html#installPa
ckage(android.content.Context,%20java.io.File)
9. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Android update: execution
❯ Bootloader/bootscript gets “reset cause” (i.MX6 Family) and
boots in ramdisk-based Recovery Mode
❯ recovery starts
❯ recovery unpacks the update file provided (signed zip)
❯ update-binary executes actions in the updater-script (edify)
❯ log and result files are written in the partition
❯ reboot to Regular OS
❯ https://source.android.com/devices/tech/ota/device_code
❯ https://github.com/boundarydevices/android_device_boundary/commit/f069efd28d7d55
e1cc298662881b9ceabb4650e3#diff-a55e09ca16b027ed99c01ca6765d9cca
10. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Snippet: bootscript (i.MX6)
+setenv bootpart 1
+
+setexpr rval *0x020CC068 & 0x180 # get reset cause
+if itest.s "x$rval" -eq "x100"; then
+ echo "----------- run fastboot here";
+else
+ if itest.s "x$rval" -eq "x80"; then
+ setenv bootpart 2;
+ fi
+fi
+
+mw.l 0x020cc068 0 1
11. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Android Update: advantages
❯ Single copy update featuring a recovery OS
❯ OTA agent runs in regular OS
》 No need to interrupt normal operation (yet)
》 Network access (e.g. Wifi setup by the user)
》 Interaction with the user (notifications / acknowledgment)
》 Full API access (Wifi or 3G/4G? Low battery?)
❯ Recovery has no need of network access, all artifacts are
pre-fetched
❯ Update script support binary writing (no mount is required)
❯ Recovery environment is RO, minimal, isolated
12. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Part One: Device Update Approaches
❯ Double copy:
》 The devices features two copies
of the Application/OS/RootFS
》 Each copy must contain the
kernel, the root file system,
and each further component that
can be updated
》 Cooperation with the boot
loader is necessary to decide
which copy should be booted
❯ Single copy:
》 A separate upgrade OS is required
》 You may update Kernel and Device
Tree if the update environment is
segregated
》 Cooperation with the bootloader is
necessary to boot in update mode
13. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Double copy
Dual Boot Partition
Bootable system 1
ramdisk
rootfs
kernel
device tree
bootscript
Boot partition 1
rootfs partition 1
Bootable system 2
ramdisk
rootfs
kernel
device tree
bootscript
Boot partition 2
rootfs partition 2
bootloader
bootenv boot selection
Unpartitioned Space
14. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Double copy
Single Boot
Partition
bootloader
bootenv boot selection
Unpartitioned Space
ramdisk
kernel
device tree
bootscript
Boot partition 1
rootfs
rootfs partition 1
rootfs
rootfs partition 2
15. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Single copy
Simple
bootloader
bootenv boot selection
Unpartitioned Space
ramdisk
kernel
device tree
bootscript
Boot partition 1
system
recovery
rootfs
rootfs partition 1
Bootable system 1
system recovery BLOB
16. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Double Copy: Pros and Cons
❯ Pros:
》 Fallback in case of failure
》 Pretty easy to implement
❯ Cons:
》 Expensive in terms of storage resources, double the space
》 Requires a mechanism to switch between running and other copy if multiple
partitions are doubled (e.g. boot, root)
》 Identify which copy is running
17. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Single Copy: Pros and Cons
❯ Pros:
》 Requires smaller amount of space
》 “Update mode” lives in RAM
》 Can freely access whole storage (rewrite from scratch, including partition
table)
》 Can be used for factory reset (tftpboot / USB boot)
❯ Cons:
》 No fallback if write fails (e.g. power interruption). Restart recovery mode
to try again
18. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Embedded Linux like Android ?
❯ A good option for building a recovery system “Android Like”
Linux is SWUpdate:
》 Written in C by Stefano Babic (Denx) and contributors
》 Runs as Daemon or direct invocation
》 Update files (.swu) based on CPIO format
》 Several handlers (e.g. write raw data, write single file)
》 Update files scripting features (LUA)
19. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
SWUpdate: Architecture
Notifier
Installer
Default
Parser
LUA Parser
Handler Manager
UBI MTD RAW ENV LUA
Local
Storage
Remote file
server
Web Server
Custom
protocol
MCU
hawkBit
START,RUN, SUCCESS, FAILURE, DOWLOAD, DONE
20. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
SWUpdate: features
❯ Local interfaces:
》 Local storage (USB, SD) as artifacts source
》 Support local peripheral devices, through USB/UART for streaming update (i.e
MCU)
》 Embedded Web Server as local UI
❯ Remote interfaces:
》 HTTP, FTP
》 hawkBit (Suricatta embedded client)
❯ Signature and encryption of update files
❯ Handlers
》 U-boot for reading environment variables
》 Shell pre/post install scripts (also LUA)
》 Default config parser using libconfig (to parse update description file)
21. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
SWUpdate: single image format
CPIO Header
sw-descriptor
Image 1
Image 2
Image (n)
software =
{
version = "0.1.0";
target = {
hardware-compatibility: [ "1.0"];
Images: (
{
filename = “rootfs.ext4.”;
device = /dev/mmcblk0p2”;
type = “raw”;
compressed = true;
}
);
scripts:(
{
filename = “installscript.sh”;
type = “schellscript”;
sha256 = “faaaa30c….”;
}
);
}
}
22. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Security notes
❯ SWUpdate combines signed sw-description with the verification
of hashes for each single image.
》 RSA PKCS#1 (public/private)
》 CMS PKCS#7 (certificates)
❯ This means that only signed sw-description, generated by a
verified source, can be trusted by the installer.
》 sw-description.sig
》 Public.pem can be passed to SWUpdate daemon (on the device)
❯ sw-description contains hashes for each sub-image to verify
that each delivered subimage really belongs to the release.
》 Each image inside sw-description must have the attribute “sha256”
23. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Security notes: sign and configuration
#!/bin/bash
MODE="RSA"
PRODUCT_NAME="myproduct"
CONTAINER_VER="1.0"
IMAGES="rootfs kernel"
FILES="sw-description sw-description.sig $IMAGES"
#if you use RSA
if [ x"$MODE" == "xRSA" ]; then
openssl dgst -sha256 -sign priv.pem sw-description >
sw-description.sig
else
openssl cms -sign -in sw-description -out sw-description.sig
-signer mycert.cert.pem
-inkey mycert.key.pem -outform DER -nosmimecap -binary
fi
for i in $FILES;do
echo $i;done | cpio -ov -H crc >
${PRODUCT_NAME}_${CONTAINER_VER}.swu
software =
{
version = "0.1.0";
hardware-compatibility: [ "revC"];
images: (
{
filename =
"core-image-full-cmdline-beaglebone.ext3";
device = "/dev/mmcblk0p2";
type = "raw";
sha256 =
"43cdedde429d1ee379a7d91e3e7c4b0b9ff952543a91a55bb2221e5c72cb
342b";
}
);
scripts: (
{
filename = "install.sh";
type = "shellscript";
sha256 =
"f53e0b271af4c2896f56a6adffa79a1ffa3e373c9ac96e00c4cfc577b9be
a5f1";
}
);
}
24. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Security notes: encryption
❯ SWUpdate supports encrypted images
》 SWUpdate allows to symmetrically encrypt update images using the 256 bit
AES block cipher in CBC mode
》 encrypted = true parameter in sw-description
software =
{
version = "0.0.1";
images: ( {
filename = "core-image-full-cmdline-beaglebone.ext3.enc";
device = "/dev/mmcblk0p3";
encrypted = true;
}
);
}
25. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Case Study: Warp board
❯ Small wearable reference platform
❯ Community: www.warpx.io
❯ Support for SWUpdate for OS updates
❯ Single image
》 From bootloader, flash stand alone
SWUpdate OS Image on the eMMC
■ (UMS): dd img file
■ mmc read ${initrd_addr} 0x2000 0xAA80
》 Boot the SWUpdate OS image
》 Load module for USB over ethernet
》 From a host use browser and upload the
SWU image
26. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Part 2: Eclipse hawkBit
The Eclipse Foundation has been very active in promoting significative
projects for the IoT, in particular under the umbrella of the Eclipse IoT
community.
Eclipse IoT is an ecosystem of companies and individuals that are working
together to establish an Internet of Things based on open technologies.
https://iot.eclipse.org, https://eclipse.org/hawkbit/
One of the (many) projects is hawkBit “to create a domain independent back
end solution for rolling out software updates to constrained edge devices
connected to IP based networking infrastructure”
27. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
hawkBit overview
❯ User/Applications
》 UI
》 MGMT (API)
❯ Devices
》 DDI
(HTTP/REST/JSON)
》 DMF (AMQP)
29. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
<<VM>>
RabbitMQ
<<Exchange>>
X
<<VM>> <<VM>> <<VM>>
Clustering
hawkBit
Node 3
hawkBit
Node 2
hawkBit
Node 1
Caches Caches
Caches
request
User action
Storage
30. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
hawkBit: workflow of a rollout campaign
❯ Prepare the update file and upload it
❯ Create a Software Module and add an artifact to it
❯ Create a Distribution
❯ Rollout a distribution to Targets
❯ Targets features:
》 Attributes (i.e HW revision, custom)
》 Tags (for grouping purposes)
》 Others like device description, what installed, logs, etc..
❯ Rollouts can be managed by groups
》 TAG filter
》 Group threshold
31. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Platform to manage and deliver software update artifacts which are deployed on
single copy Linux and Android devices, featuring recovery mode
Or simply….
“Manage and Deploy Android-like software updates on Embedded Linux!”
32. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory Architecture
❯ Service on the embedded device
》 Gnu/Linux featuring SWUpdate
》 Android Service featuring Update Server API
❯ Update Server featuring hawkBit™
❯ IAM Server
❯ Artifact Repository
❯ Metadata Repository
❯ MsgBroker
33. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Android “like” behaviour on Embedded Linux
Update Factory implements all the missing bits to have an
Android-like OTA mechanism on an Embedded Linux OS
❯ Device to cloud communication
❯ Bootloader coordination (boot OS selection)
❯ Recovery partition
❯ Recovery bootscript
❯ Recovery ramdisk
❯ Update installation feedback to the cloud
34. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory: Linux Update Anatomy
Bootloader
bootenv boot_mode
Space non partitioned
ramdisk
kernel
device tree
bootscript
Boot partition
rootfs partition
ramdisk
kernel
device tree
bootscript
Recovery Partition
.swu
cache partition
suricatta =
{
Tenant = “foo”;
Id = “bar”;
Url = "
https://updatefactory.io";
};
Regular OS Recovery OS
35. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory: device to cloud
SWUpdate implements the suricatta daemon mode which polls remote
update server hawkBit.
Configuration file:
suricatta :
{
tenant = "system";
id = "device";
url = "https://updatefactory.io";
artifactsstorage = "/recovery/updates";
};
isolated set of data
and configuration
unique device identifier
baseurl for request
URL generation
new option to download
update files (no install)
36. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory: bootloader coordination
❯ Switch between Regular OS and Recovery OS by changing
bootloader environment variables
❯ distro_bootcmd current U-Boot standard solution for distro
booting across different boards
❯ if boot_mode variable is set to update force the number of the
partition to boot from:
bootcmd=run update_bootcmd; run distro_bootcmd
update_bootcmd=if test "${boot_mode}" = "update"; then echo "Update mode selected";
setenv distro_bootpart 3; setenv scan_dev_for_boot_part run scan_dev_for_boot; fi
37. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory: recovery partition
Yocto now has wic support for easier and streamlined partition
creation and management.
Addition of recovery partition:
❯ new filescopy wic plugin to populate the partition
❯ .wks descriptor file
》 part --source filescopy --size 1000 --fstype=ext4 --label recovery --align 4
❯ “by-label” fstab entry
38. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory: bootscript & ramdisk
Recovery bootscript loads the recovery ramdisk
load ${devtype} ${devnum}:${distro_bootpart} ${a_ramdisk} ${prefix}swupdate.img
bootz ${a_zImage} ${a_ramdisk} ${a_fdt}
Recovery OS ramdisk:
❯ minimal Linux OS
❯ SWUpdate to install update files from local storage
❯ filesystem utils
39. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory: installation feedback
hawkBit server needs to know if update applied successfully.
SWUpdate suricatta daemon:
❯ reads ustate bootloader variable (update is installed or
failed)
❯ provides feedback to hawkBit from Regular OS
40. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory: future developments
❯ expand support to other boards and SOCs
❯ manual recovery mode to update from local storage (e.g. USB)
if connection is broken
❯ store update files in separate partition / storage
❯ support to update Recovery OS from the Regular OS as a second
step of the update process
41. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Update Factory goals
❯ Support medium scale general purpose CPU-SOC deployments
❯ Android like OTA update strategy for Embedded Linux based on
single image approach
❯ Update core components of the system
❯ Provide a solid integration with Yocto Linux to facilitate the
adoption
❯ Remote Update Management Platform as a service
42. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Links
❯ https://www.kynetics.com/update-factory
❯ https://docs.updatefactory.io/
❯ https://github.com/Kynetics/meta-updatefactory
❯ http://warpx.io/blog/tutorial/easy-os-upgrades-swupdate
❯ https://eclipse.org/hawkbit/
❯ https://sbabic.github.io/swupdate
❯ https://android.googlesource.com/platform/bootable/recovery/+/
android-8.0.0_r4/recovery.cpp#167
43. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Thanks:
Nicola La Gloria, Andrea Zoleo, Will Martindale,
Daniele Sergio, Roberto Sartori, Eric Nelson,
Gary Bisson (Boundary Devices), Gabriel Huau
(witekio) and Amit Pundir (Linaro).
and...
Thanks to my daughter Marianna for the drawing!
44. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Contacts:
USA
Kynetics LLC
2040 Martin Ave, Santa Clara CA 95050
Ph: +1 (408) 475 7760
Italy
Kynetics Srl
Via G. Longhin, Padova (PD) 35129
Ph: +39 (049) 781 1091
info@kynetics.com | www.kynetics.com
45. Diego Rondini, www.kynetics.com
Embedded Linux Conference Europe 2017, Prague
Android
Space non partitioned
uramdisk
kernel
device tree
bootscript
Boot partition
Android UF Service
Android UF Client App
kernel
device tree
Recovery Partition
Tenant = foo
Id = bar
Url = https:/updatefactory.io"
uramdisk
cache partition
.zip
Other default partitions
SoC
bootloader