简单设备驱动程序不工作

时间:2013-08-18 17:34:43

标签: c linux ubuntu libraries

我正在编写一个带代码的基本设备驱动程序

#define MODULE
#include<linux/module.h>

int init_module(void){
    printk("<1>Hello World!!!\n");
    return 0;
}

void cleanup_module(void){
    printk("<1>Goodbye cruel world");

}

在Ubuntu, 这是一个错误:

linux/module.h no such file or directory.

2 个答案:

答案 0 :(得分:0)

这是因为缺少针对Linux内核编译此代码所需的Linux内核头文件 使用此命令安装它:

 sudo apt-get install linux-headers-$(uname -r)

(阅读此question)。

答案 1 :(得分:0)

我也是设备驱动程序的初学者,据我所知,我们需要linux-source-treelinux-kernel来编译驱动程序模块。

首先检查generic-header文件夹中安装的/usr/src,然后通过此命令安装源代码树

sudo apt-get update
sudo apt-get install linux-tree

,您的问题将得到解决。

更多信息:

如果您安装了超过1标题,我建议您使用最新标题。您可以通过此命令卸载以前的标题

sudo apt-get autoremove

此命令删除由其他软件包安装但不再需要的软件包。

我希望这会对你有所帮助。