The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
написание модуля, !*! pashamozg, 07-Сен-06, 17:47  [смотреть все]
здравствуйте! помогите пожалуйста с такой проблемой:
пытаюсь написать простейший модуль для 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

Помогите кто чем может!!!
Спасибо.

  • написание модуля, !*! vic, 18:49 , 07-Сен-06 (1)
  • написание модуля, !*! yash, 15:37 , 17-Сен-06 (2)
    Привет. Я думаю, что ты его неправильно скомпилировал, а такой вывод я сделал исходя из того, что модули в 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
    Удачи!




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру