分页: 1 / 1

有人在ubuntu上学习编写驱动程序吗? 求助

发表于 : 2009-06-04 18:15
tonychen123
如题,
小弟我准备在ubuntu上练习编写驱动程序,写了最简单的hello驱动,但编译不出来hello.ko文件来,结果是这样的:
tony@ubuntu:~/mini2440$ sudo make
make -C /lib/modules/2.6.28-12-generic/build M=/home/tony/mini2440 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.28-12-generic'
Building modules, stage 2.
MODPOST 0 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-12-generic'
tony@ubuntu:~/mini2440$ ls
hello.c~ Makefile~ modules.order
hello.c Makefile Module.markers Module.symvers

试问,编译生成的 Makefile Module.markers Module.symvers 这些文件都可做什么用,为什么出来modules?
难道真的要下了源码包,编译内核才有用? 这是我/usr/src里面只有linux-headers-2.6.28-12-generic这个文件,没用,非要源码并且要重新编译?

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

发表于 : 2009-06-04 18:15
tonychen123
忘了说,我的是ubuntu-9.4

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

发表于 : 2009-06-04 18:21
asmsa
你所用的是2440 ARM 开发板?

那个编译内核不需要,下载相关的内核编译环境应该可以了。

注意你的后缀是 ko,而不是o,如果是o直接用自带的GCC可以生成的

你所包含的是你自己用的内核,而自己更换内核的步骤你没有,但也危险

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

发表于 : 2009-06-04 18:28
asmsa
学习驱动开发,你的步骤是错误的,你应该先熟悉本系统,再转到其他平台!过程很繁琐,你要编写成一个
hello入门,其实也就是最终的过程,你编写好了,你也学完了

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

发表于 : 2009-06-04 21:11
tonychen123
哦,真的谢谢回复,我知道了
虽然是学习在2440上写驱动,但是在网上找了资料,知道可以在ubuntu系统上就可以练习写驱动了,不过过程复杂很且费时,说是要下了源码包,然后编译生成内核目录树才可以编译得成,而且光他说的内核编译要1个多小时,呵, 不舍得乱动ubuntu的内核,用着正欢喜呢,怕搞不好……windows几乎要被我淘汰了……
后又看到/usr/src上有内核的头文件,不知道行不行,所以做实验才这样。
多谢指教了。ubuntu上不行,2440上就OK了。。。

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

发表于 : 2009-06-04 21:31
tonychen123
If you are simply trying to build third-party modules for your kernel, you do not want this package. Install the appropriate linux-headers package instead.
我准备下linux2.6.28时下面提示说的。网上那些同志认为要建立内核树就是要编译内核,我很迷惑,到底要不要去源码下运行make这个命令。
这句话,让我觉得我的想法应该是对的,没有源码也可以编译自己的modules,

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

发表于 : 2009-06-04 23:21
tonychen123
实践证明,我的想法是正确的,大家快转到上一主题看看,呵呵

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

发表于 : 2009-06-04 23:23
tonychen123
就是这个啦:
viewtopic.php?f=97&t=208453