如何正确地重新加载内核模块?

如何正确地重新加载内核模块?

相关问题

我无法重新加载内核模块来尝试新标志。
示例:thinkpad_acpi默认为不带fan_control=1.因此,如果我的计算机运行得非常热并且风扇没有全速运转,有时可以暂时加载模块并将fan_control风扇设置为尽可能最高的速度几分钟,然后将所有内容更改回正常状态。
这是不可能的,因为似乎某些内核模块依赖于其他模块,并且现代 Linux 内核似乎正在检查这一点。
那么到目前为止我做了什么:

  • 检查依赖关系
    • modinfo -F depends thinkpad_acpi
  • 尝试卸载这些模块
    • rmmod或者modprobe -r $dependencies
    • 有些模块再次依赖于其他模块,也尝试卸载它们。不起作用,即使没有“依赖关系”(或者至少 modinfo 告诉我这一点)
  • 谷歌很多modprobe: FATAL: Module x is in use.
  • 阅读tldp

答案1

如果在内核中启用了强制卸载(zgrep FORCE_UNLOAD /proc/config.gz如上所示=y),您可以rmmod -f对有问题的内核模块进行强制卸载。

根据启用此功能的补丁,这仅适用于内核开发人员和绝望的人。

最好的方法可能是弄清楚模块被使用的原因以及通过哪个过程,但至少强制卸载应该可以再次重新加载模块。

相关内容