![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Zaca |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 22.3.2012 Пользователь №: 3281 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Linux 2.6
QT Creator 2.4.1 При использовании Makefile KERNEL=$(shell if [ "`uname -r | grep 2.6.`" = "" ]; then echo "2" ; else echo "2.6"; fi) ifeq ($(KERNEL),2.6) #kernel 2.6 obj-m := driver_I.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) default: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules clean: $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean endif получаю на выходе модуль driver_I.ko, который я могу вставлять в ядро. Хотела для этих целей (линковать, компилировать) использовать IDE QT4 Создаю проект (простой проект нра языке С), собираю - на выходе стопицот ошибок. Подскажите, что не так делаю? Спасибо. |
|
|
![]() |
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
тут дело не в инклюдах. а в том, что модуль ядра должен собираться в каталоге /lib/modules/<версия ядра>/build. это должен быть линк на сорцы ядра (или хотя бы хэдеры). также в каталоге /lib/modules/<версия ядра>/ должен быть линк sources - также на сорцы ядра или хэдеры.
|
|
|
Zaca |
![]()
Сообщение
#3
|
Студент ![]() Группа: Новичок Сообщений: 12 Регистрация: 22.3.2012 Пользователь №: 3281 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
тут дело не в инклюдах. а в том, что модуль ядра должен собираться в каталоге /lib/modules/<версия ядра>/build. это должен быть линк на сорцы ядра (или хотя бы хэдеры). также в каталоге /lib/modules/<версия ядра>/ должен быть линк sources - также на сорцы ядра или хэдеры. Вроде все так и есть. решила собрать ядро в каталоге /lib/modules/<версия ядра>/build linux-awyp:/lib/modules/2.6.27.7-9-pae/build # make bzImage make -C /usr/src/linux-2.6.27.7-9 O=/usr/src/linux-2.6.27.7-9-obj/i386/pae/. bzImage Using /usr/src/linux-2.6.27.7-9 as source for kernel GEN /usr/src/linux-2.6.27.7-9-obj/i386/pae/Makefile CHK include/linux/version.h CHK include/linux/utsrelease.h CC arch/x86/kernel/asm-offsets.s In file included from /usr/src/linux-2.6.27.7-9/include/linux/gfp.h:4, from /usr/src/linux-2.6.27.7-9/include/linux/kmod.h:22, from /usr/src/linux-2.6.27.7-9/include/linux/module.h:13, from /usr/src/linux-2.6.27.7-9/include/linux/crypto.h:21, from /usr/src/linux-2.6.27.7-9/arch/x86/kernel/asm-offsets_32.c:7, from /usr/src/linux-2.6.27.7-9/arch/x86/kernel/asm-offsets.c:2: /usr/src/linux-2.6.27.7-9/include/linux/mmzone.h:197:5: warning: "MAX_NR_ZONES" is not defined In file included from /usr/src/linux-2.6.27.7-9/include/linux/gfp.h:4, from /usr/src/linux-2.6.27.7-9/include/linux/kmod.h:22, from /usr/src/linux-2.6.27.7-9/include/linux/module.h:13, from /usr/src/linux-2.6.27.7-9/include/linux/crypto.h:21, from /usr/src/linux-2.6.27.7-9/arch/x86/kernel/asm-offsets_32.c:7, from /usr/src/linux-2.6.27.7-9/arch/x86/kernel/asm-offsets.c:2: /usr/src/linux-2.6.27.7-9/include/linux/mmzone.h:221: error: ‘MAX_NR_ZONES’ undeclared here (not in a function) make[3]: *** [arch/x86/kernel/asm-offsets.s] Error 1 make[2]: *** [prepare0] Error 2 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 завалила систему...( |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 17.6.2025, 0:58 |