1)虚拟机安装Linux,检查是否安装了内核源码。
查看内核头文件
命令: cd /usr/src/
ls
查看内核版本
命令:uname -a
2)安装内核。
命令:sudo apt-get install linux-source
下载后,解压: tar jxvf linux-source-3.2.0-51.tar.bz2
解压后进入: cd /usr/src/linux-source-3.2.0-51
之后执行:make oldconfig
make prepare
make scripts
3)编写内核模块文件(这里命名为如:Hello.c)
4)编写Makefile文件(这里命名为Makefile)
ifneq ($(KERNELRELEASE),)
obj-m:=Hello.o <--------此处根据实际.c文件名修改为文件名.o
else
PWD:=$(shell pwd)
KDIR:=/lib/modules/3.2.0-51-generic-pae/build
all:
$(MAKE) -C $(KDIR) M=$(PWD) <-----------这边不能按空格,一定要是Tab
clean:
rm -rf *.o *.mod.c *.ko *.symvers *.order *.markers <-----------这边不能按空格,一定要是Tab
endif
5)之后输入命令:make
会产生.o .ko等文件
6)安装模块
命令:sudo insmod 模块名.ko
7)查看输出
命令:dmesg | tail -1
8)退出模块
命令:sudo rmmod 模块名
9)查看输出
命令:dmesg | tail -1