aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Waldo <mattias.waldo@gmail.com>2016-09-01 16:36:25 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-01 22:24:25 +0100
commit2dfbf89d67d4e012c0e8729540eda311633c33df (patch)
tree35dd88d13815a7ba7e5c579462cca86540e8549c
parentfd839940a13328f9429effeec84713bbab663624 (diff)
downloadopenembedded-core-contrib-2dfbf89d67d4e012c0e8729540eda311633c33df.tar.gz
kernel.bbclass: include signing keys when copying files required for module builds
The absence of signing_key.* in $kerneldir made signing of out-of-tree kernel modules fail (silently). Add copying of these files during the shared_workdir task. Signed-off-by: Mattias Waldo <mattias.waldo@saabgroup.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/kernel.bbclass8
1 files changed, 8 insertions, 0 deletions
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index 023e308869..d6a0ca8504 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -360,6 +360,14 @@ do_shared_workdir () {
cp .config $kerneldir/
mkdir -p $kerneldir/include/config
cp include/config/kernel.release $kerneldir/include/config/kernel.release
+ if [ -e certs/signing_key.pem ]; then
+ # The signing_key.* files are stored in the certs/ dir in
+ # newer Linux kernels
+ mkdir -p $kerneldir/certs
+ cp certs/signing_key.* $kerneldir/certs/
+ elif [ -e signing_key.priv ]; then
+ cp signing_key.* $kerneldir/
+ fi
# We can also copy over all the generated files and avoid special cases
# like version.h, but we've opted to keep this small until file creep starts