![在启动时交换模块](https://linux22.com/image/1131406/%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E4%BA%A4%E6%8D%A2%E6%A8%A1%E5%9D%97.png)
我正在尝试使用bbswitch 被黑进 T450s提到bumblebee-project/bbswitch 上的这个问题。它运行良好,现在我的 Nvidia 940m 卡可以正常关闭。
为了安装它,我make load
从它的根目录运行,执行以下命令:
-rmmod bbswitch
insmod bbswitch.ko
我现在想让该模块在启动时替换现有的 bbswitch 模块(而不是我必须调用的命令)。为此,我编写了以下modprobe.d
文件:
/etc/modprobe.d/50-bbswitch.conf
:
# Remove the old bbswitch
blacklist bbswitch
remove bbswitch
# Load the new bbswitch
install bbswitch.ko /bin/true
问题是它似乎没有加载新模块。运行时dmesg | grep bbswitch
我得到:
[ 8.357206] bbswitch: version 0.7
被破解的 bbswitch 版本号为 0.8。所以我的install bbswitch.ko /bin/true
线路实际上并没有加载模块。这意味着我的blacklist... remove...
线路没有卸载旧的 bbswitch 模块。
有人能解释一下如何做到这一点吗?
答案1
我可能误解了你的问题,但是为了在启动时使用,它需要位于 initrd(初始 RAM 磁盘)中。这并不难实现,但我做这些事情已经有一段时间了,所以你最好谷歌一下这些操作方法。