Kernel Modules
5 отговора
0 прегледа
Kernel Modules
Опитвам се да компилирам един "Hello World" Kernel Module но ми излиза:
make -C /lib/modules/2.6.18-4-686/build M=/home/dimitar/Desktop/Kernel Modules modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.18-4-686'
make[1]: *** No rule to make target `Modules'. Stop.
make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-4-686'
make: *** [all] Error 2
Имам Linux Headers a също така компилирах ndiswrapper който в себе си съдържа модул.
Файлове:
hello-1.c
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
printk(KERN_INFO "Hello world 1.\n");
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1.\n");
}
makefile
obj-m += hello-1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
make -C /lib/modules/2.6.18-4-686/build M=/home/dimitar/Desktop/Kernel Modules modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.18-4-686'
make[1]: *** No rule to make target `Modules'. Stop.
make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-4-686'
make: *** [all] Error 2
Имам Linux Headers a също така компилирах ndiswrapper който в себе си съдържа модул.
Файлове:
hello-1.c
#include <linux/module.h>
#include <linux/kernel.h>
int init_module(void)
{
printk(KERN_INFO "Hello world 1.\n");
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1.\n");
}
makefile
obj-m += hello-1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Re: Kernel Modules
Пробвай да сложиш $(PWD) в (двойни) кавички. Или най-добре си преименувай директорията да няма интервали в името й.
П.П. Не знам откъде си го гледал този пример за модул, но не е верен.
The generation of random numbers is too important to be left to chance.
П.П. Не знам откъде си го гледал този пример за модул, но не е верен.
The generation of random numbers is too important to be left to chance.
Редактирано от | на
Re: Kernel Modules
[линк] Пишеше го поне на още 5-6 места та предположих че е вярно
. Иначе се оправи.
Големи благодарности!
Големи благодарности!
Re: Kernel Modules
[линк] показва новия (и правилен ;) метод за писане на модули :)
The generation of random numbers is too important to be left to chance.
The generation of random numbers is too important to be left to chance.
Re: Kernel Modules
Нали разбираш че това дето си ми го дал е едно и също. Двата Makefile съвпадат.
Re: Kernel Modules
Разликата не е в makefile, а C кода.
The generation of random numbers is too important to be left to chance.
The generation of random numbers is too important to be left to chance.