Не работают примеры из Linux Device Drivers

Модератор: Модераторы разделов

sjdr
Сообщения: 4

Не работают примеры из Linux Device Drivers

Сообщение sjdr »

Подскажите как скомпилировать эти модули ядра.
http://examples.oreilly.com/linuxdrive2/ld...es-1.0.1.tar.gz
Не работает ничего, даже Hello, world.
Спасибо сказали:
Аватара пользователя
d_Sun
Сообщения: 291

Re: Не работают примеры из Linux Device Drivers

Сообщение d_Sun »

sjdr писал(а):
02.12.2005 09:49
Подскажите как скомпилировать эти модули ядра.
http://examples.oreilly.com/linuxdrive2/ld...es-1.0.1.tar.gz
Не работает ничего, даже Hello, world.


Так не компилится или не работает? :)
Моя подпись сильно длинная :)
Спасибо сказали:
sjdr
Сообщения: 4

Re: Не работают примеры из Linux Device Drivers

Сообщение sjdr »

d_Sun писал(а):
02.12.2005 11:20
sjdr писал(а):
02.12.2005 09:49

Подскажите как скомпилировать эти модули ядра.
http://examples.oreilly.com/linuxdrive2/ld...es-1.0.1.tar.gz
Не работает ничего, даже Hello, world.


Так не компилится или не работает? :)


Не компилится.
Спасибо сказали:
Аватара пользователя
d_Sun
Сообщения: 291

Re: Не работают примеры из Linux Device Drivers

Сообщение d_Sun »

sjdr писал(а):
02.12.2005 14:19
d_Sun писал(а):
02.12.2005 11:20

sjdr писал(а):
02.12.2005 09:49

Подскажите как скомпилировать эти модули ядра.
http://examples.oreilly.com/linuxdrive2/ld...es-1.0.1.tar.gz
Не работает ничего, даже Hello, world.


Так не компилится или не работает? :)


Не компилится.


Посмотрите здесь:

http://www.opennet.ru/docs/RUS/lkmpg26/#CO...NGKERNELMODULES
Моя подпись сильно длинная :)
Спасибо сказали:
sjdr
Сообщения: 4

Re: Не работают примеры из Linux Device Drivers

Сообщение sjdr »

Переписал всё по этой ссылке http://www.opennet.ru/docs/RUS/lkmpg26/#CO...NGKERNELMODULES.

Код

Пример 2-1. hello-1.c

/*
* hello-1.c - Простейший модуль ядра.
*/
#include <linux/module.h> /* Необходим для любого модуля ядра */
#include <linux/kernel.h> /* Здесь находится определение KERN_ALERT */

int init_module(void)
{
printk("<1>Hello world 1.\n");

/*
* Если вернуть ненулевое значение, то это будет воспринято как признак ошибки,
* возникшей в процессе работы init_module; в результате модуль не будет загружен.
*/
return 0;
}

void cleanup_module(void)
{
printk(KERN_ALERT "Goodbye world 1.\n");
}


Makefile

obj-m += hello-1.o



Команда

make -C /usr/src/linux-`uname -r` SUBDIRS=$PWD modules



С такой командой даже не находит папку с линуксом. Когда я поставил вместо `uname -r` свою версию линукса, получается полно ошибок при компиляции.
Спасибо сказали:
Аватара пользователя
flook
Сообщения: 585
Статус: Просто flook

Re: Не работают примеры из Linux Device Drivers

Сообщение flook »

-D__KERNEL__ надо добавить
В каждом из нас спит гений... и с каждым днем все крепче...
Спасибо сказали:
Аватара пользователя
d_Sun
Сообщения: 291

Re: Не работают примеры из Linux Device Drivers

Сообщение d_Sun »

sjdr вы кстати книгу то саму читали? :) Там все подробно расписано!!!
Моя подпись сильно длинная :)
Спасибо сказали: