LINUX.ORG.RU

Kernel module


0

0

Помогите понять, где грабли.

Вот простейший модуль. /* hello.c*/ #include <linux/kernel.h> #include <linux/module.h>

int init_module(void) { printk("(1)Hello, world\n"); return 0; }

void cleanup_module(void) { printk("Goodbye, cruel world\n"); }

К нему простейший Makefile CC = gcc CFLAGS := -Wall -DMODULE -D__KERNEL__

hello.o: $(CC) $(CFLAGS) -c hello.c

Делаем make # insmod hello.o hello.o: kernel-module version mismatch hello.o was compiled for kernel version 2.4.20 while this kernel is version 2.4.22-1.2174.nptl.asp.

Вопрос: Какого болта ? Что я не так делаю ?

★★

Черт... дубль номер 2. Преформатет текст...

Помогите понять, где грабли.

Вот простейший модуль.
/* hello.c*/
#include <linux/kernel.h>
#include <linux/module.h>

int init_module(void) {
printk("(1)Hello, world\n");
return 0;
}

void cleanup_module(void) {
printk("Goodbye, cruel world\n");
}


К нему простейший Makefile
CC = gcc
CFLAGS := -Wall -DMODULE -D__KERNEL__

hello.o:
	$(CC) $(CFLAGS) -c hello.c


Делаем
make
# insmod hello.o 
hello.o: kernel-module version mismatch
        hello.o was compiled for kernel version 2.4.20
        while this kernel is version 2.4.22-1.2174.nptl.asp.


Вопрос: Какого болта ? Что я не так делаю ?

KirG0FF ★★
() автор топика
Ответ на: комментарий от KirG0FF

У тебя в кернеле опция проверки номеров модулей включена.
Тоесть ядро не будет грузить дрова не скомпиленые под твою версию ядра.


В общем с точки зрения безопасности это хорошо.

Aleks_IZA
()

Вставь это где-нибудь, должно помочь... :-)

MODULE_LICENSE("GPL");

karak
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.