如何为加载的内核构建 iptables 内核模块?

Lek*_*eyn 3 kernel iptables kernel-modules

由于各种原因,我已经构建了一个支持可加载模块的内核,其中之一是无需重新启动即可编译和加载模块的可能性。当我需要一个我没有在内核配置中启用的模块时,这应该很有用。

现在,有了像 nouveau 这样的驱动程序,只需转到源目录并运行make M=drivers/gpu/drm/nouveau. 如何在iptables不编译整个内核并重新启动的情况下构建更新的模块?甚至有可能吗?

Mat*_*Mat 6

只需转到您的内核源目录,进行所需的更改make,然后make modules_install.

这就是全部。

如果您只想构建一个特定模块,请使用:

make M=path/to/module/directory
Run Code Online (Sandbox Code Playgroud)

例如(来自内核顶级目录):

make M=fs/ext4
make M=fs/ext4 modules_install
Run Code Online (Sandbox Code Playgroud)

要激活更改的模块,您必须卸载然后重新插入它们。如果之前未加载该模块,则无需执行任何特殊操作。

请注意,您不能以这种方式将某些内容从内置更改为模块(需要重新启动),并且某些模块可能具有需要更改内置配置的依赖项 - 您也需要为此重新启动。