BitBake User Manual
Table of Contents
- 1 Overview- 1.1 Introduction
- 1.2 History and Goals
- 1.3 Concepts
- 1.4 Obtaining BitBake
- 1.5 The BitBake Command- 1.5.1 Usage and syntax
- 1.5.2 Examples- 1.5.2.1 Executing a Task Against a Single Recipe
- 1.5.2.2 Executing Tasks Against a Set of Recipe Files
- 1.5.2.3 Executing a List of Task and Recipe Combinations
- 1.5.2.4 Generating Dependency Graphs
- 1.5.2.5 Executing a Multiple Configuration Build
- 1.5.2.6 Enabling Multiple Configuration Build Dependencies
 
 
 
- 2 Execution
- 3 Syntax and Operators- 3.1 Basic Syntax- 3.1.1 Basic Variable Setting
- 3.1.2 Modifying Existing Variables
- 3.1.3 Line Joining
- 3.1.4 Variable Expansion
- 3.1.5 Setting a default value (?=)
- 3.1.6 Setting a weak default value (??=)
- 3.1.7 Immediate variable expansion (:=)
- 3.1.8 Appending (+=) and prepending (=+) With Spaces
- 3.1.9 Appending (.=) and Prepending (=.) Without Spaces
- 3.1.10 Appending and Prepending (Override Style Syntax)
- 3.1.11 Removal (Override Style Syntax)
- 3.1.12 Override Style Operation Advantages
- 3.1.13 Variable Flag Syntax
- 3.1.14 Inline Python Variable Expansion
- 3.1.15 Unsetting variables
- 3.1.16 Providing Pathnames
 
- 3.2 Exporting Variables to the Environment
- 3.3 Conditional Syntax (Overrides)
- 3.4 Sharing Functionality
- 3.5 Functions
- 3.6 Tasks
- 3.7 Variable Flags
- 3.8 Events
- 3.9 Variants — Class Extension Mechanism
- 3.10 Dependencies
- 3.11 Functions You Can Call From Within Python
- 3.12 Task Checksums and Setscene
- 3.13 Wildcard Support in Variables
 
- 3.1 Basic Syntax
- 4 Variable Context
- 5 File Download Support- 5.1 The Download (Fetch)
- 5.2 The Unpack
- 5.3 Fetchers- 5.3.1 Local file fetcher (file://)
- 5.3.2 HTTP/FTP wget fetcher (http://,ftp://,https://)
- 5.3.3 CVS fetcher ((cvs://)
- 5.3.4 Subversion (SVN) Fetcher (svn://)
- 5.3.5 Git Fetcher (git://)
- 5.3.6 Git Submodule Fetcher (gitsm://)
- 5.3.7 ClearCase Fetcher (ccrc://)
- 5.3.8 Perforce Fetcher (p4://)
- 5.3.9 Repo Fetcher (repo://)
- 5.3.10 Az Fetcher (az://)
- 5.3.11 GCP Fetcher (gs://)
- 5.3.12 Crate Fetcher (crate://)
- 5.3.13 NPM Fetcher (npm://)
- 5.3.14 NPM shrinkwrap Fetcher (npmsw://)
- 5.3.15 Other Fetchers
 
- 5.3.1 Local file fetcher (
- 5.4 Auto Revisions
 
- 6 Variables Glossary
- 7 Library Functions- 7.1 Logging utilities
- 7.2 bb.utils- approved_variables()
- break_hardlinks()
- build_environment()
- check_system_locale()
- clean_environment()
- contains()
- contains_any()
- copyfile()
- disable_network()
- edit_bblayers_conf()
- edit_metadata()
- edit_metadata_file()
- empty_environment()
- environment()
- exec_flat_python_func()
- explode_dep_versions()
- explode_dep_versions2()
- explode_deps()
- fileslocked()
- filter()
- filter_environment()
- get_file_layer()
- get_referenced_vars()
- goh1_file()
- is_local_uid()
- is_semver()
- join_deps()
- lockfile()
- md5_file()
- mkdirhier()
- mkstemp()
- movefile()
- path_is_descendant()
- preserved_envvars()
- preserved_envvars_exported()
- profile_function()
- prune_suffix()
- prunedir()
- remove()
- sha1_file()
- sha256_file()
- sha384_file()
- sha512_file()
- signal_on_parent_exit()
- split_version()
- to_boolean()
- to_filemode()
- umask()
- unlockfile()
- vercmp_string()
- vercmp_string_op()
- which()
 
 
- 8 Hello World Example
BitBake Community
Copyright © 2004-2025, Richard Purdie, Chris Larson, and Phil Blundell
This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California 94041, USA.