Yocto Project Reference Manual
Table of Contents
- 1 System Requirements
- 2 Yocto Project Supported Architectures And Features
- 3 Yocto Project Terms
- 4 Yocto Project Releases and the Stable Release Process
- 5 Source Directory Structure
- 5.1 Top-Level Core Components
- 5.2 The Build Directory —
build/- 5.2.1
build/buildhistory/ - 5.2.2
build/cache/ - 5.2.3
build/conf/local.conf - 5.2.4
build/conf/bblayers.conf - 5.2.5
build/conf/bblock.conf - 5.2.6
build/conf/toolcfg.conf - 5.2.7
build/conf/auto.conf - 5.2.8
build/downloads/ - 5.2.9
build/sstate-cache/ - 5.2.10
build/tmp/- 5.2.10.1
build/tmp/buildstats/ - 5.2.10.2
build/tmp/cache/ - 5.2.10.3
build/tmp/deploy/ - 5.2.10.4
build/tmp/hosttools/ - 5.2.10.5
build/tmp/pkgdata/ - 5.2.10.6
build/tmp/sstate-control/ - 5.2.10.7
build/tmp/sysroots-components/ - 5.2.10.8
build/tmp/sysroots/ - 5.2.10.9
build/tmp/stamps/ - 5.2.10.10
build/tmp/log/ - 5.2.10.11
build/tmp/work/ - 5.2.10.12
build/tmp/work-shared/
- 5.2.10.1
- 5.2.1
- 5.3 The Metadata —
meta/- 5.3.1
meta/classes*/ - 5.3.2
meta/conf/ - 5.3.3
meta/files/ - 5.3.4
meta/lib/ - 5.3.5
meta/recipes-bsp/ - 5.3.6
meta/recipes-connectivity/ - 5.3.7
meta/recipes-core/ - 5.3.8
meta/recipes-devtools/ - 5.3.9
meta/recipes-extended/ - 5.3.10
meta/recipes-gnome/ - 5.3.11
meta/recipes-graphics/ - 5.3.12
meta/recipes-kernel/ - 5.3.13
meta/recipes-multimedia/ - 5.3.14
meta/recipes-rt/ - 5.3.15
meta/recipes-sato/ - 5.3.16
meta/recipes-support/ - 5.3.17
meta/site/ - 5.3.18
meta/recipes.txt
- 5.3.1
- 6 Classes
- 6.1
allarch - 6.2
archiver - 6.3
autotools* - 6.4
barebox - 6.5
base - 6.6
bash-completion - 6.7
bin_package - 6.8
binconfig - 6.9
binconfig-disabled - 6.10
buildhistory - 6.11
buildstats - 6.12
buildstats-summary - 6.13
cargo - 6.14
cargo_c - 6.15
cargo_common - 6.16
cargo-update-recipe-crates - 6.17
ccache - 6.18
chrpath - 6.19
cmake - 6.20
cmake-qemu - 6.21
cml1 - 6.22
compress_doc - 6.23
copyleft_compliance - 6.24
copyleft_filter - 6.25
core-image - 6.26
cpan* - 6.27
create-spdx - 6.28
cross - 6.29
cross-canadian - 6.30
crosssdk - 6.31
cve-check - 6.32
cython - 6.33
debian - 6.34
deploy - 6.35
devicetree - 6.36
devshell - 6.37
devupstream - 6.38
externalsrc - 6.39
extrausers - 6.40
features_check - 6.41
fontcache - 6.42
fs-uuid - 6.43
gconf - 6.44
gettext - 6.45
github-releases - 6.46
gnomebase - 6.47
go - 6.48
go-mod - 6.49
go-mod-update-modules - 6.50
go-vendor - 6.51
gobject-introspection - 6.52
grub-efi - 6.53
gsettings - 6.54
gtk-doc - 6.55
gtk-icon-cache - 6.56
gtk-immodules-cache - 6.57
gzipnative - 6.58
image - 6.59
image-buildinfo - 6.60
image_types - 6.61
image-live - 6.62
insane - 6.63
kernel - 6.64
kernel-arch - 6.65
kernel-devicetree - 6.66
kernel-fit-image - 6.67
kernel-fit-extra-artifacts - 6.68
kernel-grub - 6.69
kernel-module-split - 6.70
kernel-uboot - 6.71
kernel-uimage - 6.72
kernel-yocto - 6.73
kernelsrc - 6.74
lib_package - 6.75
libc* - 6.76
license - 6.77
linux-kernel-base - 6.78
linuxloader - 6.79
logging - 6.80
meson - 6.81
metadata_scm - 6.82
mime - 6.83
mime-xdg - 6.84
mirrors - 6.85
module - 6.86
module-base - 6.87
multilib* - 6.88
native - 6.89
nativesdk - 6.90
nopackages - 6.91
nospdx - 6.92
npm - 6.93
oelint - 6.94
overlayfs - 6.95
overlayfs-etc - 6.96
own-mirrors - 6.97
package - 6.98
package_deb - 6.99
package_ipk - 6.100
package_rpm - 6.101
packagedata - 6.102
packagegroup - 6.103
patch - 6.104
perlnative - 6.105
pypi - 6.106
python_flit_core - 6.107
python_maturin - 6.108
python_mesonpy - 6.109
python_pep517 - 6.110
python_poetry_core - 6.111
python_pyo3 - 6.112
python-setuptools3_rust - 6.113
pixbufcache - 6.114
pkgconfig - 6.115
populate_sdk - 6.116
populate_sdk_* - 6.117
prexport - 6.118
primport - 6.119
prserv - 6.120
ptest - 6.121
ptest-cargo - 6.122
ptest-gnome - 6.123
ptest-python-pytest - 6.124
python3-dir - 6.125
python3native - 6.126
python3targetconfig - 6.127
qemu - 6.128
recipe_sanity - 6.129
relocatable - 6.130
remove-libtool - 6.131
report-error - 6.132
retain - 6.133
rm_work - 6.134
rootfs* - 6.135
rust - 6.136
rust-common - 6.137
sanity - 6.138
scons - 6.139
sdl - 6.140
python_setuptools_build_meta - 6.141
setuptools3 - 6.142
setuptools3_legacy - 6.143
setuptools3-base - 6.144
sign_rpm - 6.145
siteinfo - 6.146
sstate - 6.147
staging - 6.148
syslinux - 6.149
systemd - 6.150
systemd-boot - 6.151
terminal - 6.152
testexport - 6.153
testimage - 6.154
testsdk - 6.155
texinfo - 6.156
toaster - 6.157
toolchain-scripts - 6.158
toolchain/clang - 6.159
toolchain/clang-native - 6.160
toolchain/gcc - 6.161
toolchain/gcc-native - 6.162
typecheck - 6.163
uboot-config - 6.164
uboot-sign - 6.165
uki - 6.166
uninative - 6.167
update-alternatives - 6.168
update-rc.d - 6.169
useradd* - 6.170
utility-tasks - 6.171
utils - 6.172
vala - 6.173
vex - 6.174
waf - 6.175
yocto-check-layer
- 6.1
- 7 Tasks
- 7.1 Normal Recipe Build Tasks
- 7.1.1
do_build - 7.1.2
do_compile - 7.1.3
do_compile_ptest_base - 7.1.4
do_configure - 7.1.5
do_configure_ptest_base - 7.1.6
do_deploy - 7.1.7
do_fetch - 7.1.8
do_image - 7.1.9
do_image_complete - 7.1.10
do_install - 7.1.11
do_install_ptest_base - 7.1.12
do_package - 7.1.13
do_package_qa - 7.1.14
do_package_write_deb - 7.1.15
do_package_write_ipk - 7.1.16
do_package_write_rpm - 7.1.17
do_packagedata - 7.1.18
do_patch - 7.1.19
do_populate_lic - 7.1.20
do_populate_sdk - 7.1.21
do_populate_sdk_ext - 7.1.22
do_populate_sysroot - 7.1.23
do_prepare_recipe_sysroot - 7.1.24
do_recipe_qa - 7.1.25
do_rm_work - 7.1.26
do_unpack
- 7.1.1
- 7.2 Manually Called Tasks
- 7.3 Image-Related Tasks
- 7.4 Kernel-Related Tasks
- 7.4.1
do_compile_kernelmodules - 7.4.2
do_diffconfig - 7.4.3
do_kernel_checkout - 7.4.4
do_kernel_configcheck - 7.4.5
do_kernel_configme - 7.4.6
do_kernel_menuconfig - 7.4.7
do_kernel_metadata - 7.4.8
do_menuconfig - 7.4.9
do_savedefconfig - 7.4.10
do_shared_workdir - 7.4.11
do_sizecheck - 7.4.12
do_strip - 7.4.13
do_validate_branches
- 7.4.1
- 7.1 Normal Recipe Build Tasks
- 8 Using Configuration Fragments
- 9
devtoolQuick Reference- 9.1 Getting Help
- 9.2 The Workspace Layer Structure
- 9.3 Adding a New Recipe to the Workspace Layer
- 9.4 Extracting the Source for an Existing Recipe
- 9.5 Synchronizing a Recipe’s Extracted Source Tree
- 9.6 Modifying an Existing Recipe
- 9.7 Edit an Existing Recipe
- 9.8 Updating a Recipe
- 9.9 Checking on the Upgrade Status of a Recipe
- 9.10 Upgrading a Recipe
- 9.11 Resetting a Recipe
- 9.12 Finish Working on a Recipe
- 9.13 Building Your Recipe
- 9.14 Building Your Image
- 9.15 Deploying Your Software on the Target Machine
- 9.16 Removing Your Software from the Target Machine
- 9.17 Creating the Workspace Layer in an Alternative Location
- 9.18 Get the Status of the Recipes in Your Workspace
- 9.19 Search for Available Target Recipes
- 9.20 Get Information on Recipe Configuration Scripts
- 9.21 Generate an IDE Configuration for a Recipe
- 10 OpenEmbedded Kickstart (
.wks) Reference - 11 QA Error and Warning Messages
- 11.1 Introduction
- 11.2 Errors and Warnings
- 11.2.1
already-stripped - 11.2.2
arch - 11.2.3
build-deps - 11.2.4
buildpaths - 11.2.5
configure-gettext - 11.2.6
configure-unsafe - 11.2.7
debug-deps - 11.2.8
debug-files - 11.2.9
dep-cmp - 11.2.10
dev-deps - 11.2.11
desktop - 11.2.12
dev-so - 11.2.13
empty-dirs - 11.2.14
file-rdeps - 11.2.15
files-invalid - 11.2.16
host-user-contaminated - 11.2.17
infodir - 11.2.18
installed-vs-shipped - 11.2.19
incompatible-license - 11.2.20
invalid-chars - 11.2.21
invalid-packageconfig - 11.2.22
la - 11.2.23
ldflags - 11.2.24
libdir - 11.2.25
libexec - 11.2.26
mime - 11.2.27
mime-xdg - 11.2.28
missing-update-alternatives - 11.2.29
packages-list - 11.2.30
patch-fuzz - 11.2.31
patch-status - 11.2.32
pep517-backend - 11.2.33
perllocalpod - 11.2.34
perm-config - 11.2.35
perm-line - 11.2.36
perm-link - 11.2.37
perms - 11.2.38
pkgconfig - 11.2.39
pkgname - 11.2.40
pkgvarcheck - 11.2.41
pn-overrides - 11.2.42
shebang-size - 11.2.43 Shlib provider
- 11.2.44
space-around-equal - 11.2.45
src-uri-bad - 11.2.46
staticdev - 11.2.47
symlink-to-sysroot - 11.2.48 Recipe naming
- 11.2.49
rpaths - 11.2.50
textrel - 11.2.51
unhandled-features-check - 11.2.52
unimplemented-ptest - 11.2.53
unknown-configure-option - 11.2.54
unlisted-pkg-lics - 11.2.55
useless-rpaths - 11.2.56
usrmerge - 11.2.57
var-undefined - 11.2.58
version-going-backwards - 11.2.59
virtual-slash - 11.2.60
xorg-driver-abi
- 11.2.1
- 11.3 Configuring and Disabling QA Checks
- 12 Images
- 13 Features
- 14 Variables Glossary
- 15 Variable Context
- 16 FAQ
- 16.1 General questions
- 16.2 Building environment
- 16.3 Using the OpenEmbedded Build system
- 16.3.1 How do I use an external toolchain?
- 16.3.2 Why do I get chmod permission issues?
- 16.3.3 I see many 404 errors trying to download sources. Is anything wrong?
- 16.3.4 Why do I get random build failures?
- 16.3.5 Why does the build fail with
iconv.hproblems? - 16.3.6 Why don’t other recipes find the files provided by my
*-nativerecipe? - 16.3.7 Can I get rid of build output so I can start over?
- 16.3.8 Why isn’t there a way to append bbclass files like bbappend for recipes?
- 16.4 Customizing generated images
- 16.4.1 What does the OpenEmbedded build system produce as output?
- 16.4.2 How do I make the Yocto Project support my board?
- 16.4.3 How do I make the Yocto Project support my package?
- 16.4.4 What do I need to ship for license compliance?
- 16.4.5 Do I have to make a full reflash after recompiling one package?
- 16.4.6 How to prevent my package from being marked as machine specific?
- 16.4.7 What’s the difference between
targetandtarget-native? - 16.4.8 Why do
${bindir}and${libdir}have strange values for-nativerecipes? - 16.4.9 How do I create images with more free space?
- 16.4.10 Why aren’t spaces in path names supported?
- 16.4.11 I’m adding a binary in a recipe. Why is it different in the image?
- 16.5 Issues on the running system
- 17 Contributions and Additional Information
The Yocto Project ®
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.
To report any inaccuracies or problems with this (or any other Yocto Project)
manual, or to send additions or changes, please send email/patches to the Yocto
Project documentation mailing list at docs@lists.yoctoproject.org or
log into the Libera Chat #yocto channel.