Welcome all the Yocto Project Summit 2021 attendees
This seminar is for people who are new to using the Yocto Project and want an introduction to the basics of how to use bitbake and start to build images to be used with QEMU.
At balena, we make use of the Yocto project to build unique OS’es for approximately 70 devices across the Arm and x86 single board computer ecosystem. Our resulting images, called balenaOS, include a container runtime and some tooling to connect to balenaCloud, allowing for remote management of the devices. Keeping up with just one BSP layer is hard enough, let alone the many Arm SoC families and their corresponding BSP layers that our customers make use of. Let’s talk about our use-case, the process we use to build and version these OS’es, chat about some challenges we face, and gather feedback from the community to improve the overall experience.
OpenWrt is an open source project for Linux-based operating systems, mainly used
on embedded devices to direct network traffic. Its development environment and
build system, known together as OpenWrt Buildroot, are based on a heavily
modified Buildroot system. However, it is possible to prepare an OpenWrt system
using the Yocto Project and meta-openwrt. In my presentation, I would like to
provide an overview of this layer.
Ever wondered how to override some variables or files for a given architecture? Ever seen _append or heard of OVERRIDES mechanism before? Were you ever surprised by the content of one variable? This talk is for you!
Debugging information is about 5 to 15 times larger than an Image, and sometimes due to memory or disk space constraints, it is not possible
to use GDB directly on the remote target to debug applications because GDB needs to load the debugging information.
Hence the need for debuginfod from "elfutils" which is a way to make debugging information available on a server for easy debug and distribution of "debuginfo" files.
OSTree (or libostree), also known as the "Git for operating system binaries", is a new and modern approach to develop and maintain complete filesystem trees for Linux-based systems. At its core, is a Git-like content-addressed object store with branches (or "refs") to track complete filesystem trees. And one of its big advantages is on implementing an update system, since it provides transactional (atomic) and delta-based upgrades with rollback support. It has been used in modern package management systems like Flatpak and rpm-ostree, and Linux distributions like Apertis, Endless OS, Fedora CoreOS/Silverblue/IoT and GNOME OS. In this talk, we will dig deeper into how OSTree works, taking a hands-on approach to learn how to designing an OSTree based embedded Linux systems using the meta-updater layer.
Open Embedded Developers Meeting
This seminar is for people who are new to using the Yocto Project and want an introduction to the basics of layers, building images, and other initial topics
A chance for all the attendees to meet socially and show off their drink.
Welcome all the Yocto Project Summit 2021 attendees
There are several techniques to debug an embedded Linux system that can be applied in both user space and kernel space. Depending on the problem, you may need different tools, like addr2line for crash dump analysis, GDB for interactive debugging, ftrace for kernel tracing, valgring to catch memory-related issues, gprof for application profiling, etc. In this talk, we will learn how the Yocto Project can help and improve the experience of the developer when debugging an embedded Linux system.
The class "Static Analysis with the Yocto Project" will introduce ways how to enable Static Analysis while building your projects with bitbake. We will introduce two variants and have a set of hands-on labs.
Parsec is an open-source project within the Cloud Native Compute Foundation (CNCF). It aims to provide convenient and portable interfaces to hardware security in the programming language of your choice. Parsec is being integrated into the meta-security layer of Yocto Project. This is an opportunity to learn more about Parsec and the value it can bring to your Yocto-based deployment.
The Yocto Project and OpenEmbedded are often used for building custom GNU/Linux distributions for powering interactive kiosk and displaying HTML5 content. This presentation will offer the exact steps how to build a minimal GNU/Linux distribution with systemd, X11, openbox window manager and the Surf web browser. Surf is a simple minimalist web browser based on WebKit2/GTK+ with interface that does not include any graphical control elements.
An overview of the supported 64-bit PowerPC targets (both hardware and emulation). The focus will be on the more recent families, mostly on the IBM POWER9.
An overview of the Rust programming language and how the meta-rust project enables convenient Rust development in Yocto-based projects
Implementing multiconfig examples using bitbake.
You are a passionate engineer/Techie and really understand the benefits and potential of yocto project from technical standpoint and also see the product requirement of your company or organization. Its a challenge to convince your executive/technical leadership to evaluate and/or use yocto project to solve your business case. this talk will discuss few key points which would help you make a strong case for using the project in your organization.
During this session, the Yocto chants will be incantated, encouraging listeners to join in and reach a higher state of development experience.
The presenter will have a drink while chanting.
The Outreachy internship is a remote internship that is centered around increasing diversity in open source. The Yocto Project participated as a mentor organization for the December 2020 to March 2021 round with two projects. One of the projects being "Enhancing the Yocto Project license tracing".
Setting up an HTTP remote package server and pointing your target clients at it is easier than you might think. Python's built-in http.server module can be used to quickly serve up ipk package feeds from your Yocto build machine. I will demonstrate how to add the opkg package manager to a distro layer and configure the tool to download and install a newly-built package on demand.
The meta-virtualization layer has been providing core virtualization and
container support to the OpenEmbedded community since 2012.
This talk will cover the diverse set of container runtimes and supporting
components that are part of the layer. Support from very small / simple
containers is possible, extending all the way to safe / secure VM based
The presentation will start with a brief overview of the container runtime
options, and how they map to typical requirements. The supporting components
(networking, composition, etc) and how they integrate into larger orchestration
frameworks will also be covered.
The talk will then focus on how building an OCI (Open Container Initiative)
image directly from meta-virtualization is possible, and how such a container
can be deployed/managed using current support. It will also touch on the
recently added k3s (lightweight kubernetes) and how it has driven new
development to ease the deployment of frameworks.
Finally, upcoming meta-virtualization efforts to enhance container development
and deployment will be covered.
Hands-on session using devtool, the Yocto Project tool that helps you create/update recipes and work with recipe source trees.
We are about six months in from kicking off All Scenarios OS (former OpenHarmony), and Yocto/OpenEmbedded was a core building block from the start. We consider today to be an excellent time to sit down and look at what we are currently using and our plans for the future.
An overview of Gitlab CI and a number of different ways it can be used for building and testing layers in Yocto Project/OpenEmbedded
The linux-yocto reference kernel is part of OE core and provides a stable
and tested set of targets (simulated and hardware) as part of each release.
This talk will discuss why the reference kernel is important (even in an
environment of many vendor, board and custom kernels) and what it provides
to the project.
Additionally, the tooling and workflows that have been developed since the
reference was first introduced will be presented. Specific attention will be
paid to how both production builds and development/extension of the kernel are
supported. How the tooling eases maintenance and security of 6 architectures
over 12+ BSPs and multiple releases will be illustrated through examples and
workflow descriptions. Finally, Kernel configuration management and auditing will
be covered as a topic as part of workflow discussions and how they can be
used across many kernels/versions and for developing consistent/new BSPs.