我打算学习嵌入式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)我在哪里可以获得内核源代码以及安装源代码的过程是什么。请让我知道详情。
答案 0 :(得分:2)
有关模块编译说明,请参阅this question
答案 1 :(得分:0)
是。您不仅需要源代码,还需要" make" d源代码(已编译的内核源代码)。
获取内核源代码的主要位置是: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/
答案 2 :(得分:0)
对于更新的设备驱动程序编码,“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/
感谢。