Embedded Linux Projects Using Yocto Project Cookbook

Over 70 hands-on recipes for professional embedded Linux developers to optimize and boost their Yocto know-how

Embedded Linux Projects Using Yocto Project Cookbook

Cookbook
Alex González

2 customer reviews
Over 70 hands-on recipes for professional embedded Linux developers to optimize and boost their Yocto know-how
$39.99
$49.99
RRP $39.99
RRP $49.99
eBook
Print + eBook

Instantly access this course right now and get the skills you need in 2017

With unlimited access to a constantly growing library of over 4,000 eBooks and Videos, a subscription to Mapt gives you everything you need to get that next promotion or to land that dream job. Cancel anytime.

Free Sample

Book Details

ISBN 139781784395186
Paperback324 pages

Book Description

The embedded Linux world is standardizing around Yocto Project as the best integration framework to create reliable embedded Linux products. Yocto Project effectively shortens the time it takes to develop and maintain an embedded Linux product, and it increases its reliability and robustness by using proven and tested components.

This book begins with the installation of a professional embedded Yocto setup, then advises you on best practices, and finally explains how to quickly get hands on with the Freescale ARM ecosystem and community layer, using the affordable and open source Wandboard embedded board.

Table of Contents

Chapter 1: The Build System
Introduction
Setting up the host system
Installing Poky
Creating a build directory
Building your first image
Explaining the Freescale Yocto ecosystem
Installing support for Freescale hardware
Building Wandboard images
Troubleshooting your Wandboard's first boot
Configuring network booting for a development setup
Sharing downloads
Sharing the shared state cache
Setting up a package feed
Using build history
Working with build statistics
Debugging the build system
Chapter 2: The BSP Layer
Introduction
Creating a custom BSP layer
Introducing system development workflows
Adding a custom kernel and bootloader
Building the U-Boot bootloader
Explaining Yocto's Linux kernel support
Describing Linux's build system
Configuring the Linux kernel
Building the Linux kernel
Building external kernel modules
Debugging the Linux kernel and modules
Debugging the Linux kernel booting process
Using the kernel function tracing system
Managing the device tree
Debugging device tree issues
Chapter 3: The Software Layer
Introduction
Exploring an image's contents
Adding a new software layer
Selecting a specific package version and providers
Adding supported packages
Adding new packages
Adding data, scripts, or configuration files
Managing users and groups
Using the sysvinit initialization manager
Using the systemd initialization manager
Installing package-installation scripts
Reducing the Linux kernel image size
Reducing the root filesystem image size
Releasing software
Analyzing your system for compliance
Working with open source and proprietary code
Chapter 4: Application Development
Introduction
Introducing toolchains
Preparing and using an SDK
Using the Application Development Toolkit
Using the Eclipse IDE
Developing GTK+ applications
Using the Qt Creator IDE
Developing Qt applications
Describing workflows for application development
Working with GNU make
Working with the GNU build system
Working with the CMake build system
Working with the SCons builder
Developing with libraries
Working with the Linux framebuffer
Using the X Windows system
Using Wayland
Adding Python applications
Integrating the Oracle Java Runtime Environment
Integrating the Open Java Development Kit
Integrating Java applications
Chapter 5: Debugging, Tracing, and Profiling
Introduction
Analyzing core dumps
Native GDB debugging
Cross GDB debugging
Using strace for application debugging
Using the kernel's performance counters
Using static kernel tracing
Using dynamic kernel tracing
Using dynamic kernel events
Exploring Yocto's tracing and profiling tools
Tracing and profiling with perf
Using SystemTap
Using OProfile
Using LTTng
Using blktrace

What You Will Learn

  • Optimize your Yocto setup to speed up development and debug build issues
  • Introduce development workflows for the U-Boot and the Linux kernel, including debugging and optimization methodologies
  • Customize your root filesystem with both already supported and new Yocto packages
  • Understand the open source licensing requirements and how to comply with them when cohabiting with proprietary programs
  • Bring professional embedded Yocto products to market in a timely manner
  • Optimize your production systems by reducing the size of both the Linux kernel and root filesystems

Authors

Table of Contents

Chapter 1: The Build System
Introduction
Setting up the host system
Installing Poky
Creating a build directory
Building your first image
Explaining the Freescale Yocto ecosystem
Installing support for Freescale hardware
Building Wandboard images
Troubleshooting your Wandboard's first boot
Configuring network booting for a development setup
Sharing downloads
Sharing the shared state cache
Setting up a package feed
Using build history
Working with build statistics
Debugging the build system
Chapter 2: The BSP Layer
Introduction
Creating a custom BSP layer
Introducing system development workflows
Adding a custom kernel and bootloader
Building the U-Boot bootloader
Explaining Yocto's Linux kernel support
Describing Linux's build system
Configuring the Linux kernel
Building the Linux kernel
Building external kernel modules
Debugging the Linux kernel and modules
Debugging the Linux kernel booting process
Using the kernel function tracing system
Managing the device tree
Debugging device tree issues
Chapter 3: The Software Layer
Introduction
Exploring an image's contents
Adding a new software layer
Selecting a specific package version and providers
Adding supported packages
Adding new packages
Adding data, scripts, or configuration files
Managing users and groups
Using the sysvinit initialization manager
Using the systemd initialization manager
Installing package-installation scripts
Reducing the Linux kernel image size
Reducing the root filesystem image size
Releasing software
Analyzing your system for compliance
Working with open source and proprietary code
Chapter 4: Application Development
Introduction
Introducing toolchains
Preparing and using an SDK
Using the Application Development Toolkit
Using the Eclipse IDE
Developing GTK+ applications
Using the Qt Creator IDE
Developing Qt applications
Describing workflows for application development
Working with GNU make
Working with the GNU build system
Working with the CMake build system
Working with the SCons builder
Developing with libraries
Working with the Linux framebuffer
Using the X Windows system
Using Wayland
Adding Python applications
Integrating the Oracle Java Runtime Environment
Integrating the Open Java Development Kit
Integrating Java applications
Chapter 5: Debugging, Tracing, and Profiling
Introduction
Analyzing core dumps
Native GDB debugging
Cross GDB debugging
Using strace for application debugging
Using the kernel's performance counters
Using static kernel tracing
Using dynamic kernel tracing
Using dynamic kernel events
Exploring Yocto's tracing and profiling tools
Tracing and profiling with perf
Using SystemTap
Using OProfile
Using LTTng
Using blktrace

Book Details

ISBN 139781784395186
Paperback324 pages
Read More
From 2 reviews

Read More Reviews

Recommended for You