2010-12-04 72 views
13

我创建了一个名为Hello.ko的自定义简单模块 我使用命令“insmod hello.ko”安装模块,我用“dmesg”检查它并且它正在工作,但是当我重新启动系统时,手动加载它。那么,我该如何自动加载我的自定义模块,以及我必须在何处放置hello.ko? 加载模块后,我想显示消息Hello World,直到我按Enter键。有谁能够帮助我?如何在Ubuntu的启动时加载自定义模块?

+0

当你说你想暂停并等待一个键时,你想在文本模式下在低级别启动消息中,或在X窗口系统启动之后,但在登录之前执行此操作吗?你真的需要这么做么,还是仅仅确认你的模块已经开始使用了?如果是后者,只需要打印一些消息并检查dmesg来说服自己在适当的时候加载。 – 2010-12-08 15:51:27

回答

8

将模块添加到/ etc/modules文件。

然后把模块放在你的/ lib/modules/kernelname目录下。

+0

mmmm我必须创建一个只需粘贴到该位置的文件夹吗? – Gonzalo 2010-12-04 22:55:20

+0

应该有一个正确名称的文件夹(类似/lib/modules/2.6.32-26-generic),只要将它放在那里即可。 – Swind 2010-12-04 23:10:36

11

此技术在Ubuntu 13.10上无法正常工作。所以经过几次尝试和错误尝试后,我结束了这个:

将我的内核模块复制到驱动程序目录。

$ sudo cp mymodule.ko /lib/modules/$(uname -r)/kernel/drivers/ 

将我的模块的简单名称添加到文件/ etc/modules中。您可以编辑该文件或只是将其附加到文件中,如下所示。

$ echo 'mymodule' | sudo tee -a /etc/modules 

更新模块依赖关系列表。

$ sudo depmod 

重新启动电脑,瞧,它的工作。

相关问题