【发布时间】:2015-12-10 18:31:02
【问题描述】:
长话短说,我在 Centos7 上,希望避免在内核模块被另一个模块替换之前加载它。我正在从无法更改 atm 的图像进行网络引导。所以除了内核参数我不能做任何修改。
我已经尝试过“modprobe.blacklist=kernelmodule”,但它似乎没有达到我想要的效果。如果我将通常在启动时加载的模块列入黑名单,即使“modprobe --show-config | grep black”将其显示为黑名单,它仍会加载。
我找到了另一种方法。如果我在启动时提供了无效参数,则不会加载模块。例如。如果我将“kernelmodule.blabla=yes”作为内核启动参数。但是这种方式甚至无法在启动后使用 modprobe 加载模块,因为它具有无效参数。有没有办法让内核忘记参数?或者也许有更好的方法?
【问题讨论】:
-
您是否尝试过在该模块上使用 insmod 而不是 modprobe?
-
参数在
/sys/module/<module>/parameters/<parameter>下共享,您可以随时更改它们,但并非所有模块都能处理并考虑更新的值。当然,您可以取消绑定或绑定任何模块,即使它已被编译。 -
该模块在加载之前似乎没有出现在 /sys/modules/ 中。不过,我能够对其进行安装。不敢相信我自己没想到 - 谢谢。
标签: linux linux-kernel centos kernel-module centos7