#linux #linux-kernel #kernel #kernel-module
#linux #linux-ядро #ядро #kernel-module
Вопрос:
Я пытаюсь запустить модуль ядра hello world, но его отображающий модуль.h отсутствует. но у меня есть модуль.h в /usr/src/linux.2.xx.xx/includes/.Пожалуйста, помогите мне, как установить этот путь?
Ответ №1:
Попробуйте выполнить следующее в вашей оболочке в каталоге с исходным кодом вашего модуля:
export KDIR=/usr/src/linux.2.xx.xx
make -C $KDIR M=`pwd`
Этот заголовок следует использовать через #include <linux/module.h>
Ответ №2:
попробуйте коснуться нового makefile, который кодирует, как показано ниже
ifneq ($(KERNELRELEASE),)
obj-m := hello.o
else
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
endif
- этот makefile должен иметь имя «Makefile»
- поместите его в тот же каталог, что и файл hello.c