Linux编写内核模块实例
本文演示了Linux加载内核模块(驱动)的过程,文中实验环境为CentOS 5.9 64bit。
1,准备工作
安装基础软件包
yum install kernel-devel.x86_64 gcc.x86_64 gcc-c++.x86_64
然后会在/usr/src/kernels/下面安装好内核源码包,最好把目录的名字改一下,以便能够与/lib/modules/$(uname -r)/目录相响应,避免/lib/modules/$(uname -r)/目录中有一些软链接找不到内核源码包位置
mv /usr/src/kernels/2.6.* /usr/src/kernels/$(uname -r)-x86_64
2,加入内核模块(驱动)
进入字符设备驱动目录
[root@localhost ~]# cd /usr/src/kernels/$(uname -r)-x86_64/drivers/char
[root@localhost char]# mkdir mycdev #建立驱动目录
[root@localhost char]# cd mycdev/
[root@localhost char]# cat /proc/devices #找一个未使用的字符设备主设备号,比如199,记好
[root@localhost mycdev]# vim mycdev.c #建立内核态设备驱动程序,内容见下方
[root@localhost mycdev]# vim Makefile #建立Makefile文件,内容见下方
Read More

