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 -- 2.17.1