From: "Enrico Jörns" <ejo@pengutronix.de>
To: docs@lists.yoctoproject.org
Cc: yocto@pengutronix.de
Subject: [PATCH] ref-manual: add documentation for the barebox class
Date: Thu, 16 Jan 2025 12:14:56 +0100 [thread overview]
Message-ID: <20250116111456.1167518-1-ejo@pengutronix.de> (raw)
From: Enrico Joerns <ejo@pengutronix.de>
This adds the initial documentation for the newly added barebox.bbclass
to the Reference Manual's class list.
It also adds the two most notable variables to the variable list.
Signed-off-by: Enrico Joerns <ejo@pengutronix.de>
---
documentation/ref-manual/classes.rst | 36 ++++++++++++++++++++++++++
documentation/ref-manual/variables.rst | 13 ++++++++++
2 files changed, 49 insertions(+)
diff --git a/documentation/ref-manual/classes.rst b/documentation/ref-manual/classes.rst
index 22c4301a4..c11c0a529 100644
--- a/documentation/ref-manual/classes.rst
+++ b/documentation/ref-manual/classes.rst
@@ -128,6 +128,42 @@ It's useful to have some idea of how the tasks defined by the
- :ref:`ref-tasks-install` --- runs ``make install`` and
passes in ``${``\ :term:`D`\ ``}`` as ``DESTDIR``.
+.. _ref-classes-barebox:
+
+``barebox``
+===========
+
+The :ref:`ref-classes-barebox` class manages building the barebox bootloader.
+
+If a file named ``defconfig`` is included in the :term:`SRC_URI`, it will be
+copied to ``.config`` in the build directory and used as the barebox
+configuration.
+Instead of providing a ``defconfig`` file, you can set :term:`BAREBOX_CONFIG`
+to a defconfig provided by the barebox source tree.
+If neither ``defconfig`` nor :term:`BAREBOX_CONFIG` is specified, the class
+will raise an error.
+
+The :ref:`ref-classes-barebox` class supports config fragments and internally
+includes the :ref:`ref-classes-cml1` class to provide kconfig support for
+barebox, enabling tasks such as :ref:`ref-tasks-menuconfig` and
+:ref:`ref-tasks-diffconfig`.
+
+The generated barebox binaries are deployed to
+:term:`DEPLOY_DIR_IMAGE` as well as installed to ``BAREBOX_INSTALL_PATH``
+(``/boot`` by default) making them part of the recipe’s base package.
+This setup supports both using the barebox binaries as independent artifacts
+and installing them into a rootfs.
+:term:`BAREBOX_BINARY` can be used to select a distinct binary to deploy and
+install.
+If ``barebox`` is set as the :term:`EFI_PROVIDER`, the class will leverage
+``conf/image-uefi.conf`` to define the default installation paths and naming
+conventions.
+
+The compiled-in barebox environment can be extended by adding environment files
+to the ``BAREBOX_ENV_DIR``.
+The ``BAREBOX_FIRMWARE_DIR`` variable allows you to specify the firmware blob
+search directory, enabling loading of additional firmware like TF-A or OP-TEE.
+
.. _ref-classes-base:
``base``
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst
index 702a6caf8..f29f38588 100644
--- a/documentation/ref-manual/variables.rst
+++ b/documentation/ref-manual/variables.rst
@@ -293,6 +293,19 @@ system and gives an overview of their function and contents.
:term:`PACKAGE_EXCLUDE` variables for related
information.
+ :term:`BAREBOX_BINARY`
+ The barebox build system can build multiple barebox binaries at once.
+ By default, all built binaries will be deployed and installed under their
+ original name.
+ If only a specific binary should be deployed/installed, its name can
+ be specified in :term:`BAREBOX_BINARY`.
+
+ :term:`BAREBOX_CONFIG`
+ Specifies the name of the barebox defconfig to build.
+ The name must be a defconfig file known to the barebox build environment.
+ For more information on how to provide a barebox configuration, see the
+ :ref:`ref-classes-barebox` class.
+
:term:`BASE_LIB`
The library directory name for the CPU or Application Binary
Interface (ABI) tune. The :term:`BASE_LIB` applies only in the Multilib
--
2.39.5
next reply other threads:[~2025-01-16 11:17 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-16 11:14 Enrico Jörns [this message]
2025-01-17 13:12 ` [docs] [PATCH] ref-manual: add documentation for the barebox class Antonin Godard
2025-01-17 13:36 ` Enrico Jörns
2025-01-17 13:44 ` Antonin Godard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250116111456.1167518-1-ejo@pengutronix.de \
--to=ejo@pengutronix.de \
--cc=docs@lists.yoctoproject.org \
--cc=yocto@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.