内核子系统
- 进程管理
- 内存管理
- 文件系统
- 网络协议
- 设备管理
代码
添加GPL
dmesg -C 清除信息
printk具有优先级,直接加宏就可以使用
比如printk(KERN_SON"hello");
makefile(会执行三遍)
ifneq ($(KERNELRELEASE),) #ifnotequal , 第一次相同(空=空),所以就跳转到else
obj-m:=hello.o # 第二次进来执行,第三次是进行链接生成ko文件
else
KDIR :=/lib/modules/$(shell uname -r)/build
PWD :=$(shell pwd)
all:
make -C $(KDIR) M=$(PWD) modules //这种是独立于内核外编译,还有另一种方式是编译到内核里面
clean:
rm -f *.ko *.o *.mod.o *.symvers *.cmd *.mod.c *.order
endif