Fedora下编译Hello模块驱动
2012-03-04 16:17
281 查看
1.构建内核树
Fedora不需要编译出内核树,只需要下载就可以,终端输入命令 yum install kernel-devel 安装完成后,/usr/src/kernels/$(KVER)便是我们的内核树路径2.建立Makefile文件
ifneq ($(KERNELRELEASE),) obj-m:= hello.o else PWD:=$(shell pwd) KVER?=$(shell uname -r) KERNELDIR:= /usr/src/kernels/$(KVER) default: $(MAKE)-C $(KERNELDIR) M=$(PWD) modules endif clean: rm-f *.ko *.mod.c *.mod.o *.o
3.建立hello模块驱动.C文件
Hello.c #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk("hello,world\n"); return0; } static void hello_exit(void) { printk("GoodBye,world\n"); } module_init(hello_init); module_exit(hello_exit);
4.测试驱动
执行make,编译生成hello.ko文件加载驱动,insmod hello.ko
卸载驱动,rmmod hello.ko
终端输入查看 cat /var/log/messages |tail
可以看到以下文字
Mar 4 16:16:15 localhost kernel: hello,world
Mar 4 16:16:22 localhost kernel: GoodBye,world
相关文章推荐
- Fedora下编译模块驱动
- led驱动模块编译、加载和测试
- 如何把自己的驱动编译进内核或模块
- 如何把rtl8188EUS驱动编译生成ko模块并且下载到rk平台Android4.2.2上使用
- TX2 USB串口驱动ttyACM模块 通过编译内核设置
- linux内核外部驱动模块编译报错ERROR: "******" [drivers/**.ko] undefined!
- 多个*.c文件编译生成一个模块驱动*.ko的makefile文件编写
- Linux设备驱动开发详解-第4章(一)-hello模块编译过程
- Linux设备驱动程序学习(0) -设备驱动介绍& Hello, world!模块
- Linux2.6 DM9000驱动模编译为模块
- 内核模块学习--编译自己的第一个内核模块hello_module
- x4412开发板&ibox卡片电脑项目实战16-将hello x4412驱动编译成模块
- Linux驱动开发①--Linux基础及hello模块
- 多个*.c文件编译生成一个模块驱动*.ko的makefile文件编写
- 将LED驱动模块编译到Linux3.10.17内核
- fedora编译openwrt模块需求
- 多个*.c文件编译生成一个模块驱动*.ko的makefile文件编写
- linux驱动学习2:运行hello模块
- 嵌入式重新记录1.将驱动模块编译进内核
- Code maturity level options 代码成熟度选项 [*]Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,否则请勿选择 我是开发者,所以选[*] Loadable module support 可加载模块支持 [*]Enable loadable module support 内核编译配置选项简介 (2.4.20-8