diff options
| author | Josh Boyer <jwboyer@redhat.com> | 2012-11-04 17:39:24 -0500 |
|---|---|---|
| committer | Rusty Russell <rusty@rustcorp.com.au> | 2012-12-13 21:35:28 -0500 |
| commit | d890f510c8e45aaf33b8737f211ea05aecb8b460 (patch) | |
| tree | e2f48e1c67688576b3fc989552f708b55ab45617 /scripts | |
| parent | 71eac70257b469bd43737232bce0fd960caebee1 (diff) | |
MODSIGN: Add modules_sign make target
If CONFIG_MODULE_SIG is set, and 'make modules_sign' is called then this
patch will cause the modules to get a signature appended. The make target
is intended to be run after 'make modules_install', and will modify the
modules in-place in the installed location. It can be used to produce
signed modules after they have been processed by distribution build
scripts.
Signed-off-by: Josh Boyer <jwboyer@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (minor typo fix)
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.modsign | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/Makefile.modsign b/scripts/Makefile.modsign new file mode 100644 index 000000000000..abfda626dbad --- /dev/null +++ b/scripts/Makefile.modsign | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | # ========================================================================== | ||
| 2 | # Signing modules | ||
| 3 | # ========================================================================== | ||
| 4 | |||
| 5 | PHONY := __modsign | ||
| 6 | __modsign: | ||
| 7 | |||
| 8 | include scripts/Kbuild.include | ||
| 9 | |||
| 10 | __modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) | ||
| 11 | modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) | ||
| 12 | |||
| 13 | PHONY += $(modules) | ||
| 14 | __modsign: $(modules) | ||
| 15 | @: | ||
| 16 | |||
| 17 | quiet_cmd_sign_ko = SIGN [M] $(2)/$(notdir $@) | ||
| 18 | cmd_sign_ko = $(mod_sign_cmd) $(2)/$(notdir $@) | ||
| 19 | |||
| 20 | # Modules built outside the kernel source tree go into extra by default | ||
| 21 | INSTALL_MOD_DIR ?= extra | ||
| 22 | ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D)) | ||
| 23 | |||
| 24 | modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D)) | ||
| 25 | |||
| 26 | $(modules): | ||
| 27 | $(call cmd,sign_ko,$(MODLIB)/$(modinst_dir)) | ||
| 28 | |||
| 29 | # Declare the contents of the .PHONY variable as phony. We keep that | ||
| 30 | # information in a variable se we can use it in if_changed and friends. | ||
| 31 | |||
| 32 | .PHONY: $(PHONY) | ||
