/*
* hello-1.c - The simplest kernel module.
*/
#include <linux/module.h> /* Needed by all modules */
#include <linux/kernel.h> /* Needed for KERN_INFO */
int init_module(void)
{
printk(KERN_INFO "Hello world 1.\n");
/*
* A non 0 return means init_module failed; module can't be loaded.
*/
return 0;
}
void cleanup_module(void)
{
printk(KERN_INFO "Goodbye world 1.\n");
}
создание модуля
hello-1.c:
Код:
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
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
собственно изучаю по материалу из http://tldp.org/LDP/lkmpg/2.6/html/x121.html...
при выполнении make говорит что "make: Цель 'all' не требует выполнения команд.".... в чем трабла? собственно про то как писать мэйкфайлы я тоже не особо много знаю так что разобраться не смог. как понял make -c /path изменяет на другую директорию а вот потом не знаю что происходит M=$(PWD) modules ... PWD это вроде бы выдает текущую директорию....
буду рад любой инфе по теме)