Yocto Project Reference Manual
- 1 System Requirements
- 2 Yocto Project Terms
- 3 Yocto Project Releases and the Stable Release Process
- 4 Source Directory Structure
- 4.1 Top-Level Core Components
- 4.2 The Build Directory —
build/
- 4.2.1
build/buildhistory/
- 4.2.2
build/cache/
- 4.2.3
build/conf/local.conf
- 4.2.4
build/conf/bblayers.conf
- 4.2.5
build/downloads/
- 4.2.6
build/sstate-cache/
- 4.2.7
build/tmp/
- 4.2.1
- 4.3 The Metadata —
meta/
- 4.3.1
meta/classes*/
- 4.3.2
meta/conf/
- 4.3.3
meta/files/
- 4.3.4
meta/lib/
- 4.3.5
meta/recipes-bsp/
- 4.3.6
meta/recipes-connectivity/
- 4.3.7
meta/recipes-core/
- 4.3.8
meta/recipes-devtools/
- 4.3.9
meta/recipes-extended/
- 4.3.10
meta/recipes-gnome/
- 4.3.11
meta/recipes-graphics/
- 4.3.12
meta/recipes-kernel/
- 4.3.13
meta/recipes-multimedia/
- 4.3.14
meta/recipes-rt/
- 4.3.15
meta/recipes-sato/
- 4.3.16
meta/recipes-support/
- 4.3.17
meta/site/
- 4.3.18
meta/recipes.txt
- 4.3.1
- 5 Classes
- 5.1
allarch
- 5.2
archiver
- 5.3
autotools*
- 5.4
base
- 5.5
bash-completion
- 5.6
bin_package
- 5.7
binconfig
- 5.8
binconfig-disabled
- 5.9
buildhistory
- 5.10
buildstats
- 5.11
buildstats-summary
- 5.12
cargo
- 5.13
cargo_c
- 5.14
cargo_common
- 5.15
cargo-update-recipe-crates
- 5.16
ccache
- 5.17
chrpath
- 5.18
cmake
- 5.19
cml1
- 5.20
compress_doc
- 5.21
copyleft_compliance
- 5.22
copyleft_filter
- 5.23
core-image
- 5.24
cpan*
- 5.25
create-spdx
- 5.26
cross
- 5.27
cross-canadian
- 5.28
crosssdk
- 5.29
cve-check
- 5.30
debian
- 5.31
deploy
- 5.32
devicetree
- 5.33
devshell
- 5.34
devupstream
- 5.35
externalsrc
- 5.36
extrausers
- 5.37
features_check
- 5.38
fontcache
- 5.39
fs-uuid
- 5.40
gconf
- 5.41
gettext
- 5.42
github-releases
- 5.43
gnomebase
- 5.44
go
- 5.45
go-mod
- 5.46
gobject-introspection
- 5.47
grub-efi
- 5.48
gsettings
- 5.49
gtk-doc
- 5.50
gtk-icon-cache
- 5.51
gtk-immodules-cache
- 5.52
gzipnative
- 5.53
icecc
- 5.54
image
- 5.55
image-buildinfo
- 5.56
image_types
- 5.57
image-live
- 5.58
insane
- 5.59
insserv
- 5.60
kernel
- 5.61
kernel-arch
- 5.62
kernel-devicetree
- 5.63
kernel-fitimage
- 5.64
kernel-grub
- 5.65
kernel-module-split
- 5.66
kernel-uboot
- 5.67
kernel-uimage
- 5.68
kernel-yocto
- 5.69
kernelsrc
- 5.70
lib_package
- 5.71
libc*
- 5.72
license
- 5.73
linux-kernel-base
- 5.74
linuxloader
- 5.75
logging
- 5.76
meson
- 5.77
metadata_scm
- 5.78
migrate_localcount
- 5.79
mime
- 5.80
mime-xdg
- 5.81
mirrors
- 5.82
module
- 5.83
module-base
- 5.84
multilib*
- 5.85
native
- 5.86
nativesdk
- 5.87
nopackages
- 5.88
npm
- 5.89
oelint
- 5.90
overlayfs
- 5.91
overlayfs-etc
- 5.92
own-mirrors
- 5.93
package
- 5.94
package_deb
- 5.95
package_ipk
- 5.96
package_rpm
- 5.97
packagedata
- 5.98
packagegroup
- 5.99
patch
- 5.100
perlnative
- 5.101
pypi
- 5.102
python_flit_core
- 5.103
python_pep517
- 5.104
python_poetry_core
- 5.105
python_pyo3
- 5.106
python-setuptools3_rust
- 5.107
pixbufcache
- 5.108
pkgconfig
- 5.109
populate_sdk
- 5.110
populate_sdk_*
- 5.111
prexport
- 5.112
primport
- 5.113
prserv
- 5.114
ptest
- 5.115
ptest-cargo
- 5.116
ptest-gnome
- 5.117
python3-dir
- 5.118
python3native
- 5.119
python3targetconfig
- 5.120
qemu
- 5.121
recipe_sanity
- 5.122
relocatable
- 5.123
remove-libtool
- 5.124
report-error
- 5.125
rm_work
- 5.126
rootfs*
- 5.127
rust
- 5.128
rust-common
- 5.129
sanity
- 5.130
scons
- 5.131
sdl
- 5.132
python_setuptools_build_meta
- 5.133
setuptools3
- 5.134
setuptools3_legacy
- 5.135
setuptools3-base
- 5.136
sign_rpm
- 5.137
siteconfig
- 5.138
siteinfo
- 5.139
sstate
- 5.140
staging
- 5.141
syslinux
- 5.142
systemd
- 5.143
systemd-boot
- 5.144
terminal
- 5.145
testimage
- 5.146
testsdk
- 5.147
texinfo
- 5.148
toaster
- 5.149
toolchain-scripts
- 5.150
typecheck
- 5.151
uboot-config
- 5.152
uboot-sign
- 5.153
uninative
- 5.154
update-alternatives
- 5.155
update-rc.d
- 5.156
useradd*
- 5.157
utility-tasks
- 5.158
utils
- 5.159
vala
- 5.160
waf
- 5.1
- 6 Tasks
- 6.1 Normal Recipe Build Tasks
- 6.1.1
do_build
- 6.1.2
do_compile
- 6.1.3
do_compile_ptest_base
- 6.1.4
do_configure
- 6.1.5
do_configure_ptest_base
- 6.1.6
do_deploy
- 6.1.7
do_fetch
- 6.1.8
do_image
- 6.1.9
do_image_complete
- 6.1.10
do_install
- 6.1.11
do_install_ptest_base
- 6.1.12
do_package
- 6.1.13
do_package_qa
- 6.1.14
do_package_write_deb
- 6.1.15
do_package_write_ipk
- 6.1.16
do_package_write_rpm
- 6.1.17
do_packagedata
- 6.1.18
do_patch
- 6.1.19
do_populate_lic
- 6.1.20
do_populate_sdk
- 6.1.21
do_populate_sdk_ext
- 6.1.22
do_populate_sysroot
- 6.1.23
do_prepare_recipe_sysroot
- 6.1.24
do_rm_work
- 6.1.25
do_unpack
- 6.1.1
- 6.2 Manually Called Tasks
- 6.3 Image-Related Tasks
- 6.4 Kernel-Related Tasks
- 6.4.1
do_compile_kernelmodules
- 6.4.2
do_diffconfig
- 6.4.3
do_kernel_checkout
- 6.4.4
do_kernel_configcheck
- 6.4.5
do_kernel_configme
- 6.4.6
do_kernel_menuconfig
- 6.4.7
do_kernel_metadata
- 6.4.8
do_menuconfig
- 6.4.9
do_savedefconfig
- 6.4.10
do_shared_workdir
- 6.4.11
do_sizecheck
- 6.4.12
do_strip
- 6.4.13
do_validate_branches
- 6.4.1
- 6.1 Normal Recipe Build Tasks
- 7
devtool
Quick Reference- 7.1 Getting Help
- 7.2 The Workspace Layer Structure
- 7.3 Adding a New Recipe to the Workspace Layer
- 7.4 Extracting the Source for an Existing Recipe
- 7.5 Synchronizing a Recipe’s Extracted Source Tree
- 7.6 Modifying an Existing Recipe
- 7.7 Edit an Existing Recipe
- 7.8 Updating a Recipe
- 7.9 Checking on the Upgrade Status of a Recipe
- 7.10 Upgrading a Recipe
- 7.11 Resetting a Recipe
- 7.12 Building Your Recipe
- 7.13 Building Your Image
- 7.14 Deploying Your Software on the Target Machine
- 7.15 Removing Your Software from the Target Machine
- 7.16 Creating the Workspace Layer in an Alternative Location
- 7.17 Get the Status of the Recipes in Your Workspace
- 7.18 Search for Available Target Recipes
- 8 OpenEmbedded Kickstart (
.wks
) Reference - 9 QA Error and Warning Messages
- 10 Images
- 11 Features
- 12 Variables Glossary
- 13 Variable Context
- 14 FAQ
- 14.1 General questions
- 14.2 Building environment
- 14.3 Using the OpenEmbedded Build system
- 14.3.1 How do I use an external toolchain?
- 14.3.2 Why do I get chmod permission issues?
- 14.3.3 I see many 404 errors trying to download sources. Is anything wrong?
- 14.3.4 Why do I get random build failures?
- 14.3.5 Why does the build fail with
iconv.h
problems? - 14.3.6 Why don’t other recipes find the files provided by my
*-native
recipe? - 14.3.7 Can I get rid of build output so I can start over?
- 14.4 Customizing generated images
- 14.4.1 What does the OpenEmbedded build system produce as output?
- 14.4.2 How do I make the Yocto Project support my board?
- 14.4.3 How do I make the Yocto Project support my package?
- 14.4.4 What do I need to ship for license compliance?
- 14.4.5 Do I have to make a full reflash after recompiling one package?
- 14.4.6 How to prevent my package from being marked as machine specific?
- 14.4.7 What’s the difference between
target
andtarget-native
? - 14.4.8 Why do
${bindir}
and${libdir}
have strange values for-native
recipes? - 14.4.9 How do I create images with more free space?
- 14.4.10 Why aren’t spaces in path names supported?
- 14.4.11 I’m adding a binary in a recipe. Why is it different in the image?
- 14.5 Issues on the running system
- 15 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.