我是linux新手。我必须编译设备驱动程序示例代码。
我试图从synaptic安装linux-source-2.6.38,然后它显示了下面引用的消息:
此包提供Linux内核版本的源代码 2.6.38。
此软件包主要用于其他软件包,以便构建 定制口味。
如果您希望使用此包创建自定义Linux内核,那么它 建议您调查包kernel-package,它有 旨在简化创建内核映像包的任务。
如果您只是尝试为内核构建第三方模块, 你不想要这个包。安装适当的linux-headers 包而不是。
所以感到困惑:
1)我的设备驱动程序代码编译需要或不需要linux-source?
2)如果我安装新内核,我该如何使用新内核?
答案 0 :(得分:1)
您可能需要linux-headers-2.6-amd64
和linux-kbuild-2.6
等软件包。使用apt-cache search linux headers
和apt-cache search linux kbuild
可以准确找到软件包的名称。
您可以使用apt-cache search linux headers
和apt-cache search linux kbuild
来获取包裹的确切名称。
如果要创建模块(可动态加载的内核模块*.ko
),则无需构建新内核。使用insmod
或modprobe
加载它。
答案 1 :(得分:1)
对于您的第一个问题,编译内核模块时不需要源代码 确保插入模块时必须具有root权限
对于第二个问题,如果要编译源代码,请参阅任何内核编译链接,如http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html