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 insserv.bbclass
- 6.56 kernel.bbclass
- 6.57 kernel-arch.bbclass
- 6.58 kernel-devicetree.bbclass
- 6.59 kernel-fitimage.bbclass
- 6.60 kernel-grub.bbclass
- 6.61 kernel-module-split.bbclass
- 6.62 kernel-uboot.bbclass
- 6.63 kernel-uimage.bbclass
- 6.64 kernel-yocto.bbclass
- 6.65 kernelsrc.bbclass
- 6.66 lib_package.bbclass
- 6.67 libc*.bbclass
- 6.68 license.bbclass
- 6.69 linux-kernel-base.bbclass
- 6.70 linuxloader.bbclass
- 6.71 logging.bbclass
- 6.72 meta.bbclass
- 6.73 metadata_scm.bbclass
- 6.74 migrate_localcount.bbclass
- 6.75 mime.bbclass
- 6.76 mirrors.bbclass
- 6.77 module.bbclass
- 6.78 module-base.bbclass
- 6.79 multilib*.bbclass
- 6.80 native.bbclass
- 6.81 nativesdk.bbclass
- 6.82 nopackages.bbclass
- 6.83 npm.bbclass
- 6.84 oelint.bbclass
- 6.85 own-mirrors.bbclass
- 6.86 package.bbclass
- 6.87 package_deb.bbclass
- 6.88 package_ipk.bbclass
- 6.89 package_rpm.bbclass
- 6.90 package_tar.bbclass
- 6.91 packagedata.bbclass
- 6.92 packagegroup.bbclass
- 6.93 patch.bbclass
- 6.94 perlnative.bbclass
- 6.95 pixbufcache.bbclass
- 6.96 pkgconfig.bbclass
- 6.97 populate_sdk.bbclass
- 6.98 populate_sdk_*.bbclass
- 6.99 prexport.bbclass
- 6.100 primport.bbclass
- 6.101 prserv.bbclass
- 6.102 ptest.bbclass
- 6.103 ptest-gnome.bbclass
- 6.104 python-dir.bbclass
- 6.105 python3native.bbclass
- 6.106 pythonnative.bbclass
- 6.107 qemu.bbclass
- 6.108 recipe_sanity.bbclass
- 6.109 relocatable.bbclass
- 6.110 remove-libtool.bbclass
- 6.111 report-error.bbclass
- 6.112 rm_work.bbclass
- 6.113 rootfs*.bbclass
- 6.114 sanity.bbclass
- 6.115 scons.bbclass
- 6.116 sdl.bbclass
- 6.117 setuptools.bbclass
- 6.118 setuptools3.bbclass
- 6.119 sign_rpm.bbclass
- 6.120 sip.bbclass
- 6.121 siteconfig.bbclass
- 6.122 siteinfo.bbclass
- 6.123 spdx.bbclass
- 6.124 sstate.bbclass
- 6.125 staging.bbclass
- 6.126 syslinux.bbclass
- 6.127 systemd.bbclass
- 6.128 systemd-boot.bbclass
- 6.129 terminal.bbclass
- 6.130 testimage*.bbclass
- 6.131 testsdk.bbclass
- 6.132 texinfo.bbclass
- 6.133 toaster.bbclass
- 6.134 toolchain-scripts.bbclass
- 6.135 typecheck.bbclass
- 6.136 uboot-config.bbclass
- 6.137 uninative.bbclass
- 6.138 update-alternatives.bbclass
- 6.139 update-rc.d.bbclass
- 6.140 useradd*.bbclass
- 6.141 utility-tasks.bbclass
- 6.142 utils.bbclass
- 6.143 vala.bbclass
- 6.144 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.