免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 930 | 回复: 0
打印 上一主题 下一主题

linux 2.4内核和2.6内核 驱动编译方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-04 23:23 |只看该作者 |倒序浏览

为2.4内核编译和加载内核模块
内核模块在用gcc编译时需要使用特定的参数。
2.4内核模块的编译语法:
    $gcc -c -D_KERNEL_-DMODULE hello.c
为2.6版本内核构造模块
首先需要有配置并构建好的2.6内核源代码树。而且最好运行和模块对应的内核。2.6内核的模块要和内核源代码树中的目标文件连接。
2.6内核的构建系统kbuild,使得内核源码外的内核模块编译跟内核编译统一起来,无须手动给定这些参数。
    Hello-1.c 的Makefile
    obj-m += hello-1.o
表明有一个模块要从目标文件hello-1.o建立,kbuild从该目标文件建立内核模块hello-1.ko
执行以下命令编译模块:
    make -C /usr/src/linux-'uname -r' M=$PWD modules
改为:   
    make -C /lib/modules/'uname -r'/build M=$PWD modules
改变目录到用-C选项提供的内核源码目录,在哪里找到内核的顶层makefile。M=选项使makefile在试图建立模块目标前,回到模块源码目录。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/105219/showart_2111597.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP