如何添加内核模块参数?

如何在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中( 如上所述 )。