首页 > 解决方案 > 编译内核给出错误 No rule to make target 'debian/certs/debian-uefi-certs.pem'

问题描述

编译内核给出错误No rule to make target 'debian/certs/debian-uefi-certs.pem 我正在关注本教程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

标签: linuxmakefilecompiler-errorskernel

解决方案


这似乎是当前版本的方式:

https://unix.stackexchange.com/a/649484/301245

现在有很多很多的配置标志,并且签名系统必须保持运行才能使构建工作。最简单的方法是将 debian/ 和 debian.master/ 复制到要构建的内核的源代码树中,然后无需额外更改即可工作。好吧,几乎:对关键文件的引用可能仍然存在。.conf 文件中的密钥部分应如下所示:

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_EXTRA_CERTIFICATE=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
CONFIG_SECONDARY_TRUSTED_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_REVOCATION_LIST=y
CONFIG_SYSTEM_REVOCATION_KEYS=""
# end of Certificates for signature checking

推荐阅读