Linux内核重编译后无法加载acpi_call问题解决

09/23/2012

Kaijia之前写过《Ubuntu使用acpi_call关闭独立显卡》,介绍了如何通过向Linux内核中加入acpi_call模块以关闭独立显卡。最近在Ubuntu 12.04.1发布时更新内核后发现acpi_call在启动时无法自动加载(我的rc.local文件中还启动svnserve,无法加载的表现是SVN服务器也没有启动)。

Kaijia尝试手动加载acpi_call,返回了一个提示“-1: Invalid argument”,简单的判断是每次升级内核时都需要重新编译acpi_call模块,方法如下:

在你通过系统更新升级完Linux内核后重启,再次进入系统后在终端下运行如下代码(其中/usr/src/acpi-call-版本号/是你放置acpi_call源码的位置):

以上代码根据新的内核重新编译生成并且载入新的acpi_call.ko,重新编译后的模块不会出现“Invalid argument”问题。

之后可以重启一下系统:

发现每次通过apt-get dist-upgrade升级内核后都需要重新编译acpi_call,具体原因Kaijia会继续研究,大家每次更新内核后别忘了重新编译模块啦。