14. 加载相关模块

检查以确保您的机器启动后已加载所有 ACPI 模块。您可以使用命令 lsmod 来执行此操作。您正在查找以下选项:button、battery、fan、ac、thermal 和 processor。如果您在编译内核时选择 "Y" 而不是模块,您将看不到此列表。我的计算机上的输出如下所示

Module                  Size  Used by    Tainted: P  
button                  2420   0 (unused)
battery                 5960   0 (unused)
ac                      1832   0 (unused)
fan                     1608   0 (unused)
thermal                 6664   0 (unused)
processor               8664   0 [thermal]
NVdriver              945408  11 

最后一个模块是我的显卡,它使用专有驱动程序。这就是为什么我在顶行 Tainted 旁边有一个 "P" 的原因。

如果您将 ACPI 支持编译为 "M"odules 并且您没有看到列出的 ACPI 模块,则需要手动加载模块。模块应该在/lib/modules/<version>. <date>/kernel/drivers/acpi/,并且如下所示

-rw-r--r--    1 root     root         4.1k Jun  3 23:57 ac.o
-rw-r--r--    1 root     root         9.5k Jun  3 23:57 battery.o
-rw-r--r--    1 root     root         5.2k Jun  3 23:57 button.o
-rw-r--r--    1 root     root         3.7k Jun  3 23:57 fan.o
-rw-r--r--    1 root     root          14k Jun  3 23:57 processor.o
-rw-r--r--    1 root     root          11k Jun  3 23:57 thermal.o
-rw-r--r--    1 root     root         6.2k Jun  3 23:57 toshiba_acpi.o

Note模块的扩展名
 

模块名称是之前的部分.o模块文件名的扩展名。processor.o是文件,而 processor 是模块名称。要安装可加载的内核模块,请使用:insmod processor

2.4.x 系列内核使用扩展名.o;但是,2.6.x 系列内核使用扩展名.ko.

第一次重启时,我手动加载了所有模块,输入 insmod <modulename>。我个人首先加载 processor 模块,尽管对于顺序是否重要存在争议。

Note操作系统电源管理 (OSPM)
 

我第一次尝试时,模块都在单独的目录中,并且名为 ospm_<name>。这可能是因为我使用的是旧补丁,但这是需要注意的事项。OSPM 模块现在已被弃用,所以希望您不会再看到它们。

为了避免每次重启都必须加载模块,您可以做两件事之一:将它们直接编译到内核中(虽然现在有点晚了,是吧?),或者将它们添加到您的/etc/modules文件。如果您还没有该文件的副本,请创建一个新文件,并在单独的行中添加每个模块名称(记住,没有 .o)。您也可以尝试运行 update-modules,它应该会自动更新您的/etc/modules.conf配置文件。