Embedded Linux Systems with the Yocto Project (Pearson Open Source Software Development Series) (英語) ハードカバー – 2016/5/12
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
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™ 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
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.
FWIW, I met Rudy for the first time at a conference. He helped me out some with my code and he told me about this book. I bought it just to be nice, but I was pleasantly surprised at its quality. I hope to meet him again so I can get him to sign it.
However, having said that, this book does a great job of collecting all of today's relevant information about OE and Yocto and putting it in one place. You can start with a single-board computer like a Raspberry Pi or BeagleBone (those are just two examples), and end up with a working Linux OS after just a few chapters. I highly recommend working through the entire book, in order to develop an intermediate or advanced knowledge of OE, Yocto, and BitBake, the essential tool at the center of it all.
The authors acknowledge that some of the content may age rapidly, and they point the user to sources to find updated information. Some readers may argue (correctly) that everything in the book is available for free on the Internet, or (arguably) that the Yocto Project Mega-Manual contains more information than this book contains. But if you want enough information, in one place AND easy to find, to successfully make your first Yocto build and the dozens of variations you will make afterwards, this book may be just what you're looking for.
p.s. While Packt offers books and e-books with titles similar to this book's title, I think that this one is superior to Packt's offerings. I say that reluctantly, since I own several Packt books as well. This one's just better.
Some of the information is a little outdated - at the time of this writing, the "build appliance" described in 2.1 doesn't exist any more, and neither does the Hob tool described in 7.6 (and other places). The "depexp" dependency explorer also doesn't exist any more.
I wish the book had a little more on building new BSPs from scratch. It talks about how to pull down a vendor's BSP and tweak it, but doesn't have much about to build your very own (how to set the system C compiler, how to configure your target flags, etc).
Overall though it was a very helpful book for me, and fleshed out some areas of Yocto that were shaky for me. Worth a read if you're using Yocto professionally and have some gaps in your knowledge.
This book provides clear, coherent story on what Yocto is, what its basic concepts are, what are the typical problems solved by the project, what are the tasks developers face and how they're handled in Yocto's workflow. Whether you're trying to adopt Yocto for hobby project, estimate if it would be a good fit for your organization, or have new developers joining Yocto-based project this book, IMHO, is the best on the topic there is.