0b49604ef2
- Reenable debugging options. - Add patch to not break modules_install for external module builds
113 lines
3.8 KiB
Diff
113 lines
3.8 KiB
Diff
From f6a79af8f3701b5a0df431a76adee212616154dc Mon Sep 17 00:00:00 2001
|
|
From: Rusty Russell <rusty@rustcorp.com.au>
|
|
Date: Tue, 6 Nov 2012 11:46:59 +1030
|
|
Subject: [PATCH] modules: don't break modules_install on external modules
|
|
with no key.
|
|
|
|
The script still spits out an error ("Can't read private key") but we
|
|
don't break modules_install.
|
|
|
|
Reported-by: Bruno Wolff III <bruno@wolff.to>
|
|
Original-patch-by: Josh Boyer <jwboyer@redhat.com>
|
|
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
|
|
---
|
|
scripts/Makefile.modinst | 3 ++-
|
|
1 files changed, 2 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst
|
|
index dda4b2b..ecbb447 100644
|
|
--- a/scripts/Makefile.modinst
|
|
+++ b/scripts/Makefile.modinst
|
|
@@ -16,8 +16,9 @@ PHONY += $(modules)
|
|
__modinst: $(modules)
|
|
@:
|
|
|
|
+# Don't stop modules_install if we can't sign external modules.
|
|
quiet_cmd_modules_install = INSTALL $@
|
|
- cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; $(mod_strip_cmd) $(2)/$(notdir $@) ; $(mod_sign_cmd) $(2)/$(notdir $@)
|
|
+ cmd_modules_install = mkdir -p $(2); cp $@ $(2) ; $(mod_strip_cmd) $(2)/$(notdir $@) ; $(mod_sign_cmd) $(2)/$(notdir $@) $(patsubst %,|| true,$(KBUILD_EXTMOD))
|
|
|
|
# Modules built outside the kernel source tree go into extra by default
|
|
INSTALL_MOD_DIR ?= extra
|
|
--
|
|
1.7.6.5
|
|
|
|
From 56713a28675b966e027a824a0130b80dffab209f Mon Sep 17 00:00:00 2001
|
|
From: Josh Boyer <jwboyer@redhat.com>
|
|
Date: Mon, 5 Nov 2012 09:09:24 +1030
|
|
Subject: [PATCH] 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)
|
|
---
|
|
Makefile | 6 ++++++
|
|
scripts/Makefile.modsign | 32 ++++++++++++++++++++++++++++++++
|
|
2 files changed, 38 insertions(+), 0 deletions(-)
|
|
create mode 100644 scripts/Makefile.modsign
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index 42d0e56..253aa1b 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -981,6 +981,12 @@ _modinst_post: _modinst_
|
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modinst
|
|
$(call cmd,depmod)
|
|
|
|
+ifeq ($(CONFIG_MODULE_SIG), y)
|
|
+PHONY += modules_sign
|
|
+modules_sign:
|
|
+ $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modsign
|
|
+endif
|
|
+
|
|
else # CONFIG_MODULES
|
|
|
|
# Modules not configured
|
|
diff --git a/scripts/Makefile.modsign b/scripts/Makefile.modsign
|
|
new file mode 100644
|
|
index 0000000..abfda62
|
|
--- /dev/null
|
|
+++ b/scripts/Makefile.modsign
|
|
@@ -0,0 +1,32 @@
|
|
+# ==========================================================================
|
|
+# Signing modules
|
|
+# ==========================================================================
|
|
+
|
|
+PHONY := __modsign
|
|
+__modsign:
|
|
+
|
|
+include scripts/Kbuild.include
|
|
+
|
|
+__modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod)))
|
|
+modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o)))
|
|
+
|
|
+PHONY += $(modules)
|
|
+__modsign: $(modules)
|
|
+ @:
|
|
+
|
|
+quiet_cmd_sign_ko = SIGN [M] $(2)/$(notdir $@)
|
|
+ cmd_sign_ko = $(mod_sign_cmd) $(2)/$(notdir $@)
|
|
+
|
|
+# Modules built outside the kernel source tree go into extra by default
|
|
+INSTALL_MOD_DIR ?= extra
|
|
+ext-mod-dir = $(INSTALL_MOD_DIR)$(subst $(patsubst %/,%,$(KBUILD_EXTMOD)),,$(@D))
|
|
+
|
|
+modinst_dir = $(if $(KBUILD_EXTMOD),$(ext-mod-dir),kernel/$(@D))
|
|
+
|
|
+$(modules):
|
|
+ $(call cmd,sign_ko,$(MODLIB)/$(modinst_dir))
|
|
+
|
|
+# Declare the contents of the .PHONY variable as phony. We keep that
|
|
+# information in a variable se we can use it in if_changed and friends.
|
|
+
|
|
+.PHONY: $(PHONY)
|
|
--
|
|
1.7.7.6
|
|
|