brunch

skeleton device driver

by HJH

스켈레톤 디바이스 드라이버를 만들어 본다. ubuntu 18.04 tested.

test.c


#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");


Makefile


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 문으로 이해하면 편리하다.

그렇게 가르치고 있고.


keyword
매거진의 이전글kernel updating from vanilla-K