스켈레톤 디바이스 드라이버를 만들어 본다. ubuntu 18.04 tested.
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
•
static int hello_init(void)
{
printk("Hello, world \n");
return 0;
}
•
static void hello_exit(void)
{
printk("Goodbye, world\n");
}
•
module_init(hello_init);
module_exit(hello_exit);
• MODULE_LICENSE("Dual BSD/GPL");
obj-m := test.o
•
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
•
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
rm -rf *.ko
rm -rf *.mod.*
rm -rf .*.cmd
rm -rf *.o
기본은 C와 Makefile, 형태만 다른 main 문으로 이해하면 편리하다.
그렇게 가르치고 있고.