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). > +} > $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).