我目前正在尝试关注使用 Grsecurity 强化 Debian 桌面版指南,以便在我的 Kali Linux 桌面上安装带有 Grsecurity 的 4.5.7 内核。
我正在遵循该说明列表逐字,除了我尝试使用 Grsecurity 的 4.5.7 内核测试补丁,并且我运行的是 Kali Linux 而不是直接的 Debian。
然而,每次我尝试编译内核时,我都会在“CC certs/system_keyring.o”行后面收到此错误:
CC certs/system_keyring.o
make[2]: *** No rule to make target 'debian/certs/[email protected]', needed by 'certs/x509_certificate_list'. Stop.
Makefile:951: recipe for target 'certs' failed
make[1]: *** [certs] Error 2
make[1]: Leaving directory '/home/jc/Downloads/linux-4.5.7'
debian/ruleset/targets/common.mk:295: recipe for target 'debian/stamp/build/kernel' failed
make: *** [debian/stamp/build/kernel] Error 2
正如我发现的那样,对于任何内核,即使我没有应用补丁或修改,我都会收到此错误,因此它与我用来编译内核的工具(显然是某种系统钥匙串)有关。有人可以告诉我如何修复我的操作系统并编译我的内核吗?
PS 这是输出cat /proc/version
:
Linux version 4.6.0-kali1-amd64 ([email protected]) (gcc version 5.4.0 20160609 (Debian 5.4.0-4) ) #1 SMP Debian 4.6.2-2kali2 (2016-06-28)
答案1
几年前我在 Debian 构建中遇到过这个问题。在.config
您复制的文件中/boot
查找并注释掉行CONFIG_SYSTEM_TRUSTED_KEY
和CONFIG_MODULE_SIG_KEY
。
在构建过程中,您可以使用自己的证书或仅使用随机的一次性证书。
在这个里面找到了上面的内容线。
答案2
您可以更改您的配置文件.config
CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"
到
CONFIG_SYSTEM_TRUSTED_KEYS=""
答案3
遇到这个,通过包管理器安装源码包,并将debian和debian.master文件夹移动到makefile所在的linux源码中
$ sudo apt search linux-source
# don't worry about it not saying 'generic'
$ sudo apt install linux-source-<version>
$ cd /usr/src/linux-source-<version>
$ sudo tar xf linux-source-<version>.tar.gz
$ sudo mv debian linux-source-<version>/debian
$ sudo mv debian.master linux-source-<version>/debian.master
答案4
对于我来说,Centos 8,编译4.19内核源码。我禁用这些:
# CONFIG_TRUSTED_KEY
# CONFIG_SYSTEM_TRUSTED_KEYRING
# CONFIG_SYSTEM_TRUSTED_KEYS=""
然后我make
。它将显示一些创建新证书的通知。然后就可以继续编译了。