From 3dd32ccbb6a4f534eee3aeccc39be00811b01ebf Mon Sep 17 00:00:00 2001 From: dchvs Date: Wed, 3 Mar 2021 22:53:37 -0600 Subject: [PATCH] make_targets: Add Kernel Image install support --- kernel/kernel-4.9/arch/arm64/Makefile | 3 ++ kernel/kernel-4.9/scripts/Kbuild.include | 1 + kernel/kernel-4.9/scripts/Makefile.kernelinst | 34 +++++++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 kernel/kernel-4.9/scripts/Makefile.kernelinst diff --git a/kernel/kernel-4.9/arch/arm64/Makefile b/kernel/kernel-4.9/arch/arm64/Makefile index 1f0bc7f67..8d53ecd5f 100644 --- a/kernel/kernel-4.9/arch/arm64/Makefile +++ b/kernel/kernel-4.9/arch/arm64/Makefile @@ -158,6 +158,9 @@ dtbs: scripts dtbs_install: $(Q)$(MAKE) $(dtbinst)=$(boot)/dts +kernel_install: + $(Q)$(MAKE) $(kernelinst)=$(boot)/ + Image-dtb Image.gz-dtb: vmlinux scripts dtbs $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ diff --git a/kernel/kernel-4.9/scripts/Kbuild.include b/kernel/kernel-4.9/scripts/Kbuild.include index a9aaabc19..67c4e51e9 100644 --- a/kernel/kernel-4.9/scripts/Kbuild.include +++ b/kernel/kernel-4.9/scripts/Kbuild.include @@ -254,6 +254,7 @@ modbuiltin := -f $(srctree)/scripts/Makefile.modbuiltin obj # Usage: # $(Q)$(MAKE) $(dtbinst)=dir dtbinst := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.dtbinst obj +kernelinst := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.kernelinst obj ### # Shorthand for $(Q)$(MAKE) -f scripts/Makefile.clean obj= diff --git a/kernel/kernel-4.9/scripts/Makefile.kernelinst b/kernel/kernel-4.9/scripts/Makefile.kernelinst new file mode 100644 index 000000000..a08898cde --- /dev/null +++ b/kernel/kernel-4.9/scripts/Makefile.kernelinst @@ -0,0 +1,34 @@ +# ========================================================================== +# Installing Image file +# +# Installs Image file from INSTALL_IMAGE_PATH directory or the default location: +# +# ========================================================================== + +src := $(obj) + +PHONY := __kernel_install +__kernel_install: + +export kernelinst-root ?= $(obj) + +include include/config/auto.conf +include scripts/Kbuild.include +include $(src)/Makefile + +PHONY += __kernel_install_prep +__kernel_install_prep: +ifeq ("$(kernelinst-root)", "$(obj)") + $(Q)mkdir -p $(INSTALL_PATH) +endif + +# Helper targets for Installing Kernel into the boot directory +quiet_cmd_kernel_install = INSTALL $(2) +cmd_kernel_install = mkdir -p $(2); cp $(kernelinst-root)$(2) $(3); + +install-dir = $(patsubst $(kernelinst-root)%,$(INSTALL_PATH)%,$(obj)) + +__kernel_install: + $(call cmd,kernel_install,Image,$(install-dir)) + +.PHONY: __kernel_install