我正在编写一个带代码的基本设备驱动程序
#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.
答案 0 :(得分:0)
这是因为缺少针对Linux内核编译此代码所需的Linux内核头文件 使用此命令安装它:
sudo apt-get install linux-headers-$(uname -r)
(阅读此question)。
答案 1 :(得分:0)
我也是设备驱动程序的初学者,据我所知,我们需要linux-source-tree
和linux-kernel
来编译驱动程序模块。
首先检查generic-header
文件夹中安装的/usr/src
,然后通过此命令安装源代码树
sudo apt-get update
sudo apt-get install linux-tree
,您的问题将得到解决。
更多信息:
如果您安装了超过1
标题,我建议您使用最新标题。您可以通过此命令卸载以前的标题
sudo apt-get autoremove
此命令删除由其他软件包安装但不再需要的软件包。
我希望这会对你有所帮助。