The document discusses the tradeoffs between using Debian vs. Yocto Project for embedded Linux projects. Debian offers a full and stable distribution with many packages but images can be large, may not be optimized for hardware, and updates are not atomic. Yocto Project allows fully customizing the system but has a steep learning curve. Debian is best for prototypes while Yocto is recommended for production on custom hardware.
Software update for IoT: the current state of playChris Simmonds
Many embedded Linux projects have a requirement to update the software on devices in the field. Recent security flaws in basic components such as OpenSSL and bash, combined with the interconnectedness of all things, have highlighted the problem and made it an absolute necessity
I gave this workshop at FOSS-north 2019 https://www.foss-north.se/2019. It is is an introduction to Embedded Linux, using Buildroot to build the images and the BeagleBone Black as the target.
Configuring an embedded Linux system with a read-only rootfs has many advantages: reduced wear on flash memory; easier to update and trivial factory reset being among them. This presentation shows you how
alphorm.com - Formation Linux LPIC-1/Comptia Linux+Alphorm
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-linux-lpic-1-comptia-linuxplus
Le Linux Professionnal Institute (LPI) a été créé en vue d’apporter un processus reconnu, identifiant et certifiant le talent et les compétences des utilisateurs GNU/Linux partout dans le monde.
La LPIC est aujourd’hui la certification la plus demandée dans le monde de l’Open Source. Indépendante de toute distribution Linux, la certification LPI est devenue dans la pratique une certification incontournable pour qui veut évaluer ses compétences dans l’administration Linux.
L'expert de l’Open Source Noël Macé vous accompagne durant cette première formation afin d’acquérir votre LPIC-1. La LPIC-1 vous permet d'acquérir et maîtriser les bases de l’administration système sous GNU/Linux.
Cette même formation vous permettra également de valider les connaissances exigées par la certification Comptia Linux+ et ainsi la réussir.
Launch the First Process in Linux SystemJian-Hong Pan
The session: https://coscup.org/2022/en/session/AGCMDJ
After Linux kernel boots, it will try to launch first process “init” in User Space. Then, the system begins the featured journey of the Linux distribution.
This sharing takes Busybox as the example and shows that how does Linux kernel find the “init” which directs to the Busybox. And, what will Busybox do and how to get the console. Try to make it like a simple Linux system.
Before Linux kernel launches “init” process, the file system and storage corresponding drivers/modules must be loaded to find the “init”. Besides, to mount the root file system correctly, the kernel boot command must include the root device and file system format parameters.
On the other hand, the Busybox directed from “init” is a lightweight program, but has rich functions, just like a Swiss Army Knife. So, it is usually used on the simple environment, like embedded Linux system.
This sharing will have a demo on a virtual machine first, then on the Raspberry Pi.
Drafts:
* https://hackmd.io/@starnight/Busbox_as_the_init
* https://hackmd.io/@starnight/Build_Alpines_Root_Filesystem_Bootstrap
Relate idea: https://hackmd.io/@starnight/Systems_init_and_Containers_COMMAND_Dockerfiles_CMD
We all want our devices to boot faster, but how much effort do you want to dedicate to optimizing and maintaining a custom kernel and apps? This presentation offers a graded list of things you can do to reduce boot time. They start with simple changes, such as adjusting the position of your main application the init sequence. Then there are the changes you can make to the kernel and bootloader configuration to speed things up, and finally, there are moderately advanced techniques such as using U-Boot in falcon mode.
All of this is done using standard configuration techniques, with the idea of being able to maintain these changes in the future. I will show the effect of each of these changes on typical a embedded dev board so that you can judge for yourself where on the journey you want to jump off.
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.
The document provides an introduction to the Yocto Project, including what it is, its main components, and workflow. It describes the Yocto Project as being comprised of Poky (the build system), tools, and upstreams. Poky contains BitBake (the build engine) and metadata (task configurations and definitions). It outlines the main components, including sub-projects, and compares the Yocto Project to OpenEmbedded. Finally, it summarizes the Yocto Project workflow, which involves configuring the build using recipes and layers then building packages, images, and cross-development toolchains.
Software update for IoT: the current state of playChris Simmonds
Many embedded Linux projects have a requirement to update the software on devices in the field. Recent security flaws in basic components such as OpenSSL and bash, combined with the interconnectedness of all things, have highlighted the problem and made it an absolute necessity
I gave this workshop at FOSS-north 2019 https://www.foss-north.se/2019. It is is an introduction to Embedded Linux, using Buildroot to build the images and the BeagleBone Black as the target.
Configuring an embedded Linux system with a read-only rootfs has many advantages: reduced wear on flash memory; easier to update and trivial factory reset being among them. This presentation shows you how
alphorm.com - Formation Linux LPIC-1/Comptia Linux+Alphorm
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-linux-lpic-1-comptia-linuxplus
Le Linux Professionnal Institute (LPI) a été créé en vue d’apporter un processus reconnu, identifiant et certifiant le talent et les compétences des utilisateurs GNU/Linux partout dans le monde.
La LPIC est aujourd’hui la certification la plus demandée dans le monde de l’Open Source. Indépendante de toute distribution Linux, la certification LPI est devenue dans la pratique une certification incontournable pour qui veut évaluer ses compétences dans l’administration Linux.
L'expert de l’Open Source Noël Macé vous accompagne durant cette première formation afin d’acquérir votre LPIC-1. La LPIC-1 vous permet d'acquérir et maîtriser les bases de l’administration système sous GNU/Linux.
Cette même formation vous permettra également de valider les connaissances exigées par la certification Comptia Linux+ et ainsi la réussir.
Launch the First Process in Linux SystemJian-Hong Pan
The session: https://coscup.org/2022/en/session/AGCMDJ
After Linux kernel boots, it will try to launch first process “init” in User Space. Then, the system begins the featured journey of the Linux distribution.
This sharing takes Busybox as the example and shows that how does Linux kernel find the “init” which directs to the Busybox. And, what will Busybox do and how to get the console. Try to make it like a simple Linux system.
Before Linux kernel launches “init” process, the file system and storage corresponding drivers/modules must be loaded to find the “init”. Besides, to mount the root file system correctly, the kernel boot command must include the root device and file system format parameters.
On the other hand, the Busybox directed from “init” is a lightweight program, but has rich functions, just like a Swiss Army Knife. So, it is usually used on the simple environment, like embedded Linux system.
This sharing will have a demo on a virtual machine first, then on the Raspberry Pi.
Drafts:
* https://hackmd.io/@starnight/Busbox_as_the_init
* https://hackmd.io/@starnight/Build_Alpines_Root_Filesystem_Bootstrap
Relate idea: https://hackmd.io/@starnight/Systems_init_and_Containers_COMMAND_Dockerfiles_CMD
We all want our devices to boot faster, but how much effort do you want to dedicate to optimizing and maintaining a custom kernel and apps? This presentation offers a graded list of things you can do to reduce boot time. They start with simple changes, such as adjusting the position of your main application the init sequence. Then there are the changes you can make to the kernel and bootloader configuration to speed things up, and finally, there are moderately advanced techniques such as using U-Boot in falcon mode.
All of this is done using standard configuration techniques, with the idea of being able to maintain these changes in the future. I will show the effect of each of these changes on typical a embedded dev board so that you can judge for yourself where on the journey you want to jump off.
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.
The document provides an introduction to the Yocto Project, including what it is, its main components, and workflow. It describes the Yocto Project as being comprised of Poky (the build system), tools, and upstreams. Poky contains BitBake (the build engine) and metadata (task configurations and definitions). It outlines the main components, including sub-projects, and compares the Yocto Project to OpenEmbedded. Finally, it summarizes the Yocto Project workflow, which involves configuring the build using recipes and layers then building packages, images, and cross-development toolchains.
This document provides an overview and agenda for a presentation on Yocto, an open source project for embedded Linux development. It discusses Yocto components, layers, recipes, classes, and the build system. It also outlines how Yocto can be used by both system developers and application developers.
Buildroot is a tool that generates embedded Linux systems by automating the configuration, compilation, and packaging of the system. It produces a root filesystem image ready to deploy on the target architecture. The build process compiles packages and a cross-compilation toolchain, then generates images containing the root filesystem, kernel, and other files needed by the target system. The output of Buildroot is organized into subdirectories containing the built images, toolchain, target and host files, and a staging area simulating the target filesystem.
Yocto Project Open Source Build System and Collaboration InitiativeMarcelo Sanz
The Yocto Project creates a custom embedded Linux distribution for a device by building recipes that define how to obtain, patch, compile and package software, rather than using an existing Linux distribution. It provides a common build environment and tools to configure, build and test embedded systems across different processor architectures.
Build your own embedded linux distributions by yocto projectYen-Chin Lee
The document discusses the Yocto Project, an open-source collaboration project that provides templates, tools, and methods for creating custom Linux-based systems for embedded products. It provides an overview of the key components of Yocto including Poky, BitBake, and metadata. It also summarizes how to get started with Yocto including downloading Poky, setting up the build environment, and building a minimal image that can be run in QEMU for testing purposes.
The document discusses the BeagleBone Black, an open-source hardware board used in a workshop. It describes the board's features like its ARM processor and pre-loaded Debian operating system. It also explains how the board boots from its default images stored on an included eMMC card, using a multi-stage bootloader process to load the Linux kernel and root filesystem from partitions on the card.
Arm device tree and linux device driversHoucheng Lin
This document discusses how the Linux kernel supports different ARM boards using a common source code base. It describes how device tree is used to describe hardware in a board-agnostic way. The kernel initializes machine-specific code via the device tree and initializes drivers by matching compatible strings. This allows a single kernel binary to support multiple boards by abstracting low-level hardware details into the device tree rather than the kernel source. The document also contrasts the ARM approach to the x86 approach, where BIOS abstraction and standardized buses allow one kernel to support most x86 hardware.
This document outlines the steps to build Qt5 for the Beaglebone single board computer using the Yocto Project. It describes downloading the necessary repositories, adding Qt5 to the minimal image, setting the Beaglebone as the target, adding layers to the build system, building the image, and running Qt5 examples on the target device. Build configuration details and areas for future work are also provided.
Control Your Network ASICs, What Benefits switchdev Can Bring UsHungWei Chiu
In this slide, I will introduce what is switchdev and what problem it wants to solve. To this day, most of the hardware switch's application-specific integrated circuit (ASIC) only be controlled by the vendor's proprietary binary (SDK) and it's inconvenient for system administrator/developer. In order to break the chip vendor's lock-in situation, the switchdev had been designed to solve this. With the help of switchdev, we can develop a general solution for hardware switch chips and break the connection with vendor's binary-blob (SDK).
In order words. Linux kernel can directly communicate with the vendor's proprietary ASIC now, and the software programmer/system administrator can easily control that ASIC to provide more flexible, powerful and programmable network function.
The document discusses the bootloaders for the BeagleBone Black. It covers the memory organization of the BBB, the booting process, and details about the X-Loader and U-Boot bootloaders. The X-Loader is the first stage bootloader that loads U-Boot from internal memory. U-Boot then loads and boots the Linux kernel from external memory. Both bootloaders have board support for the BBB through board-specific configuration and initialization code.
Conan.io - The C/C++ package manager for DevelopersUilian Ries
Conan is a decentralized package manager for C and C++ that handles both source code and pre-compiled binaries. It addresses issues with building dependencies from source by allowing developers to define packages through recipes that specify dependencies and build instructions. Conan packages are cached locally and identified by name, version, and user/channel to allow isolation of builds. The Conan community contributes package recipes through open source projects on GitHub like the Conan Center and Bincrafters organization.
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiChris Simmonds
You can run Android on a wide range of devices, not just phones and tablets. Building Android from scratch is fun and a great way to learn about the lower levels of the operating system. Imagine - here is a chance to create ANY Android configuration you want.
In this presentation, I will show you how to take a Raspberry Pi 3 and build Android completely from scratch, using source code from the AOSP (Android Open Source Project). We will need a few things to make this work A Linux kernel that has been configured with the options that Android expects OpenGL ES graphics drivers HAL layers for graphics and networking, amongst other things
The Yocto Project is an open source project that provides tools and methods for creating custom Linux-based systems for embedded products regardless of CPU architecture. It uses a "layer" approach where components like the build system, core packages, and machine-specific files can be mixed and matched. The speaker demonstrates how to download a Yocto Project release, configure a build, and run the build process to generate root filesystem images and packages for target deployment. Potential applications mentioned include virtualization platforms and specialized subsystems in vehicles.
Building Mini Embedded Linux System for X86 ArchSherif Mousa
Full tutorial to learn how to build your own embedded Linux system as a MiniOS for your X86 device (PC ...).
It's considered a good start for anyone to get into the field of Embedded Linux building and development.
System Device Tree and Lopper: Concrete Examples - ELC NA 2022Stefano Stabellini
System Device Tree is an extension to Device Tree to describe all the hardware on an SoC, including heterogeneous CPU clusters and secure resources not typically visible to an Operating System like Linux. This full view allows the System Device Tree to be the "One true source" of the entire hardware description and helps to prevent the common (and hard-to-debug) problem of conflicting resources and system consistency. Lopper is an Open Source framework to parse and manipulate System Device Tree. With Lopper, it is possible to generate multiple traditional Device Trees from a single larger System Device Tree. This presentation will provide an overview of System Device Tree and will discuss the latest updates of the specification and tooling. The talk will illustrate multiple use-cases for System Device Tree with concrete examples, such as Linux running on the more powerful CPU cluster and Zephyr running on a smaller Cortex-R cluster. It will also show how to use Lopper to generate multiple traditional Device Trees targeting different OSes, not just Linux but also Zephyr/other RTOSes. Finally, an end-to-end demo based on Yocto to build a complete heterogeneous system with multiple OSes and RTOSes running on different clusters on a single reference board will be shown.
Linux has become integral part of Embedded systems. This three part presentation gives deeper perspective of Linux from system programming perspective. Stating with basics of Linux it goes on till advanced aspects like thread and IPC programming.
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.
This document discusses Linux kernel debugging. It provides an overview of debugging techniques including collecting system information, handling failures, and using printk(), KGDB, and debuggers. Key points covered are the components of a debugger, how KGDB can be used with gdb to debug interactively, analyzing crash data, and some debugging tricks and print functions.
Software update for IoT Embedded World 2017Chris Simmonds
Many embedded Linux projects have a requirement to update the software on devices in the field. Recent security flaws in basic components such as OpenSSL and bash, combined with the interconnectedness of all things, have highlighted the problem and made it an absolute necessity
Updating Embedded Linux devices in the field requires robust, atomic, and fail-safe software update mechanisms to fix bugs remotely without rendering devices unusable. A commonly used open source updater is SWUpdate, a Linux application that can safely install updates downloaded over the network or from local media using techniques like separate recovery systems and ping-ponging between OS images. It aims to provide atomic system image updates with rollback capabilities and audit logs to ensure devices remain functional after updates.
This document provides an overview and agenda for a presentation on Yocto, an open source project for embedded Linux development. It discusses Yocto components, layers, recipes, classes, and the build system. It also outlines how Yocto can be used by both system developers and application developers.
Buildroot is a tool that generates embedded Linux systems by automating the configuration, compilation, and packaging of the system. It produces a root filesystem image ready to deploy on the target architecture. The build process compiles packages and a cross-compilation toolchain, then generates images containing the root filesystem, kernel, and other files needed by the target system. The output of Buildroot is organized into subdirectories containing the built images, toolchain, target and host files, and a staging area simulating the target filesystem.
Yocto Project Open Source Build System and Collaboration InitiativeMarcelo Sanz
The Yocto Project creates a custom embedded Linux distribution for a device by building recipes that define how to obtain, patch, compile and package software, rather than using an existing Linux distribution. It provides a common build environment and tools to configure, build and test embedded systems across different processor architectures.
Build your own embedded linux distributions by yocto projectYen-Chin Lee
The document discusses the Yocto Project, an open-source collaboration project that provides templates, tools, and methods for creating custom Linux-based systems for embedded products. It provides an overview of the key components of Yocto including Poky, BitBake, and metadata. It also summarizes how to get started with Yocto including downloading Poky, setting up the build environment, and building a minimal image that can be run in QEMU for testing purposes.
The document discusses the BeagleBone Black, an open-source hardware board used in a workshop. It describes the board's features like its ARM processor and pre-loaded Debian operating system. It also explains how the board boots from its default images stored on an included eMMC card, using a multi-stage bootloader process to load the Linux kernel and root filesystem from partitions on the card.
Arm device tree and linux device driversHoucheng Lin
This document discusses how the Linux kernel supports different ARM boards using a common source code base. It describes how device tree is used to describe hardware in a board-agnostic way. The kernel initializes machine-specific code via the device tree and initializes drivers by matching compatible strings. This allows a single kernel binary to support multiple boards by abstracting low-level hardware details into the device tree rather than the kernel source. The document also contrasts the ARM approach to the x86 approach, where BIOS abstraction and standardized buses allow one kernel to support most x86 hardware.
This document outlines the steps to build Qt5 for the Beaglebone single board computer using the Yocto Project. It describes downloading the necessary repositories, adding Qt5 to the minimal image, setting the Beaglebone as the target, adding layers to the build system, building the image, and running Qt5 examples on the target device. Build configuration details and areas for future work are also provided.
Control Your Network ASICs, What Benefits switchdev Can Bring UsHungWei Chiu
In this slide, I will introduce what is switchdev and what problem it wants to solve. To this day, most of the hardware switch's application-specific integrated circuit (ASIC) only be controlled by the vendor's proprietary binary (SDK) and it's inconvenient for system administrator/developer. In order to break the chip vendor's lock-in situation, the switchdev had been designed to solve this. With the help of switchdev, we can develop a general solution for hardware switch chips and break the connection with vendor's binary-blob (SDK).
In order words. Linux kernel can directly communicate with the vendor's proprietary ASIC now, and the software programmer/system administrator can easily control that ASIC to provide more flexible, powerful and programmable network function.
The document discusses the bootloaders for the BeagleBone Black. It covers the memory organization of the BBB, the booting process, and details about the X-Loader and U-Boot bootloaders. The X-Loader is the first stage bootloader that loads U-Boot from internal memory. U-Boot then loads and boots the Linux kernel from external memory. Both bootloaders have board support for the BBB through board-specific configuration and initialization code.
Conan.io - The C/C++ package manager for DevelopersUilian Ries
Conan is a decentralized package manager for C and C++ that handles both source code and pre-compiled binaries. It addresses issues with building dependencies from source by allowing developers to define packages through recipes that specify dependencies and build instructions. Conan packages are cached locally and identified by name, version, and user/channel to allow isolation of builds. The Conan community contributes package recipes through open source projects on GitHub like the Conan Center and Bincrafters organization.
Running Android on the Raspberry Pi: Android Pie meets Raspberry PiChris Simmonds
You can run Android on a wide range of devices, not just phones and tablets. Building Android from scratch is fun and a great way to learn about the lower levels of the operating system. Imagine - here is a chance to create ANY Android configuration you want.
In this presentation, I will show you how to take a Raspberry Pi 3 and build Android completely from scratch, using source code from the AOSP (Android Open Source Project). We will need a few things to make this work A Linux kernel that has been configured with the options that Android expects OpenGL ES graphics drivers HAL layers for graphics and networking, amongst other things
The Yocto Project is an open source project that provides tools and methods for creating custom Linux-based systems for embedded products regardless of CPU architecture. It uses a "layer" approach where components like the build system, core packages, and machine-specific files can be mixed and matched. The speaker demonstrates how to download a Yocto Project release, configure a build, and run the build process to generate root filesystem images and packages for target deployment. Potential applications mentioned include virtualization platforms and specialized subsystems in vehicles.
Building Mini Embedded Linux System for X86 ArchSherif Mousa
Full tutorial to learn how to build your own embedded Linux system as a MiniOS for your X86 device (PC ...).
It's considered a good start for anyone to get into the field of Embedded Linux building and development.
System Device Tree and Lopper: Concrete Examples - ELC NA 2022Stefano Stabellini
System Device Tree is an extension to Device Tree to describe all the hardware on an SoC, including heterogeneous CPU clusters and secure resources not typically visible to an Operating System like Linux. This full view allows the System Device Tree to be the "One true source" of the entire hardware description and helps to prevent the common (and hard-to-debug) problem of conflicting resources and system consistency. Lopper is an Open Source framework to parse and manipulate System Device Tree. With Lopper, it is possible to generate multiple traditional Device Trees from a single larger System Device Tree. This presentation will provide an overview of System Device Tree and will discuss the latest updates of the specification and tooling. The talk will illustrate multiple use-cases for System Device Tree with concrete examples, such as Linux running on the more powerful CPU cluster and Zephyr running on a smaller Cortex-R cluster. It will also show how to use Lopper to generate multiple traditional Device Trees targeting different OSes, not just Linux but also Zephyr/other RTOSes. Finally, an end-to-end demo based on Yocto to build a complete heterogeneous system with multiple OSes and RTOSes running on different clusters on a single reference board will be shown.
Linux has become integral part of Embedded systems. This three part presentation gives deeper perspective of Linux from system programming perspective. Stating with basics of Linux it goes on till advanced aspects like thread and IPC programming.
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.
This document discusses Linux kernel debugging. It provides an overview of debugging techniques including collecting system information, handling failures, and using printk(), KGDB, and debuggers. Key points covered are the components of a debugger, how KGDB can be used with gdb to debug interactively, analyzing crash data, and some debugging tricks and print functions.
Software update for IoT Embedded World 2017Chris Simmonds
Many embedded Linux projects have a requirement to update the software on devices in the field. Recent security flaws in basic components such as OpenSSL and bash, combined with the interconnectedness of all things, have highlighted the problem and made it an absolute necessity
Updating Embedded Linux devices in the field requires robust, atomic, and fail-safe software update mechanisms to fix bugs remotely without rendering devices unusable. A commonly used open source updater is SWUpdate, a Linux application that can safely install updates downloaded over the network or from local media using techniques like separate recovery systems and ping-ponging between OS images. It aims to provide atomic system image updates with rollback capabilities and audit logs to ensure devices remain functional after updates.
Generating a Reproducible and Maintainable Embedded Linux Environment with Po...LF Events
For civil infrastructure system related products, kernel and open source software included in the system requires not only industrial grade but also super long term support. We have developed a meta layer for Poky build system which can uses the Debian’s source codes to share long term maintenance effort. However, there is an issue on source code management for product development which relates on reproducibility and maintainability. We have some experiences in product maintenance phase, for example, a bug occurred more than three years later after the product was released. In such kind of case, if we can reproduce the Linux environment for any older version, it is useful to find the source of issue.
In this talk, we will explain how to manage source codes and how to generate an embedded Linux environment with Poky and Deby for long term maintenance.
This presentation was delivered at LinuxCon Japan 2016 by Kazuhiro Hayashi.
Embedded Linux Build Systems - Texas Linux Fest 2018Mender.io
This document summarizes and compares several popular build systems and distributions for embedded Linux development: Yocto Project, Buildroot, OpenWRT, and desktop distributions. It provides overviews of each along with pros and cons. The key takeaways are that Yocto Project is best for commercial use with multiple configurations due to its modularity and hardware vendor support, while Buildroot and desktop distributions are better for beginners and hobbyists or single configuration use cases due to their faster build times and easier setup. OpenWRT is suited for replacement router/networking device firmware where package-based updates are needed.
[Webinar] An Introduction to the Yocto Embedded FrameworkICS
Yocto is an open source project that provides tools and templates for creating custom embedded Linux systems. It uses a build system called BitBake and metadata to automate the build process. This reduces development time and improves quality, stability, and repeatability. Yocto supports targets like ARM, PowerPC, MIPS and x86 and runs on common Linux desktop platforms. It allows building images, SDKs, and other artifacts for deployment on embedded hardware.
The document provides an overview and introduction to building custom embedded Linux systems using Yocto Project and OpenEmbedded. It discusses build host requirements, the workflow and layers model, and provides pointers to upstream documentation and resources. The summary highlights key aspects:
- Yocto Project uses a layers model where a BSP layer, core metadata layers (e.g. poky), and additional application layers are combined to build customized embedded images
- Build hosts need certain packages installed like git, tar and development tools as well as some non-standard ones like bc, lzop, and u-boot-tools
- Network issues can cause build failures so it is recommended to pre-fetch sources and share caches between
Stefano Cordibella - An introduction to Yocto Projectlinuxlab_conf
If you heard something about Yocto, bitbake, openembedded, layers, recipes and you want to know more about that, this talk is for you. In this presentation you will be introduced to the Yocto Project build system starting from the basic concepts of metadata up to the use of the build system “tasks” in order to create your own embedded linux distribution. I will start speaking about the pros and cons of the Yocto Project compared to the other embedded linux build systems. Then we go deep into the framework components: poky, openembedded core and bitbake. The practical use of the recipes, packagegroups, images and machines files will be explained by examples. Finally an example on how to integrate an extra layer will be showed demonstrating the ease of use and the modularity of the build system.
The Latest Status of CE Workgroup Shared Embedded Linux Distribution ProjectYoshitake Kobayashi
The CE workgroup of Linux Foundation has started a project to share the work of maintaining long-term support for an embedded distribution, by leveraging the work of the Debian and Debian LTS project. Debian gives you pre-compiled binary packages but the meta-debian layer enables to install customized packages to create similar or smaller images. If both usecases are able to share the source code, it is good to share the maintenance effort.
In this talk, Yoshitake will describe the details of meta-debian which provides a meta layer for the Poky build system. This talk will to gives the latest status, technical details and lessons learned from its development.
All source code are available on GitHub and related document also available on Github and elinux wiki.
Jenkins (formerly known as Hudson) is one of the most used tool in Java (non exclusive) to support continuous integration. Created as a hobby project, it quickly became a strategic tool for most development teams. Designed for extensibility, it also choosed from beginning an incremental development model, applying literally the 'release early, release often' principle. It focussed on building a large, active community, with the lowest contribution barrier I ever seen on opensource project and a complete transparency on project management, making Jenkins something uncommon in opensource world. During this session, I'll explain the Jenkins management & technical model, how it promotes contribution and how it allow CloudBees to both support the opensource community-driven project and deliver business value with proprietary extensions.
The document is a presentation about professional tools for embedded Linux given at OSCON in 2012. It introduces the Yocto Project, which aims to unify embedded Linux development. It discusses the project's goals of providing consistent tools across architectures. It outlines the project components like the build system, libraries, and governance structure. It then covers the development process involving layers, recipes, and adjustment points. Finally, it provides instructions for getting started, including downloading, configuring, building, and using the Hob interface.
DockerCon SF 2015: Maintaining the official node.js docker imageDocker, Inc.
This document discusses maintaining the official Node.js Docker image. It covers how Joyent took over an existing official image, the workflow for updating images, testing images, using tags and variants, keeping images small, monitoring user feedback, and future plans regarding the merging of Node.js and io.js. It provides recommendations for those starting from scratch on official images, such as using an official base image, including tests, and considering image size versus usefulness.
DominoCamp.de presented on running Domino on Docker containers. The presenter discussed:
- Their background and experience with Domino administration and development
- An overview of Linux containers and how they differ from virtual machines
- The benefits of using containers for Domino for both developers and administrators, such as simplified deployment, testing, and upgrades
- Details on the official HCL Domino container image versus the community-supported image
- Demonstrations of using Docker Compose to run development environments and multiple Domino servers on a single host
- Considerations for running Domino on Kubernetes, such as network configuration and stateful data management
The document discusses an overview of using the Beaglebone Black and Debian for prototyping IoT applications. It covers setting up a basic weather station demo using the Beaglebone Black, Python, MQTT and a public broker. Potential next steps discussed include using a private broker, adding device and system management, and automating offline image generation. Production considerations mentioned are developer workflows, first-boot actions, and injecting device-specific data during manufacturing.
Ross Burton has been working on the Yocto Project for nearly a year and previously worked on its precursor, Poky. The Yocto Project helps companies build customized Linux distributions for embedded products like set-top boxes, digital signs, networking equipment, and more. It provides advantages over general purpose desktop distributions by being designed for long-term use, having reproducible builds, and allowing full customization while maintaining standards and support.
DockerCon SF 2015: Maintaining the Official Node.js Docker ImageDocker, Inc.
- Joyent maintains the official Node.js Docker image, taking it over from its original creators. They aim to follow best practices like using an official base image, offering multiple tagged versions, and adding tests to ensure images build properly.
- Tags and variants like slim or different base OSes allow users flexibility. Proper documentation is important for understanding the different options.
- Automated testing, like with Serverspec, helps validate images before release. User feedback, like via GitHub issues, also helps improve the images.
- The Node.js and io.js projects plan to merge, which may impact the Docker images going forward as they are maintained by a working group under the Node.js foundation.
During 10 years of working with technical sales of Industrial Linux systems I have often been meet with a somewhat religious technical discussion about "which" Linux to use and currently the discussion is normally Debian vs. Yocto based Linux.
This white paper have been made primarily for managers, sales and purchasers regarding the overall (and not to technical deep) differences between Debian and Yocto based Linux usage in industrial applications.
The content of the white paper is build on the my and my colleagues own experiences, based on development of more than 100 Industrial Linux solutions and probably discussion of more than 250 Linux solutions with customers over a period of 10 years at Prevas A/S.
Talk I gave at The Yocto Project Summit Oct 29-30 2020 entitled: Yocto Project Kernel Lab Hands-On. The Yocto Project Summit was a 2-day summit at the tail end of the Embedded Linux Conference Europe (ELCE) 2020. This class was delivered virtually to an audience of roughly 60 attendees.
The talk discusses using The Yocto Project tooling to facilitate common Linux kernel tasks such as configuration, BSP creation, kernel modification, Linux kernel config fragments, and more.
An Introduction to the Yocto Embedded Framework 2018ICS
The Yocto Project® is a collaborative Open Source project that provides templates, tools and methods to help create custom Linux-based systems for embedded products, regardless of the hardware architecture. It was founded in 2010 as a collaboration among hardware manufacturers, open-source operating systems vendors, and electronics companies to help standardize embedded Linux development.
This webinar will:
Present an introduction to the Yocto framework, starting with an overview of Yocto including its advantages and limitations as compared to other approaches for building an embedded Linux image.
Describe the major components of Yocto, including what it provides and the tools and components it offers to create embedded Linux systems. An example will be given of creating a Yocto image for the Beaglebone, a low-cost ARM development board. The steps will include building the OS image, creating an SDK for cross-compilation, and deploying the image to the board.
Introduce key tools including bitbake and its related configuration files as well as the graphical "toaster" tool. The development platform used will be a Linux-based desktop system.
Provide suggestions on how to get started using Yocto and a list of references to more information including web sites and published books.
Attendees will gain a good overall understanding of what Yocto provides, the advantages it offers, and the basic process for using it to create an embedded Linux distribution. No previous experience with Yocto will be assumed, although a general understanding of embedded systems development is useful.
Bugs happen. Identifying and fixing them is part of the development process. This tutorial demonstrates one of the key tools in the embedded Linux developer’s toolbox: the GNU Debugger, GDB.
You will begin by using GDB to debug a program running on a target device. You will learn about debug symbols: how build them into programs and libraries, and the places that GDB will go looking for them. Next, you will perform basic debugging tasks, including setting breakpoints, stepping through code, examining variables and modifying variables. After that you will lean about GDB command files and how they can help you by automating certain tasks. You will receive a handy GDB cribsheet to help you with all of this. If time allows, we will discuss how to use GDB to analyse core dumps so that you can perform a post-mortem on a crashed program
Running Android on the Raspberry Pi: Android Pie meets Raspberry Pi
Slides from a lightning talk at FOSDEM 2019
https://fosdem.org/2019/schedule/event/android_pi/
We all want our devices to boot faster, but how much effort do you want to dedicate to optimizing and maintaining a custom kernel and apps? This presentation offers a graded list of things you can do to reduce boot time. They start with simple changes, such as adjusting the position of your main application the init sequence. Then there are the changes you can make to the kernel and bootloader configuration to speed things up, and finally, there are moderately advanced techniques such as using U-Boot in falcon mode. All of this is done using standard configuration techniques, with the idea of being able to maintain these changes in the future. I will show the effect of each of these changes on typical a embedded dev board so that you can judge for yourself where on the journey you want to jump off.
Linux power management: are you doing it right?Chris Simmonds
Devices operating on battery power need effective power management: anything you can do to reduce power usage will increase battery life. Even for devices running on mains power, better power managements has benefits in reducing the need for cooling and lower energy costs. This presentation describes the four principles of power management: don't rush if you don't have to; don't be ashamed of being idle; turn off things you are not using; and sleep when there is nothing else to do. Each of these has a counterpart in the Linux kernel.
Embedded Android: Android beyond the smartphoneChris Simmonds
We are all familiar with Android as an operating system for smarphones. Looking beyond that,
Android is an open-source operating system that runs on top of Linux, which opens up a wide range
of applications in the embedded space. Using Embedded Android, you get the well-known user
interface, with it’s familiar touch screen gestures, and you get a well-known programming interface
based on Java. So, why would you not want to consider Embedded Android?
Android is beginning to take off as an embedded operating system alongside Windows Embedded and traditional embedded Linux. What are the motivations for using Android? What are the potential problems? This presentation addresses these points, with use-cases based on real-world applications of Embedded Android
10 ways hardware engineers can make software integration easierChris Simmonds
Sometimes it seems that hardware engineers go out of their way to may the job of software engineers difficult. Here are my top 10 tips (plus two bonus slides) that will make integration to smoothly
Linux is changing the way embedded systems are put together even faster than it is influencing data centres and desktops. I gave this talk at Embedded Linux Conference Europe 2012 in Barcelona
Slides from Android Builder's Summit 2014 in San Jose, CA
The 4.4 KitKat release includes the results of “Project Svelte”: a set of tweaks to the operating system to make it run more easily on devices with around 512 MiB RAM. This is likely to be especially important for people working with “Embedded Android”, that is, implementing Android on devices that are not smart phones or tablets.
Slides from Android Builder's Summit 2014 in San Jose, CA
In this talk I describe the internal workings of the Android graphics stack from the Application layer down through the stack to pixels on the screen. It is a fairly complex journey, taking in two different 2D rendering engines, applications calling OpenGL ES directory, passing buffers on to the system compositor, SurfaceFlinger, and then down to the display controller or frame buffer.
Booting Android: bootloaders, fastboot and boot imagesChris Simmonds
This document discusses booting Android devices. It covers Android boot images, bootloaders, fastboot protocol, and file systems used for different types of flash memory in Android devices. The key topics covered include bootloaders loading the boot and recovery images, the fastboot protocol for flashing and debugging, and file systems like ext4, f2fs, yaffs2 used on different flash chips like eMMC, SD cards, and raw NAND flash.
This document presents a timeline for the development of embedded Linux from 1995 to the present day. It discusses early milestones like Busybox in 1995 and the Linux Router Project in 1997. It covers the growth of embedded Linux in devices like network cameras, PDAs, mobile phones, and WiFi routers. Key organizations that contributed to embedded Linux are also mentioned, such as MontaVista, Lineo, Denx, and projects like Buildroot and Yocto Project that made embedded Linux development easier. The document concludes that embedded Linux is now the default operating system, with installations in over 250 million devices annually.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
What to do when you have a perfect model for your software but you are constrained by an imperfect business model?
This talk explores the challenges of bringing modelling rigour to the business and strategy levels, and talking to your non-technical counterparts in the process.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Mobile app Development Services | Drona InfotechDrona Infotech
Drona Infotech is one of the Best Mobile App Development Company In Noida Maintenance and ongoing support. mobile app development Services can help you maintain and support your app after it has been launched. This includes fixing bugs, adding new features, and keeping your app up-to-date with the latest
Visit Us For :
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.