Yocto Project Linux Kernel Development Manual

Darren Hart

Intel Corporation

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.

Note

Due to production processes, there could be differences between the Yocto Project documentation bundled in the release tarball and the Yocto Project Linux Kernel Development Manual on the Yocto Project website. For the latest version of this manual, see the manual on the website.
Revision History
Revision 1.4 April 2013
Released with the Yocto Project 1.4 Release.
Revision 1.4.1 June 2013
Released with the Yocto Project 1.4.1 Release.
Revision 1.4.2 August 2013
Released with the Yocto Project 1.4.2 Release.

Table of Contents

1. Introduction
1.1. Overview
1.2. Other Resources
2. Common Tasks
2.1. Creating and Preparing a Layer
2.2. Modifying an Existing Recipe
2.2.1. Creating the Append File
2.2.2. Applying Patches
2.2.3. Changing the Configuration
2.3. Using an Iterative Development Process
2.3.1. "-dirty" String
2.3.2. Generating Configuration Files
2.3.3. Modifying Source Code
2.4. Working With Your Own Sources
2.5. Incorporating Out-of-Tree Modules
2.6. Inspecting Changes and Commits
2.6.1. What Changed in a Kernel?
2.6.2. Showing a Particular Feature or Branch Change
3. Working with Advanced Metadata
3.1. Overview
3.2. Using Kernel Metadata in a Recipe
3.3. Kernel Metadata Location
3.3.1. Recipe-Space Metadata
3.3.2. In-Tree Metadata
3.4. Kernel Metadata Syntax
3.4.1. Configuration
3.4.2. Patches
3.4.3. Features
3.4.4. Kernel Types
3.4.5. BSP Descriptions
3.5. Organizing Your Source
3.5.1. Encapsulating Patches
3.5.2. Machine Branches
3.5.3. Feature Branches
3.6. SCC Description File Reference
A. Advanced Kernel Concepts
A.1. Yocto Project Kernel Development and Maintenance
A.2. Kernel Architecture
A.2.1. Overview
A.2.2. Branching Strategy and Workflow
A.2.3. Source Code Manager - Git
B. Kernel Maintenance
B.1. Tree Construction
B.2. Build Strategy
C. Kernel Development FAQ