如何添加内核模块参数?
如何在Ubuntu 11.04中添加内核模块参数?
我可以使用/etc/module
文件吗? 如果有,怎么样?
/etc/modules
似乎由/etc/init/module-init-tools.conf
加载。 第一个参数是模块名称,其他参数是参数。 将以下内容添加到/etc/modules
似乎很好:
thinkpad_acpi fan_control=1
要在引导的早期阶段加载此模块并设置这些参数,请将上一行添加到/etc/initramfs-tools/modules
文件中。 更改该文件后,您需要重新生成ramdisk:
sudo update-initramfs -u
作为一种可能的替代方案,您可以尝试将选项添加到内核行(我没有自己测试过,但它似乎适用于像i915.modeset=1
设置。编辑/etc/default/grub
并找到该行使用GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
。将其替换为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thinkpad_acpi.fan_control=1"
要获取内核模块的选项列表:
modinfo -p thinkpad_acpi
这不适用于i915
,因为我必须运行:
modinfo i915 | grep ^parm
要获取模块参数的当前值,请运行:
sudo cat /sys/module/MODULE/parameters/PARAM
对于thinkpad_acpi
模块的fan_control
参数,您必须运行:
sudo cat /sys/module/thinkpad_acpi/parameters/fan_control
如果此函数返回错误,请检查模块是否已加载以及该选项是否存在。
使用/etc/modprobe.d/中的文件设置模块选项
/etc/modprobe.d/目录中的文件可用于将模块设置传递给udev,udev将使用modprobe在系统引导期间管理模块的加载。 此目录中的配置文件可以具有任何名称,因为它们以.conf扩展名结尾。 语法是:
/etc/modprobe.d/myfilename.conf --------------------------------------------------------- options modname parametername=parametervalue
例如:
/etc/modprobe.d/thinkfan.conf --------------------------------------------------------- # On ThinkPads, this lets the 'thinkfan' daemon control fan speed options thinkpad_acpi fan_control=1
来源: 内核模块 – ArchWiki
据我所知,您可以将上述方法用于在引导时自动加载的模块(以避免卸载和重新加载具有特殊参数的模块,因为这可能是驱动程序模块的情况),以及/etc/modules
文件对于在引导时未自动加载的模块。
使用Ubuntu 16.04,不能再在/etc/modules
包含内核模块参数。 在引导日志中生成错误,说它找不到“my_kernel_mod myparam = x”。
相反,需要在/etc/modules
只放入内核模块名称,并将选项放在/etc/modprobe.d/myfilename.conf中( 如上所述 )。