70 lines
2.3 KiB
Diff
70 lines
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Paolo Sabatino <paolo.sabatino@gmail.com>
|
|
Date: Sun, 2 Jun 2024 21:53:01 +0200
|
|
Subject: compile .scr and install overlays in right path
|
|
|
|
---
|
|
scripts/Makefile.dtbinst | 13 +++++++++-
|
|
scripts/Makefile.lib | 8 +++++-
|
|
2 files changed, 19 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
|
|
index 111111111111..222222222222 100644
|
|
--- a/scripts/Makefile.dtbinst
|
|
+++ b/scripts/Makefile.dtbinst
|
|
@@ -33,7 +33,18 @@ endef
|
|
|
|
$(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d))))
|
|
|
|
-dtbs := $(notdir $(dtbs))
|
|
+# Very convoluted way to flatten all the device tree
|
|
+# directories, but keep the "/overlay/" directory
|
|
+
|
|
+# topmost directory (ie: from rockchip/overlay/rk322x-emmc.dtbo extracts rockchip)
|
|
+topmost_dir = $(firstword $(subst /, ,$(dtbs)))
|
|
+# collect dtbs entries which starts with "$topmost_dir/overlay/", then remove "$topmost_dir"
|
|
+dtbs_overlays = $(subst $(topmost_dir)/,,$(filter $(topmost_dir)/overlay/%, $(dtbs)))
|
|
+# collect the non-overlay dtbs
|
|
+dtbs_regular = $(filter-out $(topmost_dir)/overlay/%, $(dtbs))
|
|
+# compose the dtbs variable flattening all the non-overlays entries
|
|
+# and appending the overlays entries
|
|
+dtbs := $(notdir $(dtbs_regular)) $(dtbs_overlays)
|
|
|
|
endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL
|
|
|
|
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
|
|
index 111111111111..222222222222 100644
|
|
--- a/scripts/Makefile.lib
|
|
+++ b/scripts/Makefile.lib
|
|
@@ -402,7 +402,7 @@ $(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE
|
|
|
|
quiet_cmd_dtc = DTC $@
|
|
cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
|
- $(DTC) -o $@ -b 0 \
|
|
+ $(DTC) -@ -o $@ -b 0 \
|
|
$(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
|
|
-d $(depfile).dtc.tmp $(dtc-tmp) ; \
|
|
cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
|
|
@@ -427,12 +427,18 @@ quiet_cmd_dtb = $(quiet_cmd_dtc)
|
|
cmd_dtb = $(cmd_dtc)
|
|
endif
|
|
|
|
+quiet_cmd_scr = MKIMAGE $@
|
|
+cmd_scr = mkimage -C none -A $(ARCH) -T script -d $< $@
|
|
+
|
|
$(obj)/%.dtb: $(obj)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
|
|
$(call if_changed_dep,dtb)
|
|
|
|
$(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE
|
|
$(call if_changed_dep,dtc)
|
|
|
|
+$(obj)/%.scr: $(src)/%.scr-cmd FORCE
|
|
+ $(call if_changed,scr)
|
|
+
|
|
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
|
|
|
|
# Bzip2
|
|
--
|
|
Armbian
|
|
|