Compiling kernel gives error No rule to make target 'debian/certs/debian-uefi-certs.pem
I am following this tutorial https://www.cyberciti.biz/tips/compiling-linux-kernel-26.html
CC kernel/jump_label.o
CC kernel/iomem.o
CC kernel/rseq.o
AR kernel/built-in.a
CC certs/system_keyring.o
make[1]: *** No rule to make target 'debian/certs/debian-uefi-certs.pem', needed by 'certs/x509_certificate_list'. Stop.
make: *** [Makefile:1851: certs] Error 2
3
Answers
This seems to be the way to go with the current version:
https://unix.stackexchange.com/a/649484/301245
There are many, many config flags now, and the signing system must stay operational for the build to work. Easiest is to copy debian/ and debian.master/ into the source tree of the kernel to be built, then it works without additional changes.
Well, almost: It can happen that references to key files still exist. The keys section in the .conf file should look like this:
Instead of removing the kernel signature checking, I’ve just configured it correctly:
To get there, I’ve just followed these steps:
…which:
This process can be repeated whenever an update is required (e.g. new certificates).
Run
ln -s /usr/src/linux-source-x.y.z/debian debian
in the top level directory of the kernel source tree. Replacex.y.z
with the appropriate kernel version.