在启动时加载内核模块

在启动时加载内核模块

我有一台英特尔 NUC,并且我编写了一个内核扩展来控制 LED。它已在(与 匹配) 创建了一个.ko文件。手动加载扩展效果很好:/lib/modules/4.15.0-38-generic/updates/dkms/nuc_led.kouname -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

相关内容