Book Image

Embedded Linux Development Using Yocto Project Cookbook - Second Edition

By : Alex Gonzalez
Book Image

Embedded Linux Development Using Yocto Project Cookbook - Second Edition

By: Alex Gonzalez

Overview of this book

The Yocto Project has become the de facto distribution build framework for reliable and robust embedded systems with a reduced time to market.You'll get started by working on a build system where you set up Yocto, create a build directory, and learn how to debug it. Then, you'll explore everything about the BSP layer, from creating a custom layer to debugging device tree issues. In addition to this, you’ll learn how to add a new software layer, packages, data, scripts, and configuration files to your system. You will then cover topics based on application development, such as using the Software Development Kit and how to use the Yocto project in various development environments. Toward the end, you will learn how to debug, trace, and profile a running system. This second edition has been updated to include new content based on the latest Yocto release.
Table of Contents (13 chapters)
Title Page
Dedication
Packt Upsell
Foreword
Contributors
Preface
Index

Running Docker application containers


Back in Chapter 1, The Build System, we saw how Docker CE (community edition) could be used to run an embedded Yocto development environment, and also how to run a Toaster Docker instance. Its use can be extended to test environment replication and chroots environments.

However, this type of lightweight container isolation is not only useful in the host but can also be leveraged on an embedded target. The performance of a container is virtually equivalent to a native application, and they are also light and quick to start and stop.

Docker is Apache 2.0-licensed and provides self-contained applications that can be moved between different machines, so, although it is not yet common, I expect to see Docker used more extensively in embedded systems as it facilitates the deployment and update of embedded applications by separating the core system software from the application layer that runs under Docker. Imagine being able to deploy and manage your software...