Yocto Project Overview and Concepts Manual

Scott Rifenbark

Scotty's Documentation Services, INC

Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons.

Manual Notes

  • This version of the Yocto Project Overview and Concepts Manual is for the 2.6 release of the Yocto Project. To be sure you have the latest version of the manual for this release, go to the Yocto Project documentation page and select the manual from that site. Manuals from the site are more up-to-date than manuals derived from the Yocto Project released TAR files.

  • If you located this manual through a web search, the version of the manual might not be the one you want (e.g. the search might have returned a manual much older than the Yocto Project version with which you are working). You can see all Yocto Project major releases by visiting the Releases page. If you need a version of this manual for a different Yocto Project release, visit the Yocto Project documentation page and select the manual set by using the "ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE" pull-down menus.

  • To report any inaccuracies or problems with this manual, send an email to the Yocto Project discussion group at yocto@yoctoproject.com or log into the freenode #yocto channel.

Revision History
Revision 2.5 May 2018
The initial document released with the Yocto Project 2.5 Release.
Revision 2.6 TBD
Released with the Yocto Project 2.6 Release.

Table of Contents

1. The Yocto Project Overview and Concepts Manual
1.1. Welcome
1.2. Other Information
2. Introducing the Yocto Project
2.1. What is the Yocto Project?
2.1.1. Features
2.1.2. Challenges
2.2. The Yocto Project Layer Model
2.3. Components and Tools
2.3.1. Development Tools
2.3.2. Production Tools
2.3.3. Open-Embedded Build System Components
2.3.4. Reference Distribution (Poky)
2.3.5. Packages for Finished Targets
2.3.6. Archived Components
2.4. Development Methods
2.5. Reference Embedded Distribution (Poky)
2.6. The OpenEmbedded Build System Workflow
2.7. Some Basic Terms
3. The Yocto Project Development Environment
3.1. Open Source Philosophy
3.2. The Development Host
3.3. Yocto Project Source Repositories
3.4. Git Workflows and the Yocto Project
3.5. Git
3.5.1. Repositories, Tags, and Branches
3.5.2. Basic Commands
3.6. Licensing
4. Yocto Project Concepts
4.1. Yocto Project Components
4.1.1. BitBake
4.1.2. Recipes
4.1.3. Classes
4.1.4. Configurations
4.2. Layers
4.3. OpenEmbedded Build System Concepts
4.3.1. User Configuration
4.3.2. Metadata, Machine Configuration, and Policy Configuration
4.3.3. Sources
4.3.4. Package Feeds
4.3.5. BitBake
4.3.6. Images
4.3.7. Application Development SDK
4.4. Cross-Development Toolchain Generation
4.5. Shared State Cache
4.5.1. Overall Architecture
4.5.2. Checksums (Signatures)
4.5.3. Shared State
4.6. Automatically Added Runtime Dependencies
4.7. Fakeroot and Pseudo