Linux:编译生成内核模块(来自国嵌的视频教学)
来源:互联网 发布:python boost库 编辑:程序博客网 时间:2024/06/05 06:19
内核模块的代码文件
文件 yyyy.c (yyyy可以与模块xxxx同名也可以不同名)
(类似模板的东西)
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE //直接添加到内核时去掉,生成模块时保留
#define MODULE
#endif
#include <*.h>
...
MODULE_LICENSE("GPL"); //许可证申明,用来告知内核,该模块带有一个许可证
MODULE_AUTHOR("you name"); //作者申明(可选)
MODULE_DESCRIPTION("aaaa");//模块描述(可选)
MODULE_VERSION("V1.0"); //模块版本(可选)
MODULE_ALIAS("a bbbb module"); //模块别名(可选)
static int __inti xxxx_init(void)
{
}
static void __inti xxxx_exit(void)
{
}
... // 其他函数
...
module_init(xxxx_init);
module_exit(xxxx_exit);
内核编译的Makefile
Makefile
(类似模板的东西)
ifneq ($(KERNELRELEASE),)
obj-m := xxxx.o
xxxx-objs := yyyy.o (如有其它源文件继续添加 zzzz.o ...)(如yyyy = xxxx 且只有一个源文件,该行可去掉)
else
KDIR := /lib/module/2.6.28.6/build
all:
make -C $(KDIR ) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif
其中 /lib/module/2.6.28.6/build 为创建内核代码树所生成的目录,创建内核代码数: http://blog.csdn.net/leaglave_jyan/article/details/6652444
编辑好源文件和Makefile后,该目录下运行 make 即可编译生成 模块 xxxx.ko 文件
使用 insmod xxxx.ko 添加
- Linux:编译生成内核模块(来自国嵌的视频教学)
- Linux:驱动程序直接编译到内核(源自国嵌的视频教学)
- linux内核模块的编译
- Linux内核模块:模块的编译
- linux内核模块编译
- linux内核模块编译
- Linux内核模块编译
- Linux内核模块编译
- Linux 内核 模块 编译
- linux内核模块编译
- linux内核模块编译
- Linux内核模块编译
- Linux内核模块编译
- linux内核模块编译
- linux内核模块编译
- Linux编译内核模块
- 怎样用linux内核生成自己的模块
- linux 内核模块的编译(用于驱动开发)
- 如何隐藏published的属性
- 鳥哥的 Linux 私房菜
- decorator
- c编程经典错误
- 实验一:进程控制实验
- Linux:编译生成内核模块(来自国嵌的视频教学)
- qt中signal碎碎念
- Android/OPhone 开发完全讲义
- 怎样提高睡眠质量
- tomcat安装启动脚本的制作
- Linux下的逻辑卷和grub
- Linux:建立内核代码树
- [RedHat学习笔记]LVM的简单创建/管理办法……
- 解决声卡在Fedora下无声问题——用ALSA驱动声卡流程详解(转载)