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

编译自定义Linux内核时modules_install命令失败如何解决?

解决内核编译modules_install时的模块签名失败问题

错误核心是内核尝试对模块进行签名时,找不到所需的签名密钥文件或SSL依赖缺失,导致签名流程中断。以下是几种可行的解决方法:

方法一:临时禁用模块签名(测试环境推荐)

如果只是测试自定义内核,不需要强制模块签名,可以直接跳过签名步骤:

  • 方式1:重新配置内核,关闭签名选项
    执行make menuconfig,导航到:

    Enable loadable module support -> Module Signature verification
    取消勾选CONFIG_MODULE_SIG(或至少取消CONFIG_MODULE_SIG_FORCE),保存配置后重新编译内核和模块:

    make -j$(nproc)
    sudo make modules_install install
    
  • 方式2:编译安装时直接传递参数跳过签名
    执行安装命令时添加MODULE_SIG=n参数:
    sudo make modules_install MODULE_SIG=n
    

方法二:配置合法的签名密钥(生产环境推荐)

如果需要模块签名功能,需先生成并配置签名密钥:

  1. 生成RSA签名密钥对:
    openssl req -new -x509 -newkey rsa:2048 -keyout signing_key.pem -outform DER -out signing_key.x509 -nodes -days 3650 -subj "/CN=Custom Kernel Signing Key/"
    
  2. 在内核配置中指定密钥路径:
    执行make menuconfig,进入Enable loadable module support -> Module Signature verification,设置:
    • Signing key file为刚才生成的signing_key.pem的绝对路径
    • 确保CONFIG_MODULE_SIG和CONFIG_MODULE_SIG_ALL已勾选
  3. 重新编译并安装:
    make -j$(nproc)
    sudo make modules_install install
    

方法三:检查并安装依赖

确保系统已安装OpenSSL工具(签名流程依赖它):

  • Debian/Ubuntu系:
    sudo apt update && sudo apt install openssl
    
  • RHEL/CentOS/Fedora系:
    sudo dnf install openssl
    

内容的提问来源于stack exchange,提问作者Itay Avraham

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 14:07:15