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

Reducing the root filesystem size


Images with reduced sizes are used alongside production images for tasks such as rescue systems and manufacturing test processes. They are also ideal to be built as initramfs images, that is, images that the Linux kernel mounts from memory, and can even be bundled into a single Linux kernel image binary.

By default, the core-image-minimal size for the Wandboard unpacked root filesystem tarball is around 13 MB, and core-image-sato is around 244 MB. This recipe will explore methods to reduce the size of the root filesystem.

How to do it...

An example of a small image that does not include the core image class and can be used as the base for a bottom-up root filesystem image with reduced size, recipes-core/images/image-small.bb, is shown next:

DESCRIPTION = "Minimal console-only image." 
 
IMAGE_INSTALL= "\
        base-files \  
        base-passwd \ 
        busybox \  
        sysvinit \  
        initscripts \  
" 
 
IMAGE_LINGUAS = " " 
 
LICENSE = "MIT" ...