内核模块实验
一、虚拟机Ubuntu16.04中的Helloworld内核模块
a)实验环境
Ubuntu16.04+ 4.15.143-36-generic
b)编写模块
Helloword.c
从2.4.10版本内核开始,模块必须通过MODULE_LICENSE宏声明此模块的许可证,否则在加载此模块时,会收到内核被污染 “kernel tainted” 的警告。从linux/module.h文件中可以看到,被内核接受的有意义的许可证有 “GPL”,“GPL v2”,“GPL and additional rights”,“Dual BSD/GPL”,“Dual MPL/GPL”,“Proprietary”。
c)编写Makefile文件
d)编译文件
e)加载模块并且运行
查看日志:
Sudo dmesg
f)卸载模块
查看日志:
二、FS4412 中的Helloworld内核模块
a)实验环境
Fs4412 + linux 3.14-fs4412
b)编写模块
Hello.c
Math.c:
c)编写Makefile文件
d)编译文件
e)加载模块并且运行
f)卸载模块