![在启动时加载内核模块](https://linux22.com/image/906658/%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E5%8A%A0%E8%BD%BD%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97.png)
我有一台英特尔 NUC,并且我编写了一个内核扩展来控制 LED。它已在(与 匹配) 创建了一个.ko
文件。手动加载扩展效果很好:/lib/modules/4.15.0-38-generic/updates/dkms/nuc_led.ko
uname -r
sudo modprobe wmi
sudo insmod /lib/modules/4.15.0-38-generic/updates/dkms/nuc_led.ko
echo 'ring,80,blink_medium,green' | sudo tee /proc/acpi/nuc_led > /dev/null
这有效。
但是,目前启动时未加载扩展。我想在rc.local
和中输入打开和关闭 LED 的命令rc6.d/
,但这些命令不起作用,我必须modprobe
手动运行命令,即使这样,我的文件rc6.d/
(如下所示)也不起作用 - LED 仍然亮着。
我究竟做错了什么?
$ cat /etc/rc6.d/zz_led_off.sh
#! /bin/bash
echo 'ring,0,none,off' | sudo tee /proc/acpi/nuc_led > /dev/null
$ ls -la /etc/rc6.d/zz_led_off.sh | grep zz
-rwxr-xr-x 1 root root 79 Nov 9 10:07 zz_led_off.sh
答案1
将模块添加到/etc/modules
,在本例中,添加以下两行:
wmi
nuc_led