From 04ddd51fcc2e258deaf6254e1652ae1054d7f1ce Mon Sep 17 00:00:00 2001 From: Michael Opdenacker Date: Mon, 13 Jun 2022 17:58:07 +0200 Subject: [PATCH] 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 Signed-off-by: Steve Sakoman --- documentation/ref-manual/terms.rst | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/documentation/ref-manual/terms.rst b/documentation/ref-manual/terms.rst index 2b9bccb4a9..2ccfe1c238 100644 --- a/documentation/ref-manual/terms.rst +++ b/documentation/ref-manual/terms.rst @@ -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_* ` variables controlling + how sysroots are created and stored. + :term:`Task` A per-recipe unit of execution for BitBake (e.g. :ref:`ref-tasks-compile`,