如何在系统启动时加载内核模块

时间:2017-05-20 15:07:10

标签: linux linux-kernel kernel-module

系统启动时无法加载内核模块。我发现有一篇文章建议我尝试以下步骤:

(a)为kmodule(我创建的模块)创建目录:
# mkdir -p /lib/modules/$(uname -r)/kernel/drivers/mymodule

(b)将kmodule复制到该目录:
# cp kmodule.ko /lib/modules/$(uname -r)/kernel/drivers/mymodule/

(c)编辑/etc/modules file并在其中添加一条包含模块名称的行。在我的情况下,它是kmodule,如下所示:
# vi /etc/modules

1 # /etc/modules: kernel modules to load at boot time.
2 #
3 # This file contains the names of kernel modules that should beloaded
4 # at boot time, one per line. Lines beginning with "#" are ignored.
5 kmodule

(d)重新启动系统以查看更改。使用lsmod命令检查模块是否已加载。
# lsmod | grep kmodule

我的问题:当我重启系统和使用cmd $ cat /var/log/syslog | grep kmodule进行调试时,它没有加载。

我发现了这个:

May 20 15:40:14 SARATHI kernel: [17499.486762] kmodule: loading out-of-tree module taints kernel.
May 20 15:40:14 SARATHI kernel: [17499.486800] kmodule: module verification failed: signature and/or required key missing - tainting kernel
May 20 19:31:46 SARATHI systemd-modules-load[243]: Failed to find module 'kmodule'

这是什么意思?如何解决?

注意:我是内核模块的新手,我正在使用Ubuntu 16.04。另请注意,当我使用insmod cmd手动加载时,它已成功加载。

0 个答案:

没有答案