Yocto Project Reference Manual
Table of Contents
- 1 System Requirements
- 2 Yocto Project Terms
- 3 Yocto Project Releases and the Stable Release Process
- 4 Migrating to a Newer Yocto Project Release
- 4.1 General Migration Considerations
- 4.2 Moving to the Yocto Project 1.3 Release
- 4.3 Moving to the Yocto Project 1.4 Release
- 4.4 Moving to the Yocto Project 1.5 Release
- 4.4.1 Host Dependency Changes
- 4.4.2
atom-pcBoard Support Package (BSP) - 4.4.3 BitBake
- 4.4.4 QA Warnings
- 4.4.5 Directory Layout Changes
- 4.4.6 Shortened Git
SRCREVValues - 4.4.7
IMAGE_FEATURES - 4.4.8
/run - 4.4.9 Removal of Package Manager Database Within Image Recipes
- 4.4.10 Images Now Rebuild Only on Changes Instead of Every Time
- 4.4.11 Task Recipes
- 4.4.12 BusyBox
- 4.4.13 Automated Image Testing
- 4.4.14 Build History
- 4.4.15
udev - 4.4.16 Removed and Renamed Recipes
- 4.4.17 Other Changes
- 4.5 Moving to the Yocto Project 1.6 Release
- 4.5.1
archiverClass - 4.5.2 Packaging Changes
- 4.5.3 BitBake
- 4.5.4 Changes to Variables
- 4.5.5 Package Test (ptest)
- 4.5.6 Build Changes
- 4.5.7
qemu-native - 4.5.8
core-image-basic - 4.5.9 Licensing
- 4.5.10
CFLAGSOptions - 4.5.11 Custom Image Output Types
- 4.5.12 Tasks
- 4.5.13
update-alternativeProvider - 4.5.14
virtclassOverrides - 4.5.15 Removed and Renamed Recipes
- 4.5.16 Removed Classes
- 4.5.17 Reference Board Support Packages (BSPs)
- 4.5.1
- 4.6 Moving to the Yocto Project 1.7 Release
- 4.6.1 Changes to Setting QEMU
PACKAGECONFIGOptions inlocal.conf - 4.6.2 Minimum Git version
- 4.6.3 Autotools Class Changes
- 4.6.4 Binary Configuration Scripts Disabled
- 4.6.5
eglibc 2.19Replaced withglibc 2.20 - 4.6.6 Kernel Module Autoloading
- 4.6.7 QA Check Changes
- 4.6.8 Removed Recipes
- 4.6.9 Miscellaneous Changes
- 4.6.1 Changes to Setting QEMU
- 4.7 Moving to the Yocto Project 1.8 Release
- 4.8 Moving to the Yocto Project 2.0 Release
- 4.8.1 GCC 5
- 4.8.2 Gstreamer 0.10 Removed
- 4.8.3 Removed Recipes
- 4.8.4 BitBake datastore improvements
- 4.8.5 Shell Message Function Changes
- 4.8.6 Extra Development/Debug Package Cleanup
- 4.8.7 Recipe Maintenance Tracking Data Moved to OE-Core
- 4.8.8 Automatic Stale Sysroot File Cleanup
- 4.8.9
linux-yoctoKernel Metadata Repository Now Split from Source - 4.8.10 Additional QA checks
- 4.8.11 Miscellaneous Changes
- 4.9 Moving to the Yocto Project 2.1 Release
- 4.9.1 Variable Expansion in Python Functions
- 4.9.2 Overrides Must Now be Lower-Case
- 4.9.3 Expand Parameter to
getVar()andgetVarFlag()is Now Mandatory - 4.9.4 Makefile Environment Changes
- 4.9.5
libexecdirReverted to${prefix}/libexec - 4.9.6
ac_cv_sizeof_off_tis No Longer Cached in Site Files - 4.9.7 Image Generation is Now Split Out from Filesystem Generation
- 4.9.8 Removed Recipes
- 4.9.9 Class Changes
- 4.9.10 Build System User Interface Changes
- 4.9.11 ADT Removed
- 4.9.12 Poky Reference Distribution Changes
- 4.9.13 Packaging Changes
- 4.9.14 Tuning File Changes
- 4.9.15 Supporting GObject Introspection
- 4.9.16 Miscellaneous Changes
- 4.10 Moving to the Yocto Project 2.2 Release
- 4.10.1 Minimum Kernel Version
- 4.10.2 Staging Directories in Sysroot Has Been Simplified
- 4.10.3 Removal of Old Images and Other Files in
tmp/deployNow Enabled - 4.10.4 Python Changes
- 4.10.5 uClibc Replaced by musl
- 4.10.6
${B}No Longer Default Working Directory for Tasks - 4.10.7
runqemuPorted to Python - 4.10.8 Default Linker Hash Style Changed
- 4.10.9
KERNEL_IMAGE_BASE_NAMEno Longer UsesKERNEL_IMAGETYPE - 4.10.10 BitBake Changes
- 4.10.11 Swabber has Been Removed
- 4.10.12 Removed Recipes
- 4.10.13 Removed Classes
- 4.10.14 Minor Packaging Changes
- 4.10.15 Miscellaneous Changes
- 4.11 Moving to the Yocto Project 2.3 Release
- 4.11.1 Recipe-specific Sysroots
- 4.11.2
PATHVariable - 4.11.3 Changes to Scripts
- 4.11.4 Changes to Functions
- 4.11.5 BitBake Changes
- 4.11.6 Absolute Symbolic Links
- 4.11.7 GPLv2 Versions of GPLv3 Recipes Moved
- 4.11.8 Package Management Changes
- 4.11.9 Removed Recipes
- 4.11.10 Wic Changes
- 4.11.11 QA Changes
- 4.11.12 Miscellaneous Changes
- 4.12 Moving to the Yocto Project 2.4 Release
- 4.13 Moving to the Yocto Project 2.5 Release
- 4.14 Moving to the Yocto Project 2.6 Release
- 4.14.1 GCC 8.2 is Now Used by Default
- 4.14.2 Removed Recipes
- 4.14.3 Packaging Changes
- 4.14.4 XOrg Protocol dependencies
- 4.14.5
distutilsanddistutils3Now Prevent Fetching Dependencies During thedo_configureTask - 4.14.6
linux-yoctoConfiguration Audit Issues Now Correctly Reported - 4.14.7 Image/Kernel Artifact Naming Changes
- 4.14.8
SERIAL_CONSOLEDeprecated - 4.14.9 Configure Script Reports Unknown Options as Errors
- 4.14.10 Override Changes
- 4.14.11
systemdConfiguration is Now Split Intosystemd-conf - 4.14.12 Automatic Testing Changes
- 4.14.13 OpenSSL Changes
- 4.14.14 BitBake Changes
- 4.14.15 Security Changes
- 4.14.16 Post Installation Changes
- 4.14.17 Python 3 Profile-Guided Optimization
- 4.14.18 Miscellaneous Changes
- 4.15 Moving to the Yocto Project 2.7 Release
- 4.15.1 BitBake Changes
- 4.15.2 Eclipse Support Removed
- 4.15.3
qemu-nativeSplits the System and User-Mode Parts - 4.15.4 The
upstream-tracking.incFile Has Been Removed - 4.15.5 The
DISTRO_FEATURES_LIBCVariable Has Been Removed - 4.15.6 License Value Corrections
- 4.15.7 Packaging Changes
- 4.15.8 Removed Recipes
- 4.15.9 Removed Classes
- 4.15.10 Miscellaneous Changes
- 4.16 Moving to the Yocto Project 3.0 Release
- 4.17 Moving to the Yocto Project 3.1 Release
- 4.17.1 Minimum system requirements
- 4.17.2 mpc8315e-rdb machine removed
- 4.17.3 Python 2 removed
- 4.17.4 Reproducible builds now enabled by default
- 4.17.5 Impact of ptest feature is now more significant
- 4.17.6 Removed recipes
- 4.17.7 features_check class replaces distro_features_check
- 4.17.8 Removed classes
- 4.17.9 SRC_URI checksum behaviour
- 4.17.10 npm fetcher changes
- 4.17.11 Packaging changes
- 4.17.12 Additional warnings
- 4.17.13
wicimage type now used instead ofliveby default for x86 - 4.17.14 Miscellaneous changes
- 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/conf/local.conf - 5.2.3
build/conf/bblayers.conf - 5.2.4
build/cache/sanity_info - 5.2.5
build/downloads/ - 5.2.6
build/sstate-cache/ - 5.2.7
build/tmp/ - 5.2.8
build/tmp/buildstats/ - 5.2.9
build/tmp/cache/ - 5.2.10
build/tmp/deploy/ - 5.2.11
build/tmp/deploy/deb/ - 5.2.12
build/tmp/deploy/rpm/ - 5.2.13
build/tmp/deploy/ipk/ - 5.2.14
build/tmp/deploy/licenses/ - 5.2.15
build/tmp/deploy/images/ - 5.2.16
build/tmp/deploy/sdk/ - 5.2.17
build/tmp/sstate-control/ - 5.2.18
build/tmp/sysroots-components/ - 5.2.19
build/tmp/sysroots/ - 5.2.20
build/tmp/stamps/ - 5.2.21
build/tmp/log/ - 5.2.22
build/tmp/work/ - 5.2.23
build/tmp/work/tunearch/recipename/version/ - 5.2.24
build/tmp/work-shared/
- 5.2.1
- 5.3 The Metadata -
meta/- 5.3.1
meta/classes/ - 5.3.2
meta/conf/ - 5.3.3
meta/conf/machine/ - 5.3.4
meta/conf/distro/ - 5.3.5
meta/conf/machine-sdk/ - 5.3.6
meta/files/ - 5.3.7
meta/lib/ - 5.3.8
meta/recipes-bsp/ - 5.3.9
meta/recipes-connectivity/ - 5.3.10
meta/recipes-core/ - 5.3.11
meta/recipes-devtools/ - 5.3.12
meta/recipes-extended/ - 5.3.13
meta/recipes-gnome/ - 5.3.14
meta/recipes-graphics/ - 5.3.15
meta/recipes-kernel/ - 5.3.16
meta/recipes-lsb4/ - 5.3.17
meta/recipes-multimedia/ - 5.3.18
meta/recipes-rt/ - 5.3.19
meta/recipes-sato/ - 5.3.20
meta/recipes-support/ - 5.3.21
meta/site/ - 5.3.22
meta/recipes.txt
- 5.3.1
- 6 Classes
- 6.1
allarch.bbclass - 6.2
archiver.bbclass - 6.3
autotools*.bbclass - 6.4
base.bbclass - 6.5
bash-completion.bbclass - 6.6
bin_package.bbclass - 6.7
binconfig.bbclass - 6.8
binconfig-disabled.bbclass - 6.9
blacklist.bbclass - 6.10
buildhistory.bbclass - 6.11
buildstats.bbclass - 6.12
buildstats-summary.bbclass - 6.13
ccache.bbclass - 6.14
chrpath.bbclass - 6.15
clutter.bbclass - 6.16
cmake.bbclass - 6.17
cml1.bbclass - 6.18
compress_doc.bbclass - 6.19
copyleft_compliance.bbclass - 6.20
copyleft_filter.bbclass - 6.21
core-image.bbclass - 6.22
cpan*.bbclass - 6.23
cross.bbclass - 6.24
cross-canadian.bbclass - 6.25
crosssdk.bbclass - 6.26
debian.bbclass - 6.27
deploy.bbclass - 6.28
devshell.bbclass - 6.29
devupstream.bbclass - 6.30
distutils*.bbclass - 6.31
distutils3*.bbclass - 6.32
externalsrc.bbclass - 6.33
extrausers.bbclass - 6.34
features_check.bbclass - 6.35
fontcache.bbclass - 6.36
fs-uuid.bbclass - 6.37
gconf.bbclass - 6.38
gettext.bbclass - 6.39
gnomebase.bbclass - 6.40
gobject-introspection.bbclass - 6.41
grub-efi.bbclass - 6.42
gsettings.bbclass - 6.43
gtk-doc.bbclass - 6.44
gtk-icon-cache.bbclass - 6.45
gtk-immodules-cache.bbclass - 6.46
gzipnative.bbclass - 6.47
icecc.bbclass - 6.48
image.bbclass - 6.49
image-buildinfo.bbclass - 6.50
image_types.bbclass - 6.51
image-live.bbclass - 6.52
image-mklibs.bbclass - 6.53
image-prelink.bbclass - 6.54
insane.bbclass - 6.55
kernel.bbclass - 6.56
kernel-arch.bbclass - 6.57
kernel-devicetree.bbclass - 6.58
kernel-fitimage.bbclass - 6.59
kernel-grub.bbclass - 6.60
kernel-module-split.bbclass - 6.61
kernel-uboot.bbclass - 6.62
kernel-uimage.bbclass - 6.63
kernel-yocto.bbclass - 6.64
kernelsrc.bbclass - 6.65
lib_package.bbclass - 6.66
libc*.bbclass - 6.67
license.bbclass - 6.68
linux-kernel-base.bbclass - 6.69
linuxloader.bbclass - 6.70
logging.bbclass - 6.71
meta.bbclass - 6.72
metadata_scm.bbclass - 6.73
migrate_localcount.bbclass - 6.74
mime.bbclass - 6.75
mirrors.bbclass - 6.76
module.bbclass - 6.77
module-base.bbclass - 6.78
multilib*.bbclass - 6.79
native.bbclass - 6.80
nativesdk.bbclass - 6.81
nopackages.bbclass - 6.82
npm.bbclass - 6.83
oelint.bbclass - 6.84
own-mirrors.bbclass - 6.85
package.bbclass - 6.86
package_deb.bbclass - 6.87
package_ipk.bbclass - 6.88
package_rpm.bbclass - 6.89
package_tar.bbclass - 6.90
packagedata.bbclass - 6.91
packagegroup.bbclass - 6.92
patch.bbclass - 6.93
perlnative.bbclass - 6.94
pixbufcache.bbclass - 6.95
pkgconfig.bbclass - 6.96
populate_sdk.bbclass - 6.97
populate_sdk_*.bbclass - 6.98
prexport.bbclass - 6.99
primport.bbclass - 6.100
prserv.bbclass - 6.101
ptest.bbclass - 6.102
ptest-gnome.bbclass - 6.103
python-dir.bbclass - 6.104
python3native.bbclass - 6.105
pythonnative.bbclass - 6.106
qemu.bbclass - 6.107
recipe_sanity.bbclass - 6.108
relocatable.bbclass - 6.109
remove-libtool.bbclass - 6.110
report-error.bbclass - 6.111
rm_work.bbclass - 6.112
rootfs*.bbclass - 6.113
sanity.bbclass - 6.114
scons.bbclass - 6.115
sdl.bbclass - 6.116
setuptools.bbclass - 6.117
setuptools3.bbclass - 6.118
sign_rpm.bbclass - 6.119
sip.bbclass - 6.120
siteconfig.bbclass - 6.121
siteinfo.bbclass - 6.122
spdx.bbclass - 6.123
sstate.bbclass - 6.124
staging.bbclass - 6.125
syslinux.bbclass - 6.126
systemd.bbclass - 6.127
systemd-boot.bbclass - 6.128
terminal.bbclass - 6.129
testimage*.bbclass - 6.130
testsdk.bbclass - 6.131
texinfo.bbclass - 6.132
toaster.bbclass - 6.133
toolchain-scripts.bbclass - 6.134
typecheck.bbclass - 6.135
uboot-config.bbclass - 6.136
uninative.bbclass - 6.137
update-alternatives.bbclass - 6.138
update-rc.d.bbclass - 6.139
useradd*.bbclass - 6.140
utility-tasks.bbclass - 6.141
utils.bbclass - 6.142
vala.bbclass - 6.143
waf.bbclass
- 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_package_write_tar - 7.1.18
do_packagedata - 7.1.19
do_patch - 7.1.20
do_populate_lic - 7.1.21
do_populate_sdk - 7.1.22
do_populate_sdk_ext - 7.1.23
do_populate_sysroot - 7.1.24
do_prepare_recipe_sysroot - 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.5 Miscellaneous Tasks
- 7.1 Normal Recipe Build Tasks
- 8
devtoolQuick Reference- 8.1 Getting Help
- 8.2 The Workspace Layer Structure
- 8.3 Adding a New Recipe to the Workspace Layer
- 8.4 Extracting the Source for an Existing Recipe
- 8.5 Synchronizing a Recipe’s Extracted Source Tree
- 8.6 Modifying an Existing Recipe
- 8.7 Edit an Existing Recipe
- 8.8 Updating a Recipe
- 8.9 Checking on the Upgrade Status of a Recipe
- 8.10 Upgrading a Recipe
- 8.11 Resetting a Recipe
- 8.12 Building Your Recipe
- 8.13 Building Your Image
- 8.14 Deploying Your Software on the Target Machine
- 8.15 Removing Your Software from the Target Machine
- 8.16 Creating the Workspace Layer in an Alternative Location
- 8.17 Get the Status of the Recipes in Your Workspace
- 8.18 Search for Available Target Recipes
- 9 OpenEmbedded Kickstart (
.wks) Reference - 10 QA Error and Warning Messages
- 11 Images
- 12 Features
- 13 Variables Glossary
- 14 Variable Context
- 15 FAQ
- 16 Contributions and Additional Information
- 17 Manual Revision History
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 freenode #yocto channel.