/ lib / modules / <version>/ build / не существует - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь написать очень простой пример драйвера устройства "Hello World", который преподается в любом вводном курсе по реализации драйверов устройств. Мой make-файл выглядит следующим образом:

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 голосов
/ 18 января 2019

Это потому, что вы еще не загрузили заголовки linux вашей конкретной версии ядра.

Предполагая, что ваша версия ядра 4.15.0-32-generic, установите необходимые заголовочные файлы, используя sudo apt install linux-headers-4.15.0-32-generic

В вашем случае вы можете получить его по yum install kernel-devel kernel-headers

...