Автор Тема: Проблема при компиляции модуля ядра  (Прочитано 2058 раз)

Оффлайн ASM16d

  • Начинающий
  • *
  • Сообщений: 11
    • Email
Прошу помощи. Потребовалось написать простенький модуль ядра для своих нужд. Начал разбираться. В качестве пособия взял LDD. Все по мануалу. Имеем:
//файл hello_knz.c
#include <linux/kernel.h>
#include <linux/module.h>
int init_module(void)
{
    printk("<1>Hello, world\n");
    return 0;
};
    void cleanup_module(void)
{
    printk("<1>Good bye cruel world\n");
}
MODULE_LICENSE(“GPL”);

CC = gcc
FLAGS = -c -D__KERNEL__ -DMODULE
PARAM = -I/usr/include/linux-2.6.25-std-def/include

hello_knz.o: hello_knz.c
        $(CC) $(FLAGS) $(PARAM) -o $@ $^

при запуске make имеем:
gcc -c -D__KERNEL__ -DMODULE -I/usr/include/linux-2.6.25-std-def/include -o hello_knz.o hello_knz.c
hello_knz.c:3:26: error: linux/module.h: No such file or directory
hello_knz.c:13: error: stray ‘\342’ in program
hello_knz.c:13: error: stray ‘\200’ in program
hello_knz.c:13: error: stray ‘\234’ in program
hello_knz.c:13: error: stray ‘\342’ in program
hello_knz.c:13: error: stray ‘\200’ in program
hello_knz.c:13: error: stray ‘\235’ in program
hello_knz.c:13: warning: data definition has no type or storage class
hello_knz.c:13: warning: parameter names (without types) in function declaration
make: *** [hello_knz.o] Error 1

В чем проблема?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
hello_knz.c:3:26: error: linux/module.h: No such file or directory

Оффлайн ASM16d

  • Начинающий
  • *
  • Сообщений: 11
    • Email
Да, я вижу эту ошибку. Вопрос в том, как ее исправить? kernel-headers установлен. Что еще нужно?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Посмотрите спек rpm любого модуля, и сделайте по аналогии.