Linux 中的设备驱动程序开发
我打算学习嵌入式linux,编写linux设备驱动。 在阅读了有关设备驱动程序并浏览了一些教程之后,我对用于编译的内核源代码有点困惑。
我使用的是 ubuntu 11.04,在我的 /usr/src/
中找到以下内容:
tijin@tijin-Vostro-460:/usr/src$ ls
gcc-4.4 linux-headers-2.6.38-10-generic-pae linux-headers-2.6.38-10 linux-headers-2.6.38-8
我的问题:
1)我需要内核源代码来编译驱动程序代码还是标头就足够了?
2)哪里可以获得内核源代码以及安装源代码的步骤是什么。请告诉我详细信息。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

发布评论
评论(3)
是的。您不仅需要源代码,还需要“make”源代码(已编译的内核源代码)。 是的
获取内核源码的主要位置是:http://www.kernel.org
当您使用Ubuntu 您只需从存储库下载源代码即可。
这是 Ubuntu 帮助中指示的页面,作为在 Natty (11.04) 上从源代码编译内核的指南:
http: //blog.avirtualhome.com/2011/08/03/how-to-compile-a-new-ubuntu-11-04-natty-kernel/
对于较新的设备驱动程序编码“hello world”驱动程序代码参考如下:
"="">http://www.linuxquestions.org/questions/linux-kernel-70/simple-makefile-error-all-nothing-need-to-be-done-600403/ 。
此链接还讨论了与 Makefile 相关的问题。我从参考文献中得到的重要想法是:永远不要复制粘贴文档内容来创建 Makefile。
如果您在查看日志时遇到问题,请参阅链接:
http://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/
谢谢。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有关模块编译说明,请参阅这个问题
For module compilation instructions, see this question