Ale*_*lex 24 linux kernel compiler-errors makefile
编译内核出现错误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
Run Code Online (Sandbox Code Playgroud)
Anc*_*ron 19
我没有删除内核签名检查,而是正确配置了它:
#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
CONFIG_MODULE_SIG_KEY_TYPE_ECDSA=y
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS="/usr/local/src/debian/canonical-certs.pem"
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="/usr/local/src/debian/canonical-revoked-certs.pem"
# end of Certificates for signature checking
Run Code Online (Sandbox Code Playgroud)
为了到达那里,我只是按照以下步骤操作:
sudo mkdir -p /usr/local/src/debian
sudo apt install linux-source
sudo cp -v /usr/src/linux-source-*/debian/canonical-*.pem /usr/local/src/debian/
sudo apt purge linux-source*
Run Code Online (Sandbox Code Playgroud)
...哪个:
每当需要更新(例如新证书)时,都可以重复此过程。
jgl*_*the 14
这似乎是当前版本的方法:
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
Run Code Online (Sandbox Code Playgroud)
小智 5
如果出现证书错误,请在内核源的根目录中执行以下命令
scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
Run Code Online (Sandbox Code Playgroud)
然后make再次运行,应该就可以了!