здравствуйте! помогите пожалуйста с такой проблемой:
пытаюсь написать простейший модуль для Mops Linux ядро 2.6.12исходник модуля такой
/////////////////////////////////
#define MODULE
#define __KERNEL__
#include <linux/module.h>
int init_module()
{
return 0;
}void cleanup_module()
{
return;
}
//////////////////////////////собирал все это хозяйство с помощью майкфайла следующего содержания
/////////////////////////////
CC=gcc
MODFLAGS:= -O3 -Wall -DLINUX
module.o: module.c
$(CC) $(MODFLAGS) -c module.c
///////////////////////////
после получения файла модуля попытался загрузить его, но меня
операционка послала со следующими словами:
insmod: error inserting 'module.o': -1 Invalid module formatПомогите кто чем может!!!
Спасибо.
http://www.opennet.me/docs/RUS/lkmpg26/
Привет. Я думаю, что ты его неправильно скомпилировал, а такой вывод я сделал исходя из того, что модули в 6-м ядре имеют расширение .ko, а в 4-м .o. Исходя из этого, ты скомпилировал модуль для 4 ядра. В 6 ядре поменялась схема компиляции модулей.
Попробуй такMakefile:
obj-m := module.oкомпилируй коммандой
make -C /usr/src/v2.6/linux-2.6.1/ SUBDIRS=`pwd` modulesтолько поменяй путь к твоим исходникам ядра. module.o замени на название твоего файла, в котором код модуля, например driver.o
Если не получиться, пиши мне не e-mail, я вышлю тебе готовый работающий маленький модуль с Makefile-ом
yash@list.ru
Удачи!