linux内核模块学习hellomod
来源:互联网 发布:c 控制台界面编程 编辑:程序博客网 时间:2024/06/08 06:46
源代码:
#include <linux/module.h>#include <linux/kernel.h>#include <linux/init.h>static int __init lkp_init(void){ printk("(1) Hello World ! from the kernel space\n"); return 0;}static void __exit lkp_cleanup(void){ printk("(1)Goodbye,world ! Leaving kernel space \n");}module_init(lkp_init);module_exit(lkp_cleanup);MODULE_LICENSE("GPL");
编译文件(Makefile)
obj-m += hellomod.o /*表示要生成的模块名*/CURRENT_PATH := $(shell pwd)KERNEL_PATH :=/usr/src/kernel-headersdefault: make -C $(KERNEL_PATH) M=$(CURRENT_PATH) modulesclean: rm -rf *.o *.cmd *.mod.c *.o *.unsigned .tmp_versions *.order *.symvers其中KERNEL_PATH指向linux内核头文件的主目录,如果有多个模块需要编译将其他的模块名依次置于hellomod.o之后,各模块之间用空格隔开。如果一个模块需要过个依赖目标文件,则在obj-m += hellomod.o下面添加hellomod-objs += test1.o test2.o ,多个目标文件之间用空格隔开,注意模块名不能与目标文件名相同(除非在objs后面不要列出该主目标文件)
make编译之后,利用insmod将hellomod模块插入内核,之后可以用dmesg命令或者tail -n10 /var/log/message查看模块的输出。
- linux内核模块学习hellomod
- Hellomod , Linux内核模块的Hello World
- 如何编译linux第一个模块 hellomod.ko
- Linux内核编程(项目笔记)——项目:Hellomod
- linux 内核模块学习
- Linux学习笔记 - 内核模块
- linux内核模块学习笔记
- linux内核学习(一)------------模块
- Linux内核模块学习-HelloModule
- Linux内核学习-内核模块参数module_param
- Linux学习记录--内核|内核模块编译
- 学习Linux内核模块编写总结
- Linux内核模块开发实例学习
- linux 内核不同模块学习链接
- linux内核模块编译学习笔记
- Linux内核驱动模块(转载学习)
- Linux内核模块学习(一)
- Linux 内核模块参数学习module_param
- sharepoint 2010 通知 的设置
- poj2488--------------深搜(注意字典序)
- spring acegi 中文手册
- Android学习之ProgressDialog
- Java中的 分号 ;
- linux内核模块学习hellomod
- 红黑树讲解和代码
- $(function(){...});
- java 打印日志
- android 中管理短信
- mysql innodb: on duplicate key update 遇到的问题
- Ubuntu12.04下安装tomcat7
- 二叉树、B-树、B+树、B*树
- 随笔之Android平台上的进程调度探讨