如何编译内核模块?

如何编译内核模块?

NetworkManager 邮件列表中的一位好人提供了补丁希望能够解决我遇到的与Ubuntu 11.04 64 位上的慢速移动宽带检测。我真的很想检查一下补丁,但我不知道该怎么做。

作为起点,我已经解压缩/usr/src/linux-source-2.6.38/linux-source-2.6.38.tar.bz2并应用了补丁/usr/src/linux-source-2.6.38/drivers/usb/serial/options.c,但现在我陷入了困境。

我如何重新编译该模块?可能只是模块,而不是整个内核和其他未修改的模块。如果能提供好的文档链接就更好了。

我之前已经重新配置并重新编译了一个内核(虽然这个过程对我来说看起来有点晦涩......)所以所有涉及的软件都应该到位了。

谢谢您的澄清。

答案1

Linux 内核模块编程指南关于内核模块的详细信息。

如果你和我一样是这个话题的 100% 新手,并且想要了解更多,那么可以向 Google 查询以进一步探究。否则 LK​​MPG (!) 就足以得到结果。具体来说,该部分2.2 编译内核模块是对我的问题的直接而详细的回答。

高血压

答案2

  • 为了建立最终模块图像在目录中,您可以使用命令M=的参数make

    使 M=drivers/usb/serial

这将在该目录中构建所有需要的文件并链接最终的模块图像。

  • 构建仅限特定文件在内核树中,只需将其作为参数传递给make

    制作驱动程序/usb/serial/visor.ko

构建系统将为 visor.ko 内核模块构建所有需要的文件,并进行最后的链接以创建该模块。

相关内容