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

Using blktrace


There are a few tools available to perform block devices I/O monitoring and profiling.

iotop, which we mentioned in the Exploring Yocto's tracing and profiling tools recipe, gives a general idea of the throughput on a system and a particular process. iostat provides many more statistics regarding CPU usage and device utilization, but does not provide per process details. Finally, blktrace, a GPLv2 licensed tool that monitors specific block devices' I/O at a low level, and can also compute I/O operations per second (IOPS).

This recipe will explain how to use blktrace to trace block devices and blkparse, to convert the traces into human readable format.

Flash filesystems, even if they are presented to the user space as block devices, cannot be profiled with blktrace.

Getting ready

To use blktrace and blkparse, you can add them to the target image by adding them specifically to your conf/local.conf file as in the following:

IMAGE_INSTALL_append = " blktrace" 

Alternatively, you can...