linux 系统 ko模块编译
来源:互联网 发布:淘宝店铺被监管要多久 编辑:程序博客网 时间:2024/05/21 22:41
今天整理以前笔记,发现曾经里面有一个Makefile文件。
仔细一看是以前实习做linux内核程序设计时候写的模块makefile。刚好我电脑也有linux系统,就拿来回顾一下。
写个my.c和一个Makefile文件,然后make编译一下,就成功了,生成my.ko
再加载一下insmod my.ko dmesg|grep module 看到模块初始化时候的打印
卸载模块rmmod my.ko dmesg|grep module 看模块卸载时候的打印
都是对的,看来以前学的东西还是记得了……再mark一下。
注意事项:
1、内核目录
2、Makefile中obj-m:=my.o 这个和源文件my.c要对应
3、mymodule-objs:=module 这个my也是和my.c对应的
如果源文件为your.c
这两句话就应该改为obj-m:=your.o
yourmodule-objs:=module
4、查看输出的时候 用dmesg输出信息太多,可以用grep过滤一下
dmesg | grep "keywords"
内核源文件
- #include <linux/init.h>
- #include <linux/kernel.h>
- #include <linux/module.h>
- static int funcIn(void)
- {
- printk("in module");
- return 0;
- }
- static void funcOut(void)
- {
- printk("out module");
- return;
- }
- module_init(funcIn);
- module_exit(funcOut);
- MODULE_LICENSE("GPL");
- MODULE_AUTHOR("elfy");
Makefile 文件
我linux内核目录为/lib/modules/2.6.31-14-generic/build
具体看自己机器的文件
- obj-m:=my.o
- mymodule-objs:=module
- KDIR:=/lib/modules/2.6.31-14-generic/build
- MAKE:=make
- default:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
- clean:
- $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
0 0
- linux 系统 ko模块编译
- linux 系统 ko模块编译
- linux 系统 ko模块编译
- 为Android系统编译tun.ko模块
- Helloworld模块编译.ko
- linux 模块层叠技术和多个ko的编译
- 初学者编译Linux内核,最简单ko模块
- 如何编译linux第一个模块 hellomod.ko
- Andriod编译内核模块*.ko
- Andriod编译内核模块*.ko
- Andriod编译内核模块*.ko
- Andriod编译内核模块*.ko
- LINUX编译ko文件
- Linux 模块(ko)签名
- Linux内核编译 ko文件
- 如何编译和加载.ko模块
- linux内核外部驱动模块编译报错ERROR: "******" [drivers/**.ko] undefined!
- linux内核外部驱动模块编译报错ERROR—drivers/*.ko] undefined
- Cannot change version of project facet Dynamic Web Module to 2.5
- 初学JAVA者,只是对最近学习JAVA的一些简单理解,杂乱无章~~~~
- cocos2dx3.0 结构图
- CuteFTP实现windows和Fedora12数据共享
- zStorage
- linux 系统 ko模块编译
- 图形化的电力通信光纤资源管理系统概述与功能特点
- halcon学习1
- 复数类--重载运算符2+
- 解决servlet中输出中文到浏览器以及post、get两种提交方法乱码问题
- linux系统内核的调试
- Office 2010 Word中设置自动更正选项 输入ehr更正为her
- 转载:Linux网络编程必看书籍推荐
- Reorder List