diff options
authorMattias Waldo <mattias.waldo@gmail.com>2016-09-01 16:36:25 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-03 23:45:46 +0100
commit7aadc91b5ef86a89a827d59bd19e7b8272a5dd66 (patch)
parent994f8a41a16d0b82a1f7dfbcbbcc1df08225b14e (diff)
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>
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