Yocto Project Reference Manual Is for the 1.4.3 Release of the Yocto Project
Total Page:16
File Type:pdf, Size:1020Kb
Richard Purdie, Linux Foundation <[email protected]> by Richard Purdie Copyright © 2010-2014 Linux Foundation 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 [http://creativecommons.org/licenses/by-sa/2.0/uk/] as published by Creative Commons. Manual Notes • This version of the Yocto Project Reference Manual is for the 1.4.3 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 [http://www.yoctoproject.org/documentation] 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 [https://wiki.yoctoproject.org/wiki/Releases] page. If you need a version of this manual for a different Yocto Project release, visit the Yocto Project documentation page [http://www.yoctoproject.org/ documentation] 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 [email protected] or log into the freenode #yocto channel. Table of Contents 1. Introduction ............................................................................................................................ 1 1.1. Introduction ................................................................................................................. 1 1.2. Documentation Overview ............................................................................................. 1 1.3. System Requirements .................................................................................................. 1 1.3.1. Supported Linux Distributions ........................................................................... 1 1.3.2. Required Packages for the Host Development System ....................................... 2 1.4. Obtaining the Yocto Project ......................................................................................... 4 1.5. Development Checkouts .............................................................................................. 5 2. Using the Yocto Project .......................................................................................................... 6 2.1. Running a Build ........................................................................................................... 6 2.1.1. Build Overview ................................................................................................. 6 2.1.2. Building an Image Using GPL Components ........................................................ 6 2.2. Installing and Using the Result .................................................................................... 6 2.3. Debugging Build Failures ............................................................................................. 7 2.3.1. Task Failures ..................................................................................................... 7 2.3.2. Running Specific Tasks ...................................................................................... 7 2.3.3. Dependency Graphs ......................................................................................... 8 2.3.4. General BitBake Problems ................................................................................. 8 2.3.5. Development Host System Issues ..................................................................... 8 2.3.6. Building with No Dependencies ......................................................................... 8 2.3.7. Variables .......................................................................................................... 8 2.3.8. Recipe Logging Mechanisms ............................................................................. 8 2.3.9. Other Tips ........................................................................................................ 9 2.4. Maintaining Build Output Quality ................................................................................. 9 2.4.1. Enabling and Disabling Build History ............................................................... 10 2.4.2. Understanding What the Build History Contains ............................................... 11 3. Technical Details .................................................................................................................. 15 3.1. Yocto Project Components ......................................................................................... 15 3.1.1. BitBake ........................................................................................................... 15 3.1.2. Metadata (Recipes) ......................................................................................... 16 3.1.3. Classes ........................................................................................................... 16 3.1.4. Configuration .................................................................................................. 16 3.2. Shared State Cache ................................................................................................... 16 3.2.1. Overall Architecture ........................................................................................ 17 3.2.2. Checksums (Signatures) ................................................................................. 17 3.2.3. Shared State .................................................................................................. 18 3.2.4. Tips and Tricks ................................................................................................ 20 3.3. x32 ........................................................................................................................... 20 3.3.1. Support .......................................................................................................... 21 3.3.2. Stabilizing and Completing x32 ....................................................................... 21 3.3.3. Using x32 Right Now ...................................................................................... 21 3.4. Wayland .................................................................................................................... 21 3.4.1. Support .......................................................................................................... 22 3.4.2. Enabling Wayland in an Image ........................................................................ 22 3.4.3. Running Weston .............................................................................................. 22 3.5. Licenses .................................................................................................................... 23 3.5.1. Tracking License Changes ............................................................................... 23 3.5.2. Enabling Commercially Licensed Recipes ......................................................... 24 4. Migrating to a Newer Yocto Project Release .......................................................................... 27 4.1. Moving to the Yocto Project 1.3 Release ..................................................................... 27 4.1.1. Local Configuration ......................................................................................... 27 4.1.2. Recipes ........................................................................................................... 27 4.2. Moving to the Yocto Project 1.4 Release ..................................................................... 29 4.2.1. BitBake ........................................................................................................... 29 4.2.2. Build Behavior ................................................................................................ 29 4.2.3. Proxies and Fetching Source ........................................................................... 29 4.2.4. Custom Interfaces File (netbase change) ......................................................... 29 4.2.5. Remote Debugging ......................................................................................... 29 4.2.6. Variables ........................................................................................................ 30 4.2.7. Target Package Management with RPM ........................................................... 30 4.2.8. Recipes Moved ............................................................................................... 30 iii Yocto Project Reference Manual 4.2.9. Removals and Renames .................................................................................. 30 5. Source Directory Structure ................................................................................................... 32 5.1. Top-Level Core Components ....................................................................................... 32 5.1.1. bitbake/ ........................................................................................................ 32 5.1.2. build/ ..........................................................................................................