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

Generating a root filesystem image


One of the most common uses of Poky is the rootfs image generation. The rootfs image should be seen as a ready-to-use root filesystem for a target. The image can be made up of one or more filesystems and may include other artifacts to be available during its generation, such as the Linux kernel, device tree, and bootloader binaries. The process of generating the image is composed of several steps, and its most common usages are as follows:

  1. Generate the rootfs directory.
  2. Create the required files.
  3. Wrap the final filesystem according to the specific requirements (it may be a disk file with several partitions and contents).
  4. Finally, compress it, if applicable.

All these steps are performed by subtasks of do_rootfs.

rootfs is basically a directory with the desired packages installed (package generation is covered in Chapter 6, Assimilating Packaging Support), with the required tweaks applied just afterward. The tweaks make minor adjustments to the rootfs contents...