[PATCH v2 01/12] README: Add doumentation for version information
Simon Glass
sjg at chromium.org
Thu Jan 21 03:06:31 CET 2021
There are quite a few available version options in U-Boot. Add a list of
the available Makefile variables and #defines, along with examples.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
(no changes since v1)
README | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 84 insertions(+)
diff --git a/README b/README
index 89606c8adde..f32c69c8d77 100644
--- a/README
+++ b/README
@@ -1830,6 +1830,90 @@ The following options need to be configured:
Time to wait after FPGA configuration. The default is
200 ms.
+- Version identification:
+
+ U-Boot releases are named by year and patch level, for example
+ 2020.10 means the release that came out in October 2020.
+ Release candidates are tagged every few weeks as the project
+ heads to the next release. So 2020.10-rc1 was the first
+ release candidate (RC), tagged soon after 2020.07 was released.
+
+ See here for full details:
+ https://www.denx.de/wiki/view/U-Boot/ReleaseCycle
+
+ Within the build system, various Makefile variables are created,
+ making use of VERSION, PATCHLEVEL and EXTRAVERSION defined at
+ the top of 'Makefile'. There is also SUBLEVEL available for
+ downstream use. See also CONFIG_IDENT_STRING.
+
+ Some variables end up in a generated header file at
+ include/generated/version_autogenerated.h and can be accessed
+ from C source by including <version.h>
+
+ The following are available:
+
+ UBOOTRELEASE (Makefile)
+ Full release version as a string. If this is not a
+ tagged release, it also includes the number of commits
+ since the last tag as well as the the git hash. If
+ there are uncommitted changes a '-dirty' suffix is
+ added too.
+ This is written by scripts/setlocalversion
+ (maintained by Linux) to include/config/uboot.release
+ and ends up in the UBOOTRELEASE Makefile variable.
+
+ Examples:
+ 2020.10-rc3
+ 2021.01-rc5-00248-g60dd854f3ba-dirty
+
+ PLAIN_VERSION (string #define)
+ This is UBOOTRELEASE but available in C source.
+
+ Examples:
+ 2020.10
+ 2021.01-rc5-00248-g60dd854f3ba-dirty
+
+ UBOOTVERSION (Makefile)
+ This holds just the first three components of
+ UBOOTRELEASE (i.e. not the git hash, etc.)
+
+ Examples:
+ 2020.10
+ 2021.01-rc5
+
+ U_BOOT_VERSION (string #define)
+ "U-Boot " followed by UBOOTRELEASE, for example:
+
+ U-Boot 2020.10
+ U-Boot 2021.01-rc5
+
+ This is used as part of the banner string when U-Boot
+ starts.
+
+ U_BOOT_VERSION_STRING (string #define)
+ U_BOOT_VERSION followed by build-time information
+ and CONFIG_IDENT_STRING.
+
+ Examples:
+ U-Boot 2020.10 (Jan 06 2021 - 08:50:36 -0700)
+ U-Boot 2021.01-rc5-00248-g60dd854f3ba-dirty (Jan 06 2021 - 08:50:36 -0700) for spring
+
+ Build date/time is also included. See the generated file
+ include/generated/timestamp_autogenerated.h for the available
+ fields. For example:
+
+ #define U_BOOT_DATE "Jan 06 2021" (US format only)
+ #define U_BOOT_TIME "08:50:36" (24-hour clock)
+ #define U_BOOT_TZ "-0700" (Time zone in hours)
+ #define U_BOOT_DMI_DATE "01/06/2021" (US format only)
+ #define U_BOOT_BUILD_DATE 0x20210106 (hex yyyymmdd format)
+ #define U_BOOT_EPOCH 1609948236
+
+ The Epoch is the number of seconds since midnight on 1/1/70.
+ Every time you build U-Boot this will update based on the time
+ on your build machine. See 'Reproducible builds' if you want to
+ avoid that.
+
- Configuration Management:
CONFIG_IDENT_STRING
--
2.30.0.296.g2bfb1c46d8-goog
More information about the U-Boot
mailing list