启动时显式加载内核模块

Lap*_*sio 5 startup grsecurity kernel-modules

我正在使用 grsecurity 内核,它不允许自动加载内核,因此多个 systemd 服务无法工作。手动加载模块并modprobe重新启动模块后,一切正常,但这是一个相当肮脏的解决方案。我想在启动过程中“正确”地做到这一点。

操作系统是带有 grsec 内核的 Arch linux。

jmu*_*lee 4

这在某种程度上取决于您的初始化系统(systemd,或..),但选项是:

  • 内核命令行参数

    模块加载=

  • /etc/modules-load.d/modules.conf

    # /etc/modules:启动时加载的内核模块。
    # 该文件包含应该在引导时加载的内核模块的名称
    ,每行一个。以“#”开头的行将被忽略。

对于台式机/笔记本电脑,人们通常期望能够插入设备并加载驱动程序模块。

如果这不是您的用例,您还可以考虑使用静态链接的相关模块代码来编译内核(因此根本不会发生模块加载)并完全禁用模块系统。32 位体系结构上的内核二进制大小存在限制(限制可以静态编译的模块数量)。

请参阅:“ make localmodconfig

相关:使用 sysctl 防止进一步加载模块

相关:Fedora,启动时加载模块