#include <linux/init.h>
#include <linux/module.h>
static int __init hello_init(void)
{
printk("Hello Module insmod\n");
return 0;
}
static void __exit hello_exit(void)
{
printk("Hello Module rmmod\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("GUOGUO");
MODULE_DESCRIPTION("hello driver world module");
MODULE_ALIAS("hello_module");
Makefile
#内核源码树路径
KERN_DIR := /home/z/imax6ull/kernel
ARCH=arm
CROSS_COMPILE=arm-linux-gnueabihf-
export ARCH CROSS_COMPILE
#目标文件
obj-m += hellodriverworld.o
all:
$(MAKE) -C $(KERN_DIR) M=$(CURDIR) modules
.PHONY:clean
clean:
#$(MAKE) -C $(KERNEL_DIR) M=$(CURDIR) clean
rm -f *.o *.ko *.order *.symvers
要注意的是编译内核需要root用户权限,
其次是Makefile第一个字母一定是大写