module 만들기.
Module을 새로 작성할때 두가지가 필요하다.
-
Makefile
-
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