ubuntu下hello world模块
ubuntu版本号13.10,接着上一篇内核源码树。
1.切换到root账户
sudo su
2.创建工程目录
mkdir hello-module
cd hello-module
3.源文件、Makefile文件
hello.c
#include
#include
#include
MODULE_LICENSE("Dual BSD/GPL");
int hello_init(void)
{
printk("hello,module\n");
return 0;
}
void hello_exit(void)
{
printk("exit,module\n");
}
module_init(hello_init);
module_exit(hello_exit);
Makefile
obj-m += hello.o
KERNELDIR := /usr/src/linux
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
clean:
$(MAKE) -C $(KERNELDIR) M=$(PWD) clean
4.编译模块
make
5.加载模块
insmod ./hello.ko
6.查看模块列表
lsmod
7.卸载模块
rmmod ./hello.ko
8.查看printk信息
在网上找了很多关于printk输出不到控制台的信息,暂时没有解决,但是可以通过log文件查看。
cat /var/log/kern.log