[PATCH 1/2] Documentation: document querying of barebox version

Enrico Jörns ejo at pengutronix.de
Wed Apr 16 02:56:38 PDT 2025


Am Mittwoch, dem 16.04.2025 um 11:35 +0200 schrieb Ahmad Fatoum:
> We have a short reference to barebox-version fixup in the device tree section
> of the manual. Expand on this by adding a proper documentation section.

Many thanks for documenting this!

> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
>  Documentation/user/user-manual.rst |  1 +
>  Documentation/user/versioning.rst  | 57 ++++++++++++++++++++++++++++++
>  2 files changed, 58 insertions(+)
>  create mode 100644 Documentation/user/versioning.rst
> 
> diff --git a/Documentation/user/user-manual.rst b/Documentation/user/user-manual.rst
> index 83ba9e4c3505..b8272b2235e4 100644
> --- a/Documentation/user/user-manual.rst
> +++ b/Documentation/user/user-manual.rst
> @@ -33,6 +33,7 @@ Contents:
>     reset-reason
>     system-reset
>     state
> +   versioning
>     random
>     optee
>     debugging
> diff --git a/Documentation/user/versioning.rst b/Documentation/user/versioning.rst
> new file mode 100644
> index 000000000000..0eb04158efd3
> --- /dev/null
> +++ b/Documentation/user/versioning.rst
> @@ -0,0 +1,57 @@
> +.. _versioning:
> +
> +barebox Artifact Versioning
> +===========================
> +
> +In addition to the usual barebox release (e.g. ``v2025.03.0``), the
> +version number can be extended to encode integrator specific version

s/integrator specific/integration-specific/

since I hope it is more a question of the environment than the individual person 🙂.

> +information:
> +
> +  * When built from git, ``scripts/setlocalversion`` will factor in
> +    git revision information into the version string.
> +  * The ``EXTRAVERSION = `` in the top-level ``Makefile`` can be used
> +    to add a suffix to the version. This is useful if patches are applied
> +    on top of the tarball release.
> +  * The build host can set the ``BUILDSYSTEM_VERSION`` environment variable
> +    prior to executing ``make`` to encode a board support package version.
> +    This is useful to encode information about built-in environment
> +    and firmware.
> +
> +Query from barebox
> +^^^^^^^^^^^^^^^^^^
> +
> +When ``CONFIG_BANNER`` is enabled, the version information will be printed
> +to the console. From the shell, there is the
> +:ref:`version command <command_version>` for interactive use and the
> +``global.version`` and ``global.buildsystem.version`` :ref:`magicvars`
> +for use in scripts.
> +
> +Query from OS
> +^^^^^^^^^^^^^
> +
> +The barebox version (formatted as ``barebox-$version``) can be queried
> +after boot by different means:
> +
> + * If the OS is booted with device tree, barebox will fixup a
> +   ``/chosen/barebox-version`` property into the kernel device tree with
> +   the version string. Under Linux, this can be accessed at:

Not fully sure about the markup here, but this might require an empty line.

> +   * ``/sys/firmware/devicetree/base/chosen/barebox-version``
> +   * ``/proc/device-tree/base/chosen/barebox-version``
> +
> + * If the system is booted through barebox as EFI application (payload),
> +   a ``LoaderInfo`` EFI variable with the systemd vendor GUID will
> +   be set to the version string. Under Linux, the string is shown in
> +   ``bootctl`` output
> +
> +Query without booting
> +^^^^^^^^^^^^^^^^^^^^^
> +
> +If the barebox boot medium is known, ``bareboximd`` can be used
> +to read the barebox :ref:`imd`, provided that barebox was
> +compiled with ``CONFIG_IMD=y``::
> +
> +  linux$ bareboximd /dev/mmc2.boot0 -t release
> +  2025.03.0-20250403-1
> +
> +  barebox$ imd /dev/mmc2.boot0 -t release
> +  2025.03.0-20250403-1

Might CONFIG_IMD_TARGET required here, too?


Regards, Enrico

-- 
Pengutronix e.K.                           | Enrico Jörns                |
Embedded Linux Consulting & Support        | https://www.pengutronix.de/ |
Steuerwalder Str. 21                       | Phone: +49-5121-206917-180  |
31137 Hildesheim, Germany                  | Fax:   +49-5121-206917-9    |



More information about the barebox mailing list