On 1/17/20 1:20 PM, Frank Rowand wrote: > On 1/13/20 12:16 PM, Alexandre Torgue wrote: >> This commit adds a new script to create a string in tmp file with >> some information (date, linux version, user). This file is then used by >> dtc with -B option to append dts file with a new property. >> During kernel boot it will then be possible to printout DTB build >> information (date, linux version used, user). >> >> Signed-off-by: Alexandre Torgue <alexandre.torgue@xxxxxx> >> >> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib >> index 3fa32f83b2d7..6a98eac1e56d 100644 >> --- a/scripts/Makefile.lib >> +++ b/scripts/Makefile.lib >> @@ -235,6 +235,7 @@ quiet_cmd_gzip = GZIP $@ >> # DTC >> # --------------------------------------------------------------------------- >> DTC ?= $(objtree)/scripts/dtc/dtc >> +DTB_GEN_INFO ?= $(objtree)/scripts/gen_dtb_build_info >> >> # Disable noisy checks by default >> ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),) >> @@ -275,11 +276,13 @@ $(obj)/%.dtb.S: $(obj)/%.dtb FORCE >> >> quiet_cmd_dtc = DTC $@ >> cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ >> - $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ >> - $(DTC) -O $(2) -o $@ -b 0 \ >> + $(DTB_GEN_INFO) $(@).info ;\ >> + $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ >> + $(DTC) -O $(2) -o $@ -b 0 -B $(@).info\ >> $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \ >> - -d $(depfile).dtc.tmp $(dtc-tmp) ; \ >> - cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) >> + -d $(depfile).dtc.tmp $(dtc-tmp) ; \ >> + rm $(@).info ; \ >> + cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) >> >> $(obj)/%.dtb: $(src)/%.dts $(DTC) FORCE >> $(call if_changed_dep,dtc,dtb) >> diff --git a/scripts/gen_dtb_build_info b/scripts/gen_dtb_build_info >> new file mode 100755 >> index 000000000000..30cf7506b9d5 >> --- /dev/null >> +++ b/scripts/gen_dtb_build_info >> @@ -0,0 +1,11 @@ >> +#!/bin/sh >> +# SPDX-License-Identifier: GPL-2.0 >> + >> +DTB_TARGET=$@ >> +COMPILE_BY=$(whoami | sed 's/\\/\\\\/') >> + >> +touch $DTB_TARGET >> + >> +{ >> + echo From Linux $KERNELRELEASE by $COMPILE_BY the $(date). A nit, the trailing period is not needed. Not a big deal one way or the other. >> +} > $DTB_TARGET >> > > This specific set of information does not seem to me to be sufficient > to be of much use. In my previous attempt to capture build time > information into the DTB I included more information that this, > which I felt provided more of the information that would be valuable > to a developer (or testing person) in a development environment, > test environment, or on an end user system. The exact set of > information is easy to bike shed over, but one could explain what > information might be useful and why (I did not provide that explanation > in my patch series, but in retrospect should have). On reflection, this information is sufficient. My concern was that a unique version number was not provided. But the unique version number _is_ provided by the date, which is hh:mm:ss, so sufficient if the dtb is not compiled more often than once per second. So good enough for the debugging environment.