LINUX.ORG.RU

kernel 2.6 module problem


0

0

Сделал простейший моhelloow world с priдуль для ядра 2.6 ntk();

делаю insmod test.ko всё ок printk() срабатывает

делаю rmmod test - пишет ошибку, ресурс занят, почему так?

anonymous
Ответ на: комментарий от rei3er

нет, в примерах его не видел ни разу

anonymous
()
Ответ на: комментарий от rei3er

#include <linux/uaccess.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kdev_t.h>
#include <linux/fs.h>
#include <linux/cdev.h>

MODULE_LICENSE( "Dual BSD/GPL" );


static unsigned char device_name[100] = "my_device\0"; 
static int device_count = 10;
static dev_t device_number;
static struct cdev *my_cdev = NULL;
static unsigned char my_buf[100];
static size_t my_buf_size = 0;



static int __init hello_init( void ) {
    int result = 0;
    
    printk( KERN_ALERT "Privet moy dikiy mir hello_init\n" );

	printk( "test hello init %d\n", result );

	return( 0 );
}

static void __exit hello_exit( void ) {

	printk( KERN_ALERT "Privet moy dikiy mir hello_exit\n" );

	printk( "test hello exit\n" );

	return;
}

module_init( hello_init );
module_exit( hello_exit );

anonymous
()
Ответ на: комментарий от anonymous

У меня всё ок..
Кстати, а зачем там много глобальных непонятно зачем нужных переменных в начале объявлено?

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

Makefile:

    obj-m := test.o

компиляция:

#!/bin/sh
#

make -C /usr/src/linux-source-2.6.18 M=drivers/char/my_drv clean

make -C /usr/src/linux-source-2.6.18 M=drivers/char/my_drv -Wall modules 2>err.log

anonymous
()
Ответ на: комментарий от anonymous

Ну, собственно, у меня

Makefile:

obj-m += nw.o

mk:

#!/bin/bash
make -w -C /usr/src/linux M=`pwd` modules

mk запускается из каталога с исходником модуля. Имя исходника nw.c

Но вроде как и у тебя всё нормально... не знаю даже чего и посоветовать..

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

Заработало после установки ядра 2.6.18-6-486 из репозитария etch

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