Решил научиться писать модули ядра. Взял из руководства вот такой код:
#define MODULE
#define _KERNEL_
#include <linux/module.h>
#include <linux/kernel.h>
int init_module() {
printk("Start\n");
return 0;
}
void cleanup_module() {
printk("Stop\n");
}
Компилирую:
gcc -O3 -Wall -DLINUX -D__KERNEL__ -I/usr/include -I/usr/src/linux/include test.c -c -o test.o
Загружаю:
insmod test.o
insmod: error inserting 'test.o': -1 Invalid module format
Вопрос почему так происходит и что с этим делать.
Заранее благодарен за помощь.
Модуль ядра
Модератор: Модераторы разделов
-
MauS
- Сообщения: 4
Re: Модуль ядра
Вероятно вы пытаетесь загрузить модуль формата linux-2.4 в ядро linux-2.6.
Как сие поправить точно не помню, но необходимые сведения можно почерпнуть, например, из книжки Linux Device Drivers третьего издания. В сети она есть.
Как сие поправить точно не помню, но необходимые сведения можно почерпнуть, например, из книжки Linux Device Drivers третьего издания. В сети она есть.