免费注册 查看新帖 |

Chinaunix

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

求助:新添加了内核下的目录,如何编译 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-11 15:21 |只看该作者 |倒序浏览
本人在linux2.6.24下写驱动,在driver目录下新建了目录at91sam9260,想把lcd的驱动放里面,修改了driver目录下的Makefile,添加一句obj -y +=at91sam9260/; 然后在at91sam9260/目录下也建立了Makefile,代码为obj -y +=lcd.o; 编译内核时老是提示:
/opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-softfloat-linux-gnu/bin/arm-softfloat-linux-gnu-ld: drivers/at91sam9260/built-in.o: No such file: 没有那个文件或目录,不知道是什么原因,修改了编译器还是一样。自己分析是要在哪里修改什么文件,但是不知道在哪里,望高人指点。

论坛徽章:
0
2 [报告]
发表于 2010-03-11 18:43 |只看该作者
肯定哪个需要链接的库不在内核里

论坛徽章:
0
3 [报告]
发表于 2010-03-11 23:06 |只看该作者
我编译模块都是单独拿出来编译的,并没有直接在内核目录下编译。

论坛徽章:
0
4 [报告]
发表于 2010-03-11 23:33 |只看该作者
本帖最后由 llzzccc 于 2010-03-11 23:34 编辑

如果内核原来就编译过了,那么直接
make M=drivers/at91sam9260/

答非所问了,直接无视吧。

论坛徽章:
0
5 [报告]
发表于 2010-03-12 08:47 |只看该作者
回复 4# llzzccc


    我单独编译成模块已经通过了,证明语法还有什么需要的库文件应该都是对的;现在就是想直接编译进内核,免得每次都要用insmod装载模块,请问还有其他的原因吗?

论坛徽章:
0
6 [报告]
发表于 2010-03-13 03:18 |只看该作者
本帖最后由 llzzccc 于 2010-03-13 03:22 编辑

如果你只是要解决加载的问题,那把编译好的模块放到/lib/modules/<kernel version>/driver/at91sam9260/ 里, 然后运行depmod -a就行了。

哎,对不起,有是答非所问了。不知道最近怎么了。

推荐你看内核源码中的Documentation/kbuild/modules.txt 里面有详细说明。

论坛徽章:
0
7 [报告]
发表于 2010-03-15 12:07 |只看该作者
是不是还得修改Kconfig 文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP