diff options
Diffstat (limited to 'documentation/ref-manual/ref-structure.rst')
-rw-r--r-- | documentation/ref-manual/ref-structure.rst | 890 |
1 files changed, 0 insertions, 890 deletions
diff --git a/documentation/ref-manual/ref-structure.rst b/documentation/ref-manual/ref-structure.rst deleted file mode 100644 index 48a443331b..0000000000 --- a/documentation/ref-manual/ref-structure.rst +++ /dev/null @@ -1,890 +0,0 @@ -.. SPDX-License-Identifier: CC-BY-2.0-UK - -************************** -Source Directory Structure -************************** - -The :term:`Source Directory` consists of numerous files, -directories and subdirectories; understanding their locations and -contents is key to using the Yocto Project effectively. This chapter -describes the Source Directory and gives information about those files -and directories. - -For information on how to establish a local Source Directory on your -development system, see the -":ref:`dev-manual/dev-manual-start:locating yocto project source files`" -section in the Yocto Project Development Tasks Manual. - -.. note:: - - The OpenEmbedded build system does not support file or directory - names that contain spaces. Be sure that the Source Directory you use - does not contain these types of names. - -.. _structure-core: - -Top-Level Core Components -========================= - -This section describes the top-level components of the :term:`Source Directory`. - -.. _structure-core-bitbake: - -``bitbake/`` ------------- - -This directory includes a copy of BitBake for ease of use. The copy -usually matches the current stable BitBake release from the BitBake -project. BitBake, a :term:`Metadata` interpreter, reads the -Yocto Project Metadata and runs the tasks defined by that data. Failures -are usually caused by errors in your Metadata and not from BitBake -itself; consequently, most users do not need to worry about BitBake. - -When you run the ``bitbake`` command, the main BitBake executable (which -resides in the ``bitbake/bin/`` directory) starts. Sourcing the -environment setup script (i.e. :ref:`structure-core-script`) places -the ``scripts/`` and ``bitbake/bin/`` directories (in that order) into -the shell's ``PATH`` environment variable. - -For more information on BitBake, see the :doc:`BitBake User Manual -<bitbake:index>`. - -.. _structure-core-build: - -``build/`` ----------- - -This directory contains user configuration files and the output -generated by the OpenEmbedded build system in its standard configuration -where the source tree is combined with the output. The :term:`Build Directory` -is created initially when you ``source`` -the OpenEmbedded build environment setup script (i.e. -:ref:`structure-core-script`). - -It is also possible to place output and configuration files in a -directory separate from the :term:`Source Directory` by -providing a directory name when you ``source`` the setup script. For -information on separating output from your local Source Directory files -(commonly described as an "out of tree" build), see the -":ref:`structure-core-script`" section. - -.. _handbook: - -``documentation/`` ------------------- - -This directory holds the source for the Yocto Project documentation as -well as templates and tools that allow you to generate PDF and HTML -versions of the manuals. Each manual is contained in its own sub-folder; -for example, the files for this reference manual reside in the -``ref-manual/`` directory. - -.. _structure-core-meta: - -``meta/`` ---------- - -This directory contains the minimal, underlying OpenEmbedded-Core -metadata. The directory holds recipes, common classes, and machine -configuration for strictly emulated targets (``qemux86``, ``qemuarm``, -and so forth.) - -.. _structure-core-meta-poky: - -``meta-poky/`` --------------- - -Designed above the ``meta/`` content, this directory adds just enough -metadata to define the Poky reference distribution. - -.. _structure-core-meta-yocto-bsp: - -``meta-yocto-bsp/`` -------------------- - -This directory contains the Yocto Project reference hardware Board -Support Packages (BSPs). For more information on BSPs, see the -:doc:`../bsp-guide/bsp-guide`. - -.. _structure-meta-selftest: - -``meta-selftest/`` ------------------- - -This directory adds additional recipes and append files used by the -OpenEmbedded selftests to verify the behavior of the build system. You -do not have to add this layer to your ``bblayers.conf`` file unless you -want to run the selftests. - -.. _structure-meta-skeleton: - -``meta-skeleton/`` ------------------- - -This directory contains template recipes for BSP and kernel development. - -.. _structure-core-scripts: - -``scripts/`` ------------- - -This directory contains various integration scripts that implement extra -functionality in the Yocto Project environment (e.g. QEMU scripts). The -:ref:`structure-core-script` script prepends this directory to the -shell's ``PATH`` environment variable. - -The ``scripts`` directory has useful scripts that assist in contributing -back to the Yocto Project, such as ``create-pull-request`` and -``send-pull-request``. - -.. _structure-core-script: - -``oe-init-build-env`` ---------------------- - -This script sets up the OpenEmbedded build environment. Running this -script with the ``source`` command in a shell makes changes to ``PATH`` -and sets other core BitBake variables based on the current working -directory. You need to run an environment setup script before running -BitBake commands. The script uses other scripts within the ``scripts`` -directory to do the bulk of the work. - -When you run this script, your Yocto Project environment is set up, a -:term:`Build Directory` is created, your working -directory becomes the Build Directory, and you are presented with some -simple suggestions as to what to do next, including a list of some -possible targets to build. Here is an example: -:: - - $ source oe-init-build-env - - ### Shell environment set up for builds. ### - - You can now run 'bitbake <target>' - - Common targets are: - core-image-minimal - core-image-sato - meta-toolchain - meta-ide-support - - You can also run generated qemu images with a command like 'runqemu qemux86-64' - -The default output of the ``oe-init-build-env`` script is from the -``conf-notes.txt`` file, which is found in the ``meta-poky`` directory -within the :term:`Source Directory`. If you design a -custom distribution, you can include your own version of this -configuration file to mention the targets defined by your distribution. -See the -":ref:`dev-manual/dev-manual-common-tasks:creating a custom template configuration directory`" -section in the Yocto Project Development Tasks Manual for more -information. - -By default, running this script without a Build Directory argument -creates the ``build/`` directory in your current working directory. If -you provide a Build Directory argument when you ``source`` the script, -you direct the OpenEmbedded build system to create a Build Directory of -your choice. For example, the following command creates a Build -Directory named ``mybuilds/`` that is outside of the :term:`Source Directory`: -:: - - $ source OE_INIT_FILE ~/mybuilds - -The OpenEmbedded build system uses the template configuration files, which -are found by default in the ``meta-poky/conf/`` directory in the Source -Directory. See the -":ref:`dev-manual/dev-manual-common-tasks:creating a custom template configuration directory`" -section in the Yocto Project Development Tasks Manual for more -information. - -.. note:: - - The OpenEmbedded build system does not support file or directory - names that contain spaces. If you attempt to run the - OE_INIT_FILE - script from a Source Directory that contains spaces in either the - filenames or directory names, the script returns an error indicating - no such file or directory. Be sure to use a Source Directory free of - names containing spaces. - -.. _structure-basic-top-level: - -``LICENSE, README, and README.hardware`` ----------------------------------------- - -These files are standard top-level files. - -.. _structure-build: - -The Build Directory - ``build/`` -================================ - -The OpenEmbedded build system creates the :term:`Build Directory` -when you run the build environment setup -script :ref:`structure-core-script`. If you do not give the Build -Directory a specific name when you run the setup script, the name -defaults to ``build/``. - -For subsequent parsing and processing, the name of the Build directory -is available via the :term:`TOPDIR` variable. - -.. _structure-build-buildhistory: - -``build/buildhistory/`` ------------------------ - -The OpenEmbedded build system creates this directory when you enable -build history via the ``buildhistory`` class file. The directory -organizes build information into image, packages, and SDK -subdirectories. For information on the build history feature, see the -":ref:`dev-manual/dev-manual-common-tasks:maintaining build output quality`" -section in the Yocto Project Development Tasks Manual. - -.. _structure-build-conf-local.conf: - -``build/conf/local.conf`` -------------------------- - -This configuration file contains all the local user configurations for -your build environment. The ``local.conf`` file contains documentation -on the various configuration options. Any variable set here overrides -any variable set elsewhere within the environment unless that variable -is hard-coded within a file (e.g. by using '=' instead of '?='). Some -variables are hard-coded for various reasons but such variables are -relatively rare. - -At a minimum, you would normally edit this file to select the target -``MACHINE``, which package types you wish to use -(:term:`PACKAGE_CLASSES`), and the location from -which you want to access downloaded files (``DL_DIR``). - -If ``local.conf`` is not present when you start the build, the -OpenEmbedded build system creates it from ``local.conf.sample`` when you -``source`` the top-level build environment setup script -:ref:`structure-core-script`. - -The source ``local.conf.sample`` file used depends on the -``$TEMPLATECONF`` script variable, which defaults to ``meta-poky/conf/`` -when you are building from the Yocto Project development environment, -and to ``meta/conf/`` when you are building from the OpenEmbedded-Core -environment. Because the script variable points to the source of the -``local.conf.sample`` file, this implies that you can configure your -build environment from any layer by setting the variable in the -top-level build environment setup script as follows: -:: - - TEMPLATECONF=your_layer/conf - -Once the build process gets the sample -file, it uses ``sed`` to substitute final -``${``\ :term:`OEROOT`\ ``}`` values for all -``##OEROOT##`` values. - -.. note:: - - You can see how the - TEMPLATECONF - variable is used by looking at the - scripts/oe-setup-builddir - script in the - Source Directory - . You can find the Yocto Project version of the - local.conf.sample - file in the - meta-poky/conf - directory. - -.. _structure-build-conf-bblayers.conf: - -``build/conf/bblayers.conf`` ----------------------------- - -This configuration file defines -:ref:`layers <dev-manual/dev-manual-common-tasks:understanding and creating layers>`, -which are directory trees, traversed (or walked) by BitBake. The -``bblayers.conf`` file uses the :term:`BBLAYERS` -variable to list the layers BitBake tries to find. - -If ``bblayers.conf`` is not present when you start the build, the -OpenEmbedded build system creates it from ``bblayers.conf.sample`` when -you ``source`` the top-level build environment setup script (i.e. -:ref:`structure-core-script`). - -As with the ``local.conf`` file, the source ``bblayers.conf.sample`` -file used depends on the ``$TEMPLATECONF`` script variable, which -defaults to ``meta-poky/conf/`` when you are building from the Yocto -Project development environment, and to ``meta/conf/`` when you are -building from the OpenEmbedded-Core environment. Because the script -variable points to the source of the ``bblayers.conf.sample`` file, this -implies that you can base your build from any layer by setting the -variable in the top-level build environment setup script as follows: -:: - - TEMPLATECONF=your_layer/conf - -Once the build process gets the sample file, it uses ``sed`` to substitute final -``${``\ :term:`OEROOT`\ ``}`` values for all ``##OEROOT##`` values. - -.. note:: - - You can see how the - TEMPLATECONF - variable - scripts/oe-setup-builddir - script in the - Source Directory - . You can find the Yocto Project version of the - bblayers.conf.sample - file in the - meta-poky/conf/ - directory. - -.. _structure-build-conf-sanity_info: - -``build/cache/sanity_info`` ---------------------------- - -This file indicates the state of the sanity checks and is created during -the build. - -.. _structure-build-downloads: - -``build/downloads/`` --------------------- - -This directory contains downloaded upstream source tarballs. You can -reuse the directory for multiple builds or move the directory to another -location. You can control the location of this directory through the -``DL_DIR`` variable. - -.. _structure-build-sstate-cache: - -``build/sstate-cache/`` ------------------------ - -This directory contains the shared state cache. You can reuse the -directory for multiple builds or move the directory to another location. -You can control the location of this directory through the -``SSTATE_DIR`` variable. - -.. _structure-build-tmp: - -``build/tmp/`` --------------- - -The OpenEmbedded build system creates and uses this directory for all -the build system's output. The :term:`TMPDIR` variable -points to this directory. - -BitBake creates this directory if it does not exist. As a last resort, -to clean up a build and start it from scratch (other than the -downloads), you can remove everything in the ``tmp`` directory or get -rid of the directory completely. If you do, you should also completely -remove the ``build/sstate-cache`` directory. - -.. _structure-build-tmp-buildstats: - -``build/tmp/buildstats/`` -------------------------- - -This directory stores the build statistics. - -.. _structure-build-tmp-cache: - -``build/tmp/cache/`` --------------------- - -When BitBake parses the metadata (recipes and configuration files), it -caches the results in ``build/tmp/cache/`` to speed up future builds. -The results are stored on a per-machine basis. - -During subsequent builds, BitBake checks each recipe (together with, for -example, any files included or appended to it) to see if they have been -modified. Changes can be detected, for example, through file -modification time (mtime) changes and hashing of file contents. If no -changes to the file are detected, then the parsed result stored in the -cache is reused. If the file has changed, it is reparsed. - -.. _structure-build-tmp-deploy: - -``build/tmp/deploy/`` ---------------------- - -This directory contains any "end result" output from the OpenEmbedded -build process. The :term:`DEPLOY_DIR` variable points -to this directory. For more detail on the contents of the ``deploy`` -directory, see the -":ref:`images-dev-environment`" and -":ref:`sdk-dev-environment`" sections in the Yocto -Project Overview and Concepts Manual. - -.. _structure-build-tmp-deploy-deb: - -``build/tmp/deploy/deb/`` -------------------------- - -This directory receives any ``.deb`` packages produced by the build -process. The packages are sorted into feeds for different architecture -types. - -.. _structure-build-tmp-deploy-rpm: - -``build/tmp/deploy/rpm/`` -------------------------- - -This directory receives any ``.rpm`` packages produced by the build -process. The packages are sorted into feeds for different architecture -types. - -.. _structure-build-tmp-deploy-ipk: - -``build/tmp/deploy/ipk/`` -------------------------- - -This directory receives ``.ipk`` packages produced by the build process. - -.. _structure-build-tmp-deploy-licenses: - -``build/tmp/deploy/licenses/`` ------------------------------- - -This directory receives package licensing information. For example, the -directory contains sub-directories for ``bash``, ``busybox``, and -``glibc`` (among others) that in turn contain appropriate ``COPYING`` -license files with other licensing information. For information on -licensing, see the -":ref:`dev-manual/dev-manual-common-tasks:maintaining open source license compliance during your product's lifecycle`" -section in the Yocto Project Development Tasks Manual. - -.. _structure-build-tmp-deploy-images: - -``build/tmp/deploy/images/`` ----------------------------- - -This directory is populated with the basic output objects of the build -(think of them as the "generated artifacts" of the build process), -including things like the boot loader image, kernel, root filesystem and -more. If you want to flash the resulting image from a build onto a -device, look here for the necessary components. - -Be careful when deleting files in this directory. You can safely delete -old images from this directory (e.g. ``core-image-*``). However, the -kernel (``*zImage*``, ``*uImage*``, etc.), bootloader and other -supplementary files might be deployed here prior to building an image. -Because these files are not directly produced from the image, if you -delete them they will not be automatically re-created when you build the -image again. - -If you do accidentally delete files here, you will need to force them to -be re-created. In order to do that, you will need to know the target -that produced them. For example, these commands rebuild and re-create -the kernel files: -:: - - $ bitbake -c clean virtual/kernel - $ bitbake virtual/kernel - -.. _structure-build-tmp-deploy-sdk: - -``build/tmp/deploy/sdk/`` -------------------------- - -The OpenEmbedded build system creates this directory to hold toolchain -installer scripts which, when executed, install the sysroot that matches -your target hardware. You can find out more about these installers in -the ":ref:`sdk-manual/sdk-appendix-obtain:building an sdk installer`" -section in the Yocto Project Application Development and the Extensible -Software Development Kit (eSDK) manual. - -.. _structure-build-tmp-sstate-control: - -``build/tmp/sstate-control/`` ------------------------------ - -The OpenEmbedded build system uses this directory for the shared state -manifest files. The shared state code uses these files to record the -files installed by each sstate task so that the files can be removed -when cleaning the recipe or when a newer version is about to be -installed. The build system also uses the manifests to detect and -produce a warning when files from one task are overwriting those from -another. - -.. _structure-build-tmp-sysroots-components: - -``build/tmp/sysroots-components/`` ----------------------------------- - -This directory is the location of the sysroot contents that the task -:ref:`ref-tasks-prepare_recipe_sysroot` -links or copies into the recipe-specific sysroot for each recipe listed -in :term:`DEPENDS`. Population of this directory is -handled through shared state, while the path is specified by the -:term:`COMPONENTS_DIR` variable. Apart from a few -unusual circumstances, handling of the ``sysroots-components`` directory -should be automatic, and recipes should not directly reference -``build/tmp/sysroots-components``. - -.. _structure-build-tmp-sysroots: - -``build/tmp/sysroots/`` ------------------------ - -Previous versions of the OpenEmbedded build system used to create a -global shared sysroot per machine along with a native sysroot. Beginning -with the DISTRO version of the Yocto Project, sysroots exist in -recipe-specific :term:`WORKDIR` directories. Thus, the -``build/tmp/sysroots/`` directory is unused. - -.. note:: - - The - build/tmp/sysroots/ - directory can still be populated using the - bitbake build-sysroots - command and can be used for compatibility in some cases. However, in - general it is not recommended to populate this directory. Individual - recipe-specific sysroots should be used. - -.. _structure-build-tmp-stamps: - -``build/tmp/stamps/`` ---------------------- - -This directory holds information that BitBake uses for accounting -purposes to track what tasks have run and when they have run. The -directory is sub-divided by architecture, package name, and version. -Following is an example: -stamps/all-poky-linux/distcc-config/1.0-r0.do_build-2fdd....2do Although -the files in the directory are empty of data, BitBake uses the filenames -and timestamps for tracking purposes. - -For information on how BitBake uses stamp files to determine if a task -should be rerun, see the -":ref:`overview-manual/overview-manual-concepts:stamp files and the rerunning of tasks`" -section in the Yocto Project Overview and Concepts Manual. - -.. _structure-build-tmp-log: - -``build/tmp/log/`` ------------------- - -This directory contains general logs that are not otherwise placed using -the package's ``WORKDIR``. Examples of logs are the output from the -``do_check_pkg`` or ``do_distro_check`` tasks. Running a build does not -necessarily mean this directory is created. - -.. _structure-build-tmp-work: - -``build/tmp/work/`` -------------------- - -This directory contains architecture-specific work sub-directories for -packages built by BitBake. All tasks execute from the appropriate work -directory. For example, the source for a particular package is unpacked, -patched, configured and compiled all within its own work directory. -Within the work directory, organization is based on the package group -and version for which the source is being compiled as defined by the -:term:`WORKDIR`. - -It is worth considering the structure of a typical work directory. As an -example, consider ``linux-yocto-kernel-3.0`` on the machine ``qemux86`` -built within the Yocto Project. For this package, a work directory of -``tmp/work/qemux86-poky-linux/linux-yocto/3.0+git1+<.....>``, referred -to as the ``WORKDIR``, is created. Within this directory, the source is -unpacked to ``linux-qemux86-standard-build`` and then patched by Quilt. -(See the ":ref:`using-a-quilt-workflow`" section in -the Yocto Project Development Tasks Manual for more information.) Within -the ``linux-qemux86-standard-build`` directory, standard Quilt -directories ``linux-3.0/patches`` and ``linux-3.0/.pc`` are created, and -standard Quilt commands can be used. - -There are other directories generated within ``WORKDIR``. The most -important directory is ``WORKDIR/temp/``, which has log files for each -task (``log.do_*.pid``) and contains the scripts BitBake runs for each -task (``run.do_*.pid``). The ``WORKDIR/image/`` directory is where "make -install" places its output that is then split into sub-packages within -``WORKDIR/packages-split/``. - -.. _structure-build-tmp-work-tunearch-recipename-version: - -``build/tmp/work/tunearch/recipename/version/`` ------------------------------------------------ - -The recipe work directory - ``${WORKDIR}``. - -As described earlier in the -"```build/tmp/sysroots/`` <#structure-build-tmp-sysroots>`__" section, -beginning with the DISTRO release of the Yocto Project, the OpenEmbedded -build system builds each recipe in its own work directory (i.e. -:term:`WORKDIR`). The path to the work directory is -constructed using the architecture of the given build (e.g. -:term:`TUNE_PKGARCH`, -:term:`MACHINE_ARCH`, or "allarch"), the recipe -name, and the version of the recipe (i.e. -:term:`PE`\ ``:``\ :term:`PV`\ ``-``\ :term:`PR`). - -A number of key subdirectories exist within each recipe work directory: - -- ``${WORKDIR}/temp``: Contains the log files of each task executed for - this recipe, the "run" files for each executed task, which contain - the code run, and a ``log.task_order`` file, which lists the order in - which tasks were executed. - -- ``${WORKDIR}/image``: Contains the output of the - :ref:`ref-tasks-install` task, which corresponds to - the ``${``\ :term:`D`\ ``}`` variable in that task. - -- ``${WORKDIR}/pseudo``: Contains the pseudo database and log for any - tasks executed under pseudo for the recipe. - -- ``${WORKDIR}/sysroot-destdir``: Contains the output of the - :ref:`ref-tasks-populate_sysroot` task. - -- ``${WORKDIR}/package``: Contains the output of the - :ref:`ref-tasks-package` task before the output is - split into individual packages. - -- ``${WORKDIR}/packages-split``: Contains the output of the - ``do_package`` task after the output has been split into individual - packages. Subdirectories exist for each individual package created by - the recipe. - -- ``${WORKDIR}/recipe-sysroot``: A directory populated with the target - dependencies of the recipe. This directory looks like the target - filesystem and contains libraries that the recipe might need to link - against (e.g. the C library). - -- ``${WORKDIR}/recipe-sysroot-native``: A directory populated with the - native dependencies of the recipe. This directory contains the tools - the recipe needs to build (e.g. the compiler, Autoconf, libtool, and - so forth). - -- ``${WORKDIR}/build``: This subdirectory applies only to recipes that - support builds where the source is separate from the build artifacts. - The OpenEmbedded build system uses this directory as a separate build - directory (i.e. ``${``\ :term:`B`\ ``}``). - -.. _structure-build-work-shared: - -``build/tmp/work-shared/`` --------------------------- - -For efficiency, the OpenEmbedded build system creates and uses this -directory to hold recipes that share a work directory with other -recipes. In practice, this is only used for ``gcc`` and its variants -(e.g. ``gcc-cross``, ``libgcc``, ``gcc-runtime``, and so forth). - -.. _structure-meta: - -The Metadata - ``meta/`` -======================== - -As mentioned previously, :term:`Metadata` is the core of the -Yocto Project. Metadata has several important subdivisions: - -.. _structure-meta-classes: - -``meta/classes/`` ------------------ - -This directory contains the ``*.bbclass`` files. Class files are used to -abstract common code so it can be reused by multiple packages. Every -package inherits the ``base.bbclass`` file. Examples of other important -classes are ``autotools.bbclass``, which in theory allows any -Autotool-enabled package to work with the Yocto Project with minimal -effort. Another example is ``kernel.bbclass`` that contains common code -and functions for working with the Linux kernel. Functions like image -generation or packaging also have their specific class files such as -``image.bbclass``, ``rootfs_*.bbclass`` and ``package*.bbclass``. - -For reference information on classes, see the -":ref:`ref-manual/ref-classes:Classes`" chapter. - -.. _structure-meta-conf: - -``meta/conf/`` --------------- - -This directory contains the core set of configuration files that start -from ``bitbake.conf`` and from which all other configuration files are -included. See the include statements at the end of the ``bitbake.conf`` -file and you will note that even ``local.conf`` is loaded from there. -While ``bitbake.conf`` sets up the defaults, you can often override -these by using the (``local.conf``) file, machine file or the -distribution configuration file. - -.. _structure-meta-conf-machine: - -``meta/conf/machine/`` ----------------------- - -This directory contains all the machine configuration files. If you set -``MACHINE = "qemux86"``, the OpenEmbedded build system looks for a -``qemux86.conf`` file in this directory. The ``include`` directory -contains various data common to multiple machines. If you want to add -support for a new machine to the Yocto Project, look in this directory. - -.. _structure-meta-conf-distro: - -``meta/conf/distro/`` ---------------------- - -The contents of this directory controls any distribution-specific -configurations. For the Yocto Project, the ``defaultsetup.conf`` is the -main file here. This directory includes the versions and the ``SRCDATE`` -definitions for applications that are configured here. An example of an -alternative configuration might be ``poky-bleeding.conf``. Although this -file mainly inherits its configuration from Poky. - -.. _structure-meta-conf-machine-sdk: - -``meta/conf/machine-sdk/`` --------------------------- - -The OpenEmbedded build system searches this directory for configuration -files that correspond to the value of -:term:`SDKMACHINE`. By default, 32-bit and 64-bit x86 -files ship with the Yocto Project that support some SDK hosts. However, -it is possible to extend that support to other SDK hosts by adding -additional configuration files in this subdirectory within another -layer. - -.. _structure-meta-files: - -``meta/files/`` ---------------- - -This directory contains common license files and several text files used -by the build system. The text files contain minimal device information -and lists of files and directories with known permissions. - -.. _structure-meta-lib: - -``meta/lib/`` -------------- - -This directory contains OpenEmbedded Python library code used during the -build process. - -.. _structure-meta-recipes-bsp: - -``meta/recipes-bsp/`` ---------------------- - -This directory contains anything linking to specific hardware or -hardware configuration information such as "u-boot" and "grub". - -.. _structure-meta-recipes-connectivity: - -``meta/recipes-connectivity/`` ------------------------------- - -This directory contains libraries and applications related to -communication with other devices. - -.. _structure-meta-recipes-core: - -``meta/recipes-core/`` ----------------------- - -This directory contains what is needed to build a basic working Linux -image including commonly used dependencies. - -.. _structure-meta-recipes-devtools: - -``meta/recipes-devtools/`` --------------------------- - -This directory contains tools that are primarily used by the build -system. The tools, however, can also be used on targets. - -.. _structure-meta-recipes-extended: - -``meta/recipes-extended/`` --------------------------- - -This directory contains non-essential applications that add features -compared to the alternatives in core. You might need this directory for -full tool functionality or for Linux Standard Base (LSB) compliance. - -.. _structure-meta-recipes-gnome: - -``meta/recipes-gnome/`` ------------------------ - -This directory contains all things related to the GTK+ application -framework. - -.. _structure-meta-recipes-graphics: - -``meta/recipes-graphics/`` --------------------------- - -This directory contains X and other graphically related system -libraries. - -.. _structure-meta-recipes-kernel: - -``meta/recipes-kernel/`` ------------------------- - -This directory contains the kernel and generic applications and -libraries that have strong kernel dependencies. - -.. _structure-meta-recipes-lsb4: - -``meta/recipes-lsb4/`` ----------------------- - -This directory contains recipes specifically added to support the Linux -Standard Base (LSB) version 4.x. - -.. _structure-meta-recipes-multimedia: - -``meta/recipes-multimedia/`` ----------------------------- - -This directory contains codecs and support utilities for audio, images -and video. - -.. _structure-meta-recipes-rt: - -``meta/recipes-rt/`` --------------------- - -This directory contains package and image recipes for using and testing -the ``PREEMPT_RT`` kernel. - -.. _structure-meta-recipes-sato: - -``meta/recipes-sato/`` ----------------------- - -This directory contains the Sato demo/reference UI/UX and its associated -applications and configuration data. - -.. _structure-meta-recipes-support: - -``meta/recipes-support/`` -------------------------- - -This directory contains recipes used by other recipes, but that are not -directly included in images (i.e. dependencies of other recipes). - -.. _structure-meta-site: - -``meta/site/`` --------------- - -This directory contains a list of cached results for various -architectures. Because certain "autoconf" test results cannot be -determined when cross-compiling due to the tests not able to run on a -live system, the information in this directory is passed to "autoconf" -for the various architectures. - -.. _structure-meta-recipes-txt: - -``meta/recipes.txt`` --------------------- - -This file is a description of the contents of ``recipes-*``. |