您的内核必须已经启用这些选项进行了编译:
Loadable module support --->
[*] Enable loadable module support
[*] Module unloading
[ ] Module versioning support
(EXPERIMENTAL)
[*] Automatic kernel module
loading
如果按照第一篇教程中的说明编译内核,那么就已经正确地设置了这些选项。否则,修改这些选项,重新编译内核,并引导到新内核。
一个简单的模块骨架
首先,找到编译当前 Linux 内核的源代码。将目录切换到 Linux 源代码目录中的
drivers/misc/。现在,拷贝下面的代码并将其粘贴到一个名为 mymodule.c 的文件:
#include
#include
static int __init mymodule_init(void)
{
printk ("My module worked!\n");
return 0;
}
static void __exit mymodule_exit(void)
{
printk ("Unloading my module.\n");