1.编译内核模块的编译器
\qquad 编译器:gcc 交叉编译器
2.编写编译内核模块的Makefile
\qquad
内部编译:内核模块的源文件放在内核源码中进行编译,需要修改内核中的kconfig,Makefile,make menuconfig
\qquad
静态编译:将内核模块编译进uImage中
\qquad
外部编译:将内核模块源文件放在内核源码外进行编译
\qquad
动态编译:编译生成动态模块xxx.ko
3.makefile文件的编写
KERNDIR := /home/linux/linux-3.10
PWD := $(shell pwd)
obj-m:=chrdevbase.o
all:
make -C $(KERNDIR) M=$(PWD) kernel_modules
clean:
make -C $(KERNDIR) M=$(PWD) clean
\qquad 然后就可以生成.ko模块文件。