Embedded Linux Systems with the Yocto Project

Embedded Linux Systems with the Yocto Project

By: Rudolf J. Streif (author)Hardback

1 - 2 weeks availability

£24.79 RRP £30.99  You save £6.20 (20%) & FREE Saver Delivery on orders over £25

Description

Build Complete Embedded Linux Systems Quickly and Reliably Developers are increasingly integrating Linux into their embedded systems: It supports virtually all hardware architectures and many peripherals, scales well, offers full source code, and requires no royalties. The Yocto Project makes it much easier to customize Linux for embedded systems. If you're a developer with working knowledge of Linux, Embedded Linux Systems with the Yocto Project(TM) will help you make the most of it. An indispensable companion to the official documentation, this guide starts by offering a solid grounding in the embedded Linux landscape and the challenges of creating custom distributions for embedded systems. You'll master the Yocto Project's toolbox hands-on, by working through the entire development lifecycle with a variety of real-life examples that you can incorporate into your own projects. Author Rudolf Streif offers deep insight into Yocto Project's build system and engine, and addresses advanced topics ranging from board support to compliance management. You'll learn how to * Overcome key challenges of creating custom embedded distributions* Jumpstart and iterate OS stack builds with the OpenEmbedded Build System* Master build workflow, architecture, and the BitBake Build Engine* Quickly troubleshoot build problems* Customize new distros with built-in blueprints or from scratch* Use BitBake recipes to create new software packages* Build kernels, set configurations, and apply patches* Support diverse CPU architectures and systems* Create Board Support Packages (BSP) for hardware-specific adaptations* Provide Application Development Toolkits (ADT) for round-trip development* Remotely run and debug applications on actual hardware targets* Ensure open-source license compliance* Scale team-based projects with Toaster, Build History, Source Mirrors, and Autobuilder

Create a review

About Author

Rudolf J. Streif has more than twenty years of experience in software engineering as a developer and as a manager leading cross-functional engineering teams with more than one hundred members. He previously served as the Linux Foundation's Director of Embedded Solutions, coordinating the Foundation's efforts for Linux in embedded. Rudolf developed the Linux Foundation's training course on the Yocto Project, which he delivered multiple times to companies and in a crash course variant during Linux Foundation events. He lives in El Cajon, California.

Contents

Foreword xv Preface xvii Acknowledgments xxi About the Author xxiii Chapter 1: Linux for Embedded Systems 1 1.1 Why Linux for Embedded Systems? 1 1.2 Embedded Linux Landscape 3 1.3 A Custom Linux Distribution-Why Is It Hard? 8 1.4 A Word about Open Source Licensing 9 1.5 Organizations, Relevant Bodies, and Standards 11 1.6 Summary 13 1.7 References 14 Chapter 2: The Yocto Project 15 2.1 Jumpstarting Your First Yocto Project Build 15 2.2 The Yocto Project Family 26 2.3 A Little Bit of History 28 2.4 Yocto Project Terms 31 2.5 Summary 33 2.6 References 34 Chapter 3: OpenEmbedded Build System 35 3.1 Building Open Source Software Packages 35 3.2 OpenEmbedded Workflow 39 3.3 OpenEmbedded Build System Architecture 45 3.4 Summary 56 3.5 References 57 Chapter 4: BitBake Build Engine 59 4.1 Obtaining and Installing BitBake 59 4.2 Running BitBake 61 4.3 BitBake Metadata 70 4.4 Metadata Syntax 71 4.5 Source Download 86 4.6 HelloWorld-BitBake Style 95 4.7 Dependency Handling 99 4.8 Version Selection 102 4.9 Variants 103 4.10 Default Metadata 103 4.11 Summary 107 4.12 References 108 Chapter 5: Troubleshooting 109 5.1 Logging 110 5.2 Task Execution 116 5.3 Analyzing Metadata 119 5.4 Development Shell 120 5.5 Dependency Graphs 121 5.6 Debugging Layers 122 5.7 Summary 124 Chapter 6: Linux System Architecture 127 6.1 Linux or GNU/Linux? 127 6.2 Anatomy of a Linux System 128 6.3 Bootloader 129 6.4 Kernel 134 6.5 User Space 141 6.6 Summary 143 6.7 References 144 Chapter 7: Building a Custom Linux Distribution 145 7.1 Core Images-Linux Distribution Blueprints 146 7.2 Building Images from Scratch 160 7.3 Image Options 161 7.4 Distribution Configuration 169 7.5 External Layers 181 7.6 Hob 181 7.7 Summary 184 Chapter 8: Software Package Recipes 185 8.1 Recipe Layout and Conventions 185 8.2 Writing a New Recipe 196 8.3 Recipe Examples 212 8.4 Devtool 218 8.5 Summary 224 8.6 References 224 Chapter 9: Kernel Recipes 225 9.1 Kernel Configuration 226 9.2 Kernel Patches 231 9.3 Kernel Recipes 233 9.4 Out-of-Tree Modules 251 9.5 Device Tree 257 9.6 Summary 258 9.7 References 259 Chapter 10: Board Support Packages 261 10.1 Yocto Project BSP Philosophy 261 10.2 Building with a BSP 265 10.3 Inside a Yocto Project BSP 277 10.4 Creating a Yocto Project BSP 282 10.5 Tuning 289 10.6 Creating Bootable Media Images 290 10.7 Summary 299 10.8 References 299 Chapter 11: Application Development 301 11.1 Inside a Yocto Project ADT 302 11.2 Setting Up a Yocto Project ADT 304 11.3 Building Applications 315 11.4 Eclipse Integration 317 11.5 Application Development Using an Emulated Target 331 11.6 Summary 333 11.7 References 334 Chapter 12: Licensing and Compliance 335 12.1 Managing Licenses 335 12.2 Managing Source Code 341 12.3 Summary 343 12.4 References 344 Chapter 13: Advanced Topics 345 13.1 Toaster 345 13.2 Build History 358 13.3 Source Mirrors 366 13.4 Autobuilder 368 13.5 Summary 374 13.6 References 375 Appendix A: Open Source Licenses 377 A.1 MIT License (MIT) 377 A.2 GNU General Public License (GPL) Version 2 378 A.3 GNU General Public License (GPL) Version 3 384 A.4 Apache License Version 2.0 397 Appendix B: Metadata Reference 403 Index 429

Product Details

  • publication date: 02/05/2016
  • ISBN13: 9780133443240
  • Format: Hardback
  • Number Of Pages: 480
  • ID: 9780133443240
  • weight: 890
  • ISBN10: 0133443248

Delivery Information

  • Saver Delivery: Yes
  • 1st Class Delivery: Yes
  • Courier Delivery: Yes
  • Store Delivery: Yes

Prices are for internet purchases only. Prices and availability in WHSmith Stores may vary significantly

Close