Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание модулей ядра, почему-то модули не создаются 
:(
    Опции темы
Elfius
  Дата 28.4.2008, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.4.2008

Репутация: нет
Всего: нет



Здравствуйте! 
Требуется помощь в конфигурировании ядра Linux.
У меня стоит ядро Linux Kernel 2.4.20-8. Учусь создавать модули для ядра. 
Я попробовала скомпилить пример отсюда 
http://www.opennet.ru/base/dev/dev_l...dules.txt.html
Но возникло собщение: 'The present kernel configuration has modules disabled. Type 'make config' and enable loadable module support'.
Затем я переконфигурировала ядро уже с поддержкой модулей. И когда я задаю команду make (как сказано в этом примере создания модулей ядра) появляется следующее: 
make -C /lib/modules/2.4.20-8/build M=/root/hello_proc modules 
make[1]: Вход в каталог `/usr/src/linux-2.4.20-8'
make -r -f tmp_include_depends all 
make[2]: Вход в каталог `/usr/src/linux-2.4.20-8'
make[2]: циклическая зависисмость пропущена, цель 'modules' не трубует выполнения и так далее и так далее. В результате никакой файл в директории /proc не создается! 
Объясните пожалуйста в чем дело
PM MAIL   Вверх
Любитель
Дата 29.4.2008, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 4
Всего: 92



Во-первых, зачем тебе ядро 2.4?


--------------------
PM MAIL ICQ Skype   Вверх
Elfius
Дата 29.4.2008, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.4.2008

Репутация: нет
Всего: нет



В смысле зачем? 
Какое есть, таким и пользуюсь. 
Я полагаю, не в  этом проблема.
PM MAIL   Вверх
MAKCim
Дата 29.4.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 21
Всего: 207



Elfius
покажите Makefile и код модуля


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Elfius
Дата 29.4.2008, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.4.2008

Репутация: нет
Всего: нет



Спасибо, что откликнулись, сейчас я поподробнее опишу. 
Вот код модуля:
Код

/*  
 *  hello.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.o 
В терминале я ввожу команду: make -C /usr/src/linux-`uname -r` SUBDIRS=$PWD modules 
В результате вот такая ошибка: 
user posted image 
PM MAIL   Вверх
bilbobagginz
Дата 29.4.2008, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



судя по тексту ошибки, 
Цитата(Elfius @  28.4.2008,  23:01 Найти цитируемый пост)
Но возникло собщение: 'The present kernel configuration has modules disabled. Type 'make config' and enable loadable module support'.

ваше бегущее ядро не имеет включенного механизма загрузки модулей.
поэтому сборка модуля под это ядро не получается.
судя по той же ошибке, вам нужно сконфигурировать сначала ядро поддерживать загружаемые модули, т.е. loadable modules, с помощью запуска команды:
make config
в корневом каталоге исходников ядра.
в процессе этой команды вас будут спрашивать вопросы, и в одном из них будет вопрос связаный с loadable kernel modules.
это нужно ВКЛЮЧИТЬ.
если вас интересует только скомпилировать модуль, не загружая яго, можно тут остановиться, и начать собирать свой модуль.
но при попытке загрузки вы получите по голове той же ошибкой, 
поэтому вам лучше собрать новое своё ядро, перезагрузить систему, и только тогда вы сможете и компилировать, и загружать свои модули.

на моем ядре (но это - 2.6.18 )
присутствуют сл. опции в .config файле:
Код

CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y

думаю первой опции должно быть достаточно.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Elfius
Дата 30.4.2008, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.4.2008

Репутация: нет
Всего: нет



Цитата(bilbobagginz )

ваше бегущее ядро не имеет включенного механизма загрузки модулей.

Нет =( Я уже включила все эти опции связанные с модульностью, пересобрала ядро, перезагрузилась. 
Цитата

Затем я переконфигурировала ядро уже с поддержкой модулей.

И вот такая вот ерунда (на скрине) 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0875 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.