최대 1 분 소요

Module을 새로 작성할때 두가지가 필요하다.

  1. Makefile

  2. source code.

——————- 1. Makefile ——————

obj-m :=test.o

KDIR :=/root/Work/linux-2.6.33.2

PWD :=$(shell pwd)

CC :=arm-linux-gcc

default:

$(MAKE) -C $(KDIR) SUBDIRS=$(PWD)

clean:

rm -f *.ko *.mod.* *.cmd *.o

rm -f Modules.symvers

rm -rf tmp_versions


————————2. source code-type1————–

#include <linux/module.h>

#include <linux/kernel.h>

int init_module(void)

{

return 0;

}

void cleanup_module(void)

{

…..

}


————————2. source code- type2 ————–

#include <linux/init.h>

#include <linux/module.h>

#include <linux/kernel.h>

static int xxxx=0;

static int __init init_device(void)

{

return 0;

}

static void __exit cleanup_module(void)

{

…..

}

module_init(init_device);

module_exit(cleanup_device);

MODULE_LICENSE(“sulac~~~”);

module_param(xxxx, int, 0000)

MODULE_PARM_DESC(xxxx, “wow xxxx”);


———————— 사용법.———————

insmod xxx.ko

insmod xxx.ko param=1

lsmod

rmmod xxx.ko