Book Image

Embedded Linux Development Using Yocto Project - Third Edition

By : Otavio Salvador, Daiane Angolini
Book Image

Embedded Linux Development Using Yocto Project - Third Edition

By: Otavio Salvador, Daiane Angolini

Overview of this book

The Yocto Project is the industry standard for developing dependable embedded Linux projects. It stands out from other frameworks by offering time-efficient development with enhanced reliability and robustness. With Embedded Linux Development Using Yocto Project, you’ll acquire an understanding of Yocto Project tools, helping you perform different Linux-based tasks. You’ll gain a deep understanding of Poky and BitBake, explore practical use cases for building a Linux subsystem project, employ Yocto Project tools available for embedded Linux, and uncover the secrets of SDK, recipe tool, and others. This new edition is aligned with the latest long-term support release of the aforementioned technologies and introduces two new chapters, covering optimal emulation in QEMU for faster product development and best practices. By the end of this book, you’ll be well-equipped to generate and run an image for real hardware boards. You’ll gain hands-on experience in building efficient Linux systems using the Yocto Project.
Table of Contents (20 chapters)

Running code during package installation

Packages can use scripts as part of their installation and removal process. The included scripts are defined as follows:

  • preinst: This executes before unpacking the package. If the package has services, it must stop them for installation or upgrade.
  • postinst: After unpacking, this typically completes any required configuration of the package. Many postinst scripts execute any command necessary to start or restart a service after installation or upgrade.
  • prerm: It usually stops any daemon associated with a package before removing files associated with the package.
  • postrm: This commonly modifies links or other files created by the package.

The preinst and prerm scripts target complex use cases, such as data migration when updating packages. In the Yocto Project case, postinst and postrm are also responsible for stopping and starting the systemd or sysvinit services. A default script is provided when we use the systemd...