The largest building block of a Linux distribution is the user space that contains the various libraries and applications that provide the essential functionality of the system. This chapter presented the fundamental concepts on how the Poky build system creates root filesystem images and how you can customize them to meet your requirements.
The OpenEmbedded build system’s core images provide distribution blueprints that you can extend and modify.
Core images can easily be extended by appending packages and package groups to the list contained in the variable IMAGE_INSTALL.
The QEMU emulator is a convenient and quick way to test your root file before booting it on an actual device.
Enabling the build history lets you track changes to your images and compare subsequent executions of the build process.
Creating your own image recipes that build on core image recipes by including them provides you with more control over what packages your root filesystem image contains. Image recipes that directly inherit the core-image class let you build root filesystem images from scratch.
Package groups are a mechanism to bundle multiple packages and reference them by a single name, which greatly simplifies image customization with the IMAGE_INSTALL variable. Poky provides a series of predefined package groups that organize common packages.
The build system can produce root filesystem images in various output formats. Some of them can be written directly to storage media such as flash devices to boot a system.
Setting up a distribution policy allows operating system configuration independent of the content of the root filesystem. It also provides the means to use an external toolchain with the build system and to change the C library.
Hob is a graphical user interface for BitBake. Launched from within an initialized build environment, it allows configuring and building of root filesystem images without modifying files using a text editor.