1.26. barebox Artifact Versioning¶
In addition to the usual barebox release (e.g. v2025.03.0
), the
version number can be extended to encode integration-specific version
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 executingmake
to encode a board support package version. This is useful to encode information about built-in environment and firmware.
1.26.1. Query from barebox¶
When CONFIG_BANNER
is enabled, the version information will be printed
to the console. From the shell, there is the
version command for interactive use and the
global.version
and global.buildsystem.version
Magic variables
for use in scripts.
1.26.2. 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:
/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 inbootctl
output
1.26.3. Query without booting¶
If the barebox boot medium is known, bareboximd
can be used
to read the barebox Image MetaData (IMD), provided that barebox was
compiled with CONFIG_IMD=y
(and CONFIG_IMD_TARGET=y
for
the target tool):
linux$ bareboximd /dev/mmc2.boot0 -t release
2025.03.0-20250403-1
barebox$ imd /dev/mmc2.boot0 -t release
2025.03.0-20250403-1