You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rocky Linux 8.7下编译生成Linux 5.4.180内核RPM包时出现证书依赖错误求助

Rocky Linux 8.7下编译生成Linux 5.4.180内核RPM包时出现证书依赖错误求助

你好呀,看了你的报错信息,核心问题是找不到certs/rocky.pem这个证书文件。这是因为你复制了当前Rocky系统的内核配置文件(.config),里面默认开启了内核签名相关选项,但你下载的纯净内核源码里并没有这个Rocky专属的证书,所以编译时直接卡壳了。

给你三个实用的解决办法,按需选择:

方案一:关闭内核签名功能(最简单直接)

如果你不需要内核签名,直接把相关配置关掉就行:

  1. 回到内核源码目录:cd linux-5.4.180
  2. 重新打开配置界面:make menuconfig
  3. 依次进入菜单:Cryptographic API → Certificates for signature checking
  4. 找到System wide trusted keys选项,把它的值改成空(直接删除原来的certs/rocky.pem内容)
  5. 再检查Module signature key,如果也是指向rocky.pem,同样改成空或者默认的certs/signing_key.pem
  6. 保存配置退出,然后重新执行make rpm-pkg -j8

方案二:生成自己的签名密钥(保留签名功能)

如果你需要内核签名,可以自己生成一个密钥文件:

  1. 进入源码的certs目录:cd linux-5.4.180/certs
  2. 用openssl生成密钥:
    openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -x509 -config x509.genkey -outform PEM -out signing_key.pem -keyout signing_key.pem
    
  3. 返回源码根目录,编辑.config文件:
    vi .config
    
  4. 修改以下两个配置项:
    CONFIG_SYSTEM_TRUSTED_KEYS="certs/signing_key.pem"
    CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
    
  5. 保存后重新编译:make rpm-pkg -j8

方案三:复制系统自带的Rocky证书到源码目录

直接用系统原来的证书文件:

  1. 找到系统里的rocky.pem,一般路径是/etc/pki/rocky/private/rocky.pem或者/usr/lib/modules/$(uname -r)/build/certs/rocky.pem
  2. 复制到内核源码的certs文件夹:
    sudo cp /etc/pki/rocky/private/rocky.pem linux-5.4.180/certs/
    
  3. 然后继续执行make rpm-pkg -j8

额外注意事项

  • 尽量不要用sudo执行编译命令,rpmbuild会在当前用户的~/rpmbuild目录生成文件,用sudo可能导致权限混乱,后续难以清理
  • 如果之前编译失败过,先执行make clean && make mrproper清理残留的编译文件,再重新开始

备注:内容来源于stack exchange,提问作者gotothesky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:28:01