/ lib / modules / <版本> / build /不存在

时间:2019-01-16 10:28:14

标签: centos linux-device-driver

我正在尝试编写一个非常基本的“ Hello World”设备驱动程序示例,该示例将在任何设备驱动程序实现入门课程中进行教授。我的makefile如下:

obj-m := hello.o

KDIR := /lib/modules/$(shell uname -r)/bulid

PWD := $(shell pwd)

all:
 make -C $(KDIR) M=$(PWD) modules

当我使用make命令时,它表明/ lib / modules / version_no / build /不存在。因此,我进入目录/ lib / modules / version_no,发现存在一个目录构建,但是如果使用ls命令,它将以红色打印,这意味着该目录已被弃用。它包含一个指向../../../usr/src/version_no的链接,但令我惊讶的是,该链接中的版本号与/ usr / src /中的实际文件夹名称并不相同。谁能指出这是什么问题?我正在使用centos 6.1。

1 个答案:

答案 0 :(得分:1)

这是因为您尚未下载特定内核版本的linux标头。

假设您的内核版本为4.15.0-32-generic,请使用sudo apt install linux-headers-4.15.0-32-generic

安装所需的头文件。

您可以通过以下方式获得它 yum install kernel-devel kernel-headers