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 Setting Up The Environment With bitbake-setup
- 4 Syntax and Operators
- 4.1 Basic Syntax
- 4.1.1 Basic Variable Setting
- 4.1.2 Modifying Existing Variables
- 4.1.3 Line Joining
- 4.1.4 Variable Expansion
- 4.1.5 Setting a default value (?=)
- 4.1.6 Setting a weak default value (??=)
- 4.1.7 Immediate variable expansion (:=)
- 4.1.8 Appending (+=) and prepending (=+) With Spaces
- 4.1.9 Appending (.=) and Prepending (=.) Without Spaces
- 4.1.10 Appending and Prepending (Override Style Syntax)
- 4.1.11 Removal (Override Style Syntax)
- 4.1.12 Override Style Operation Advantages
- 4.1.13 Variable Flag Syntax
- 4.1.14 Inline Python Variable Expansion
- 4.1.15 Unsetting variables
- 4.1.16 Providing Pathnames
- 4.2 Exporting Variables to the Environment
- 4.3 Conditional Syntax (Overrides)
- 4.4 Sharing Functionality
- 4.5 Functions
- 4.6 Tasks
- 4.7 Variable Flags
- 4.8 Events
- 4.9 Variants — Class Extension Mechanism
- 4.10 Dependencies
- 4.11 Functions You Can Call From Within Python
- 4.12 Task Checksums and Setscene
- 4.13 Wildcard Support in Variables
- 4.1 Basic Syntax
- 5 Variable Context
- 6 File Download Support
- 6.1 The Download (Fetch)
- 6.2 The Unpack
- 6.3 Fetchers
- 6.3.1 Local file fetcher (
file://) - 6.3.2 HTTP/FTP wget fetcher (
http://,ftp://,https://) - 6.3.3 CVS fetcher (
(cvs://) - 6.3.4 Subversion (SVN) Fetcher (
svn://) - 6.3.5 Git Fetcher (
git://) - 6.3.6 Git Submodule Fetcher (
gitsm://) - 6.3.7 ClearCase Fetcher (
ccrc://) - 6.3.8 Perforce Fetcher (
p4://) - 6.3.9 Repo Fetcher (
repo://) - 6.3.10 Az Fetcher (
az://) - 6.3.11 GCP Fetcher (
gs://) - 6.3.12 Crate Fetcher (
crate://) - 6.3.13 NPM Fetcher (
npm://) - 6.3.14 NPM shrinkwrap Fetcher (
npmsw://) - 6.3.15 Other Fetchers
- 6.3.1 Local file fetcher (
- 6.4 Auto Revisions
- 6.5 Multiple Source Control Repositories
- 7 Variables Glossary
- 8 Library Functions
- 8.1 Logging utilities
- 8.2
bb.utilsapproved_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()
- 9 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.