设备驱动程序代码编译?

时间:2012-02-09 10:07:17

标签: linux linux-kernel linux-device-driver kernel-module

我是linux新手。我必须编译设备驱动程序示例代码。

我试图从synaptic安装linux-source-2.6.38,然后它显示了下面引用的消息:

  

此包提供Linux内核版本的源代码    2.6.38。

     

此软件包主要用于其他软件包,以便构建   定制口味。

     

如果您希望使用此包创建自定义Linux内核,那么它   建议您调查包kernel-package,它有   旨在简化创建内核映像包的任务。

     

如果您只是尝试为内核构建第三方模块,   你不想要这个包。安装适当的linux-headers   包而不是。

所以感到困惑:

1)我的设备驱动程序代码编译需要或不需要linux-source?

2)如果我安装新内核,我该如何使用新内核?

2 个答案:

答案 0 :(得分:1)

您可能需要linux-headers-2.6-amd64linux-kbuild-2.6等软件包。使用apt-cache search linux headersapt-cache search linux kbuild可以准确找到软件包的名称。

您可以使用apt-cache search linux headersapt-cache search linux kbuild来获取包裹的确切名称。

如果要创建模块(可动态加载的内核模块*.ko),则无需构建新内核。使用insmodmodprobe加载它。

答案 1 :(得分:1)

对于您的第一个问题,编译内核模块时不需要源代码 确保插入模块时必须具有root权限

对于第二个问题,如果要编译源代码,请参阅任何内核编译链接,如http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html