Проблема при компиляции LKM
Добавлено: 23 ноя 2006, 11:12
Здравствуйте,
учусь писать модули ядра. На первой же проге возникла проблема. При компиляции Hello world выскакивает такая ошибка: #invalid kernel header included in userspace.
лазил в сети, в архиве одного форума нашел совет подправить симлинки:
/usr/include/linux -> <kernel>/include/linux
/usr/include/asm -> <kernel>/include/asm
С 2.6 еще
/usr/include/asm-generic -> <kernel>/include/asm-generic
Сделал, теперь при компиляции выдает огромное количество других ошибок, все перечислять не имеет смысла.
ОС - ALTLinux Compact, ядро 2.6
текст проги hello.c:
-----------------------------------
#include <linux>
#include <linux>
int init_module(void) {
printk ("hello\n");
return 0;
}
void cleanup_module (void){
printk ("Bye");
}
module_init (init_module);
module_exit (cleanup_module);
MODULE_LICENSE("GPL");
--------------------------------------
Компилирую так: gcc -c hello.c -o hello.o
учусь писать модули ядра. На первой же проге возникла проблема. При компиляции Hello world выскакивает такая ошибка: #invalid kernel header included in userspace.
лазил в сети, в архиве одного форума нашел совет подправить симлинки:
/usr/include/linux -> <kernel>/include/linux
/usr/include/asm -> <kernel>/include/asm
С 2.6 еще
/usr/include/asm-generic -> <kernel>/include/asm-generic
Сделал, теперь при компиляции выдает огромное количество других ошибок, все перечислять не имеет смысла.
ОС - ALTLinux Compact, ядро 2.6
текст проги hello.c:
-----------------------------------
#include <linux>
#include <linux>
int init_module(void) {
printk ("hello\n");
return 0;
}
void cleanup_module (void){
printk ("Bye");
}
module_init (init_module);
module_exit (cleanup_module);
MODULE_LICENSE("GPL");
--------------------------------------
Компилирую так: gcc -c hello.c -o hello.o