万本电子书0元读

万本电子书0元读

顶部广告

Embedded Linux Development Using Yocto Project Cookbook - Second Edition电子书

售       价:¥

17人正在读 | 0人评论 9.8

作       者:Alex González

出  版  社:Packt Publishing

出版时间:2018-01-25

字       数:52.1万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Over 79 hands-on recipes for professional embedded Linux developers to optimize and boost their Yocto Project know-how About This Book ? Optimize your Yocto setup to speed up development and debug build issues ? Use what is quickly becoming the standard embedded Linux product builder framework—the Yocto Project ? Recipe-based implementation of best practices to optimize your Linux system Who This Book Is For If you are an embedded Linux developer with the basic knowledge of Yocto Project, this book is an ideal way to broaden your knowledge with recipes for embedded development. What You Will Learn ? Optimize your Yocto Project setup to speed up development and debug build issues ? Use Docker containers to build Yocto Project-based systems ? Take advantage of the user-friendly Toaster web interface to the Yocto Project build system ? Build and debug the Linux kernel and its device trees ? Customize your root filesystem with already-supported and new Yocto packages ? Optimize your production systems by reducing the size of both the Linux kernel and root filesystems ? Explore the mechanisms to increase the root filesystem security ? Understand the open source licensing requirements and how to comply with them when cohabiting with proprietary programs ? Create recipes, and build and run applications in C, C++, Python, Node.js, and Java In Detail 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, *s, 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. Style and approach This recipe-based book will guide you through all the development stages of an embedded Linux product design using the Yocto Project.
目录展开

Title Page

Copyright and Credits

Embedded Linux Development Using Yocto Project Cookbook Second Edition

Dedication

Packt Upsell

Why subscribe?

PacktPub.com

Foreword

Contributors

About the author

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

The Build System

Introduction

Setting up the host system

Getting ready

How to do it...

How it works...

There's more...

See also

Installing Poky

Getting ready

How to do it...

How it works...

There's more...

See also

Creating a build directory

How to do it...

How it works...

There's more...

Building your first image

Getting ready

How to do it...

How it works...

There's more...

Explaining the NXP Yocto ecosystem

Getting ready

How to do it...

How it works...

There's more...

See also

Installing support for NXP hardware

Getting ready

How to do it...

How it works...

There's more...

See also

Building Wandboard images

How to do it...

How it works...

See also

Using the Toaster web interface

Getting ready

How to do it...

Administrator interface

Starting a build

Customizing images with Toaster

Building SDKs with Toaster

How it works...

There's more...

Running a Toaster Docker container

How to do it...

See also

Configuring network booting for a development setup

Getting ready

Installing a TFTP server

Installing an NFS server

How to do it...

Using Docker as a Yocto build system container

Getting ready

How to do it...

How it works...

See also

Sharing downloads

Getting ready

How to do it...

Sharing the shared state cache

How to do it...

There's more...

Setting up a package feed

Getting ready

Versioning packages

How to do it...

There's more...

Generating signed packages

Using signed package feeds

Creating a GNUPG key pair

Backing up your keys

See also

Using build history

How to do it...

How it works...

Looking at build history

There's more...

Working with build statistics

How to do it...

How it works...

There's more...

See also

Debugging the build system

Getting ready

Finding recipes

Dumping BitBake's environment

Using the development shell

How to do it...

Task log and run files

Adding logging to recipes

Looking at dependencies

Debugging dependencies

Debugging BitBake

Error reporting tool

The BSP Layer

Introduction

Creating a custom BSP layer

How to do it...

How it works...

There's more...

Adding a new machine

Adding a custom device tree to the Linux kernel

Adding a custom U-Boot machine

Adding a custom formfactor file

Build your custom machine

See also

Adding a custom kernel and bootloader

Getting ready

Finding the Linux kernel source

Finding the U-Boot source

Developing using a Git repository fork

How to do it...

How it works...

Building the U-Boot bootloader

Getting ready

How to do it...

There's more...

Describing Linux's build system

How to do it...

How it works...

There's more...

Configuring the Linux kernel

Getting ready

How to do it...

Using Yocto to configure the Linux kernel

There's more...

Building the Linux kernel

How to do it...

Using Yocto to build the Linux kernel

There's more...

Building external kernel modules

Getting ready

How to do it...

There's more...

Module auto-loading

See also

Debugging the Linux kernel and modules

How to do it...

How it works...

There's more...

Using dynamic debug

Rate-limiting debug messages

See also

Debugging the Linux kernel booting process

How to do it...

How it works...

Dumping the kernel's printk buffer from the bootloader

There's more...

Using the kernel function tracing system

Getting ready

How to do it...

How it works...

There's more...

Filtering function traces

Enabling trace options

Using the function tracer on oops

Getting a stack trace for a given function

Configuring the function tracer at boot

See also

Managing the device tree

Getting ready

How to do it...

How it works...

The compatible property

The Wandboard device tree file

Defining buses and memory-addressable devices

There's more...

Modifying and compiling the device tree in Yocto

See also

Debugging device tree issues

How to do it...

How it works...

Looking at the device tree from U-Boot

Looking at the device tree from the Linux kernel

The Software Layer

Introduction

Exploring an image's contents

Getting ready

How to do it...

How it works...

Adding a new software layer

Getting ready

How to do it...

How it works...

There's more...

See also

Selecting a specific package version and provider

How to do it...

How do we select which provider to use?

How do we select which version to use?

How do we select which version not to use?

Adding supported packages

Getting ready

How to do it...

How it works...

There's more...

Configuring packages

Adding new packages

Getting ready

How to do it...

How it works...

Package licensing

Fetching package contents

Specifying task overrides

Configuring packages

Splitting into several packages

Setting machine-specific variables

Adding data, scripts, or configuration files

How to do it...

There's more...

Managing users and groups

Getting ready

How to do it...

There's more...

Using the sysvinit initialization manager

Getting ready

How to do it...

Using the systemd initialization manager

Getting ready

How to do it...

There's more...

Installing systemd unit files

See also

Installing package installation scripts

Getting ready

How to do it...

How it works...

Reducing the Linux kernel image size

How to do it...

How it works...

Reducing the root filesystem size

How to do it...

How it works...

Memory-based root filesystems

Getting ready

How to do it...

How it works...

There's more...

Securing the root filesystem

Getting ready

How to do it...

Setting up SELinux

Setting up SMACK

How it works...

Looking into SELinux

Looking into SMACK

See also

Releasing software

Getting ready

How to do it...

There's more...

See also

Analyzing your system for compliance

How to do it...

There's more...

Working with open source and proprietary code

How to do it...

How it works...

The U-Boot bootloader

The Linux kernel

glibc

musl

BusyBox

The Qt framework

The X Windows system

There's more...

See also

Application Development

Introduction

Introducing toolchains

Getting ready

How to do it...

Preparing an SDK

Getting ready

How to do it...

How it works...

Customizing standard and extensible SDKs

Adding packages to the SDKs

Using the extensible SDK

Getting ready

Exploring the extensible SDK contents

How to do it...

How it works...

The workspace layer

Recipe development workflow

Adding a recipe to the workspace layer

Removing a recipe from the workspace layer

Modifying a recipe in the workspace layer

Building and testing your recipe

Updating a recipe with your changes

Finishing work on a recipe

There's more...

Using the Eclipse IDE

Getting ready

How to do it...

There's more...

See also

Developing GTK+ applications

Getting ready

How to do it...

There's more...

Using the Qt Creator IDE

Getting ready

How to do it...

Developing Qt applications

Getting ready

How to do it...

There's more...

Describing workflows for application development

How to do it...

How it works...

External development

Working directory development

External source development

Working with GNU make

How to do it...

See also

Working with the GNU build system

Getting ready

How to do it...

See also

Working with the CMake build system

Getting ready

How to do it...

See also

Working with the SCons builder

Getting ready

How to do it...

See also

Developing with libraries

Getting ready

Building a static library

Building a shared dynamic library

How to do it...

How it works...

There's more...

See also

Working with the Linux framebuffer

Getting ready

How to do it...

How it works...

There's more...

See also

Using the X Windows system

Getting ready

How to do it...

There's more...

See also

Using Wayland

Getting ready

How to do it...

There's more...

See also

Adding a web browser application

Getting ready

How to do it...

There's more...

See also

Adding Python applications

Getting ready

How to do it...

There's more...

Integrating the Open Java Development Kit

Getting ready

How to do it...

How it works...

There's more...

See also

Integrating Java applications

Getting ready

How to do it...

How it works...

There's more...

See also

Integrating Node.js applications

Getting ready

How to do it...

How it works...

There's more...

See also

Running Docker application containers

Getting ready

How to do it...

How it works...

See also

Debugging, Tracing, and Profiling

Introduction

Analyzing core dumps

Getting ready

How to do it...

How it works...

See also

Native GDB debugging

Getting ready

How to do it...

There's more...

Cross GDB debugging

Getting ready

How to do it...

There's more...

Using strace for application debugging

Getting ready

How to do it...

How it works...

See also

Using the kernel's performance counters

Getting ready

How to do it...

How it works...

There's more...

See also

Using static kernel tracing

Getting ready

How to do it...

How it works...

There's more...

See also

Using dynamic kernel tracing

Getting ready

How to do it...

There's more...

See also

Using dynamic kernel events

Getting ready

How to do it...

How it works...

There's more...

Exploring Yocto's tracing and profiling tools

Getting ready

How to do it...

There's more...

Tracing and profiling with perf

Getting ready

How to do it...

How it works...

Reading tracing data

There's more...

Profile charts

Using perf as a strace substitute

See also

Using SystemTap

Getting ready

How to do it...

How it works...

See also

Using LTTng

Getting ready

How to do it...

How it works...

Extending application profiling

There's more...

See also

Using blktrace

Getting ready

How to do it...

How it works...

There's more...

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部