Linux内核重编译后无法加载acpi_call问题解决
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源码的位置):
1 2 3 |
cd /usr/src/acpi-call-版本号/ sudo make sudo insmod acpi_call.ko |
以上代码根据新的内核重新编译生成并且载入新的acpi_call.ko,重新编译后的模块不会出现“Invalid argument”问题。
之后可以重启一下系统:
1 |
sudo reboot |
发现每次通过apt-get dist-upgrade升级内核后都需要重新编译acpi_call,具体原因Kaijia会继续研究,大家每次更新内核后别忘了重新编译模块啦。
评论