【Linux】内核模块开发

https://zhuanlan.zhihu.com/p/420194002

Linux 内核模块开发,首先需要下载和Linux系统内核相匹配的内核文件。
国内Linux内核下载镜像

Linux 内核文件编译(这步不需要,走弯路了)
Linux内核编译很简单,6步编译一个自己的内核
编译安装linux内核

这个博客讲vim和gcc编译c文件
VMware下安装Ubuntu系统并编译运行C语言程序

【linux环境下】【C语言编译】【使用makefile】【详细版】

在内核模块中使用printk()函数输出信息,而不是使用printf()等C语言标准库函数。

编写内核模块makefile和普通的不一样,需要按照一下格式:

make 时报的错
makefile里要用tab,不能用空格
一个函数在没有参数的情况下没有赋参数void

查看已经存在的mod:lsmod
删除mod:rmmod modname
将编译好的mod加载进去:sudo insmod hello.ko
查看内核日志,最后为新模块产生的日志:dmesg
看最近的内核日志:dmesg | tail
实时监视内核日志的变化,并输出最新的日志信息:tail -f /var/log/kern.log
删除make产生的所有文件:make clean

赞赏