Yocto Project Reference Manual
Table of Contents
- 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/conf/bblock.conf
- 4.2.6 build/conf/auto.conf
- 4.2.7 build/downloads/
- 4.2.8 build/sstate-cache/
- 4.2.9 build/tmp/- 4.2.9.1 build/tmp/buildstats/
- 4.2.9.2 build/tmp/cache/
- 4.2.9.3 build/tmp/deploy/
- 4.2.9.4 build/tmp/hosttools/
- 4.2.9.5 build/tmp/pkgdata/
- 4.2.9.6 build/tmp/sstate-control/
- 4.2.9.7 build/tmp/sysroots-components/
- 4.2.9.8 build/tmp/sysroots/
- 4.2.9.9 build/tmp/stamps/
- 4.2.9.10 build/tmp/log/
- 4.2.9.11 build/tmp/work/
- 4.2.9.12 build/tmp/work-shared/
 
- 4.2.9.1 
 
- 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 cmake-qemu
- 5.20 cml1
- 5.21 compress_doc
- 5.22 copyleft_compliance
- 5.23 copyleft_filter
- 5.24 core-image
- 5.25 cpan*
- 5.26 create-spdx
- 5.27 cross
- 5.28 cross-canadian
- 5.29 crosssdk
- 5.30 cve-check
- 5.31 debian
- 5.32 deploy
- 5.33 devicetree
- 5.34 devshell
- 5.35 devupstream
- 5.36 externalsrc
- 5.37 extrausers
- 5.38 features_check
- 5.39 fontcache
- 5.40 fs-uuid
- 5.41 gconf
- 5.42 gettext
- 5.43 github-releases
- 5.44 gnomebase
- 5.45 go
- 5.46 go-mod
- 5.47 go-vendor
- 5.48 gobject-introspection
- 5.49 grub-efi
- 5.50 gsettings
- 5.51 gtk-doc
- 5.52 gtk-icon-cache
- 5.53 gtk-immodules-cache
- 5.54 gzipnative
- 5.55 icecc
- 5.56 image
- 5.57 image-buildinfo
- 5.58 image_types
- 5.59 image-live
- 5.60 insane
- 5.61 kernel
- 5.62 kernel-arch
- 5.63 kernel-devicetree
- 5.64 kernel-fitimage
- 5.65 kernel-grub
- 5.66 kernel-module-split
- 5.67 kernel-uboot
- 5.68 kernel-uimage
- 5.69 kernel-yocto
- 5.70 kernelsrc
- 5.71 lib_package
- 5.72 libc*
- 5.73 license
- 5.74 linux-kernel-base
- 5.75 linuxloader
- 5.76 logging
- 5.77 meson
- 5.78 metadata_scm
- 5.79 migrate_localcount
- 5.80 mime
- 5.81 mime-xdg
- 5.82 mirrors
- 5.83 module
- 5.84 module-base
- 5.85 multilib*
- 5.86 native
- 5.87 nativesdk
- 5.88 nopackages
- 5.89 npm
- 5.90 oelint
- 5.91 overlayfs
- 5.92 overlayfs-etc
- 5.93 own-mirrors
- 5.94 package
- 5.95 package_deb
- 5.96 package_ipk
- 5.97 package_rpm
- 5.98 packagedata
- 5.99 packagegroup
- 5.100 patch
- 5.101 perlnative
- 5.102 pypi
- 5.103 python_flit_core
- 5.104 python_maturin
- 5.105 python_mesonpy
- 5.106 python_pep517
- 5.107 python_poetry_core
- 5.108 python_pyo3
- 5.109 python-setuptools3_rust
- 5.110 pixbufcache
- 5.111 pkgconfig
- 5.112 populate_sdk
- 5.113 populate_sdk_*
- 5.114 prexport
- 5.115 primport
- 5.116 prserv
- 5.117 ptest
- 5.118 ptest-cargo
- 5.119 ptest-gnome
- 5.120 python3-dir
- 5.121 python3native
- 5.122 python3targetconfig
- 5.123 qemu
- 5.124 recipe_sanity
- 5.125 relocatable
- 5.126 remove-libtool
- 5.127 report-error
- 5.128 rm_work
- 5.129 rootfs*
- 5.130 rust
- 5.131 rust-common
- 5.132 sanity
- 5.133 scons
- 5.134 sdl
- 5.135 python_setuptools_build_meta
- 5.136 setuptools3
- 5.137 setuptools3_legacy
- 5.138 setuptools3-base
- 5.139 sign_rpm
- 5.140 siteconfig
- 5.141 siteinfo
- 5.142 sstate
- 5.143 staging
- 5.144 syslinux
- 5.145 systemd
- 5.146 systemd-boot
- 5.147 terminal
- 5.148 testexport
- 5.149 testimage
- 5.150 testsdk
- 5.151 texinfo
- 5.152 toaster
- 5.153 toolchain-scripts
- 5.154 typecheck
- 5.155 uboot-config
- 5.156 uboot-sign
- 5.157 uninative
- 5.158 update-alternatives
- 5.159 update-rc.d
- 5.160 useradd*
- 5.161 utility-tasks
- 5.162 utils
- 5.163 vala
- 5.164 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 devtoolQuick 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 Finish Working on a Recipe
- 7.13 Building Your Recipe
- 7.14 Building Your Image
- 7.15 Deploying Your Software on the Target Machine
- 7.16 Removing Your Software from the Target Machine
- 7.17 Creating the Workspace Layer in an Alternative Location
- 7.18 Get the Status of the Recipes in Your Workspace
- 7.19 Search for Available Target Recipes
- 7.20 Get Information on Recipe Configuration Scripts
- 7.21 Generate an IDE Configuration for a Recipe
 
- 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.hproblems?
- 14.3.6 Why don’t other recipes find the files provided by my *-nativerecipe?
- 14.3.7 Can I get rid of build output so I can start over?
- 14.3.8 Why isn’t there a way to append bbclass files like bbappend for recipes?
 
- 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 targetandtarget-native?
- 14.4.8 Why do ${bindir}and${libdir}have strange values for-nativerecipes?
- 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.