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

编译Kernel 6.7.2时遭遇证书构建错误,寻求修复方案及内核升级指导

编译Kernel 6.7.2时遭遇证书构建错误,寻求修复方案及内核升级指导

嗨,别担心,你的英语完全没问题!我来帮你解决这个内核编译时遇到的证书错误,顺便给你梳理完整的内核升级步骤~

错误原因解析

你看到的No hay ninguna regla para construir el objetivo 'debian/canonical-certs.pem'(没有构建debian/canonical-certs.pem的规则),是因为Ubuntu/Debian系的内核默认会尝试加载Canonical官方的签名证书来验证内核模块,但你的编译环境里并没有这个文件,导致证书列表构建失败。

修复方案(两种可选)

方案1:临时跳过证书验证(快速解决,适合测试编译)

如果不需要内核模块签名功能,可以直接关闭相关配置:

  • 方法A:用图形化配置工具修改
    1. 进入内核源码目录,执行命令打开配置界面:make menuconfig
    2. 依次展开 Cryptographic API -> Certificates for signature checking
    3. 把Provide system-wide ring of trusted keys设置为n(取消勾选),同时将Require modules to be validly signed也设置为n
    4. 保存配置并退出,然后重新执行编译:make -j$(nproc)($(nproc)会自动用满CPU核心,加速编译)
  • 方法B:命令行直接修改配置(更快捷)
    执行以下两条命令跳过证书校验:
    scripts/config --set-str SYSTEM_TRUSTED_KEYS ""
    scripts/config --set-str MODULE_SIG_KEY ""
    
    之后重新编译即可。

方案2:配置自定义签名证书(保留模块签名功能)

如果需要内核模块签名,可以自己生成自签名证书:

  1. 在内核源码目录下生成密钥对:
    openssl req -new -x509 -newkey rsa:4096 -keyout kernel_key.pem -out kernel_cert.pem -days 3650 -nodes -subj "/CN=Your Kernel Signing Key/"
    
  2. 把生成的证书路径配置到内核:
    scripts/config --set-str SYSTEM_TRUSTED_KEYS "kernel_cert.pem"
    scripts/config --set-str MODULE_SIG_KEY "kernel_key.pem"
    
  3. 重新执行编译命令:make -j$(nproc)

内核升级后续步骤

编译完成后,执行以下步骤完成内核安装和升级:

  1. 安装内核模块:sudo make modules_install
  2. 安装内核镜像到系统引导目录:sudo make install
  3. 更新GRUB引导配置:sudo update-grub
  4. 重启系统,之后用uname -r命令检查内核版本,确认已经升级到6.7.2

备注:内容来源于stack exchange,提问作者Ricardo Andres Riquelme Rios

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 10:58:05