【问题标题】:/lib/modules/<version>/build/ not existent/lib/modules/<版本>/build/ 不存在
【发布时间】:2019-01-16 10:28:13
【问题描述】:

我正在尝试编写一个非常基本的“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 发现有一个目录 build 但是如果我使用 ls 命令,它会以红色打印,这意味着该目录已被弃用。它包含一个指向 ../../../usr/src/version_no 的链接,但令我惊讶的是,该链接中的版本号和 /usr/src/ 中实际文件夹的名称并不相同。谁能指出是什么问题?我正在使用 centos 6.1。

【问题讨论】:

    标签: centos linux-device-driver


    【解决方案1】:

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

    假设你的内核版本是4.15.0-32-generic,使用sudo apt install linux-headers-4.15.0-32-generic安装所需的头文件

    在您的情况下,您可以通过 yum install kernel-devel kernel-headers

    【讨论】:

    • 更新了答案
    猜你喜欢
    • 2016-08-09
    • 2013-05-17
    • 2021-09-22
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多