Book Image

Embedded Linux Development using Yocto Projects - Second Edition

By : Otavio Salvador, Daiane Angolini
Book Image

Embedded Linux Development using Yocto Projects - Second Edition

By: Otavio Salvador, Daiane Angolini

Overview of this book

Yocto Project is turning out to be the best integration framework for creating reliable embedded Linux projects. It has the edge over other frameworks because of its features such as less development time and improved reliability and robustness. Embedded Linux Development using Yocto Project starts with an in-depth explanation of all Yocto Project tools, to help you perform different Linux-based tasks. The book then moves on to in-depth explanations of Poky and BitBake. It also includes some practical use cases for building a Linux subsystem project using Yocto Project tools available for embedded Linux. The book also covers topics such as SDK, recipetool, and others. By the end of the book, you will have learned how to generate and run an image for real hardware boards and will have gained hands-on experience at building efficient Linux systems using Yocto Project.
Table of Contents (22 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
7
Diving into BitBake Metadata
Index

Using Poky to achieve copyleft compliance


At this point, we know how to use Poky and understand its main goal. It is time to understand the legal aspects of producing a Linux-based system that uses packages under different licenses.

We can configure Poky to generate the artifacts that should be shared as part of the copyleft compliance process.

License auditing

To help us to achieve copyleft compliance, Poky generates a license manifest during the image build, located at build/tmp/deploy/licenses/<image_name-machine_name-datestamp>/.

To demonstrate this process, we will use the core-image-full-cmdline image for the qemuarm machine. To start with our example, look at the files under build/tmp/deploy/licenses/core-image-full-cmdline-qemuarm-<datastamp>, which are as follows:

  • image_license.manifest: This lists the recipe names, versions, licenses, and the files of packages that are available in build/tmp/deploy/image/<machine> but not installed inside rootfs. The most common examples...