ref-manual: add description for the "sysroot" term

This term is used throughout the manual but is not properly
introduced anywhere.

(From yocto-docs rev: ced1bbb88a8046b1307376cd88ea85110677c9fc)

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
Michael Opdenacker 2022-06-13 17:58:07 +02:00 committed by Steve Sakoman
parent 90642f4326
commit 04ddd51fcc

View File

@ -483,6 +483,31 @@ universal, the list includes them just in case:
and the ":ref:`dev-manual/sbom:creating a software bill of materials`"
section of the Development Tasks manual.
:term:`Sysroot`
When cross-compiling, the target file system may be differently laid
out and contain different things compared to the host system. The concept
of a *sysroot* is directory which looks like the target filesystem and
can be used to cross-compile against.
In the context of cross-compiling toolchains, a *sysroot*
typically contains C library and kernel headers, plus the
compiled binaries for the C library. A *multilib toolchain*
can contain multiple variants of the C library binaries,
each compiled for a target instruction set (such as ``armv5``,
``armv7`` and ``armv8``), and possibly optimized for a specific CPU core.
In the more specific context of the OpenEmbedded build System and
of the Yocto Project, each recipe has two sysroots:
- A *target sysroot* contains all the **target** libraries and headers
needed to build the recipe.
- A *native sysroot* contains all the **host** files and executables
needed to build the recipe.
See the :term:`SYSROOT_* <SYSROOT_DESTDIR>` variables controlling
how sysroots are created and stored.
:term:`Task`
A per-recipe unit of execution for BitBake (e.g.
:ref:`ref-tasks-compile`,