我只是想知道,是否可以在没有源代码的情况下构建/插入模块。假设我下载了一个openSuse操作系统,内核源代码没有附带。如何在不重新编译内核的情况下编译模块并插入模块?
对于没有内核源码的openSuse,真的很难找到完全相同版本的源码。即使内核的配置不同,您也无法将模块插入当前的 openSuse 中。
但这不可能发生在行业中,不是吗?我们不能编写驱动程序,让用户下载最新版本的源代码并找出正确的配置。
业界是如何解决这个问题的?我好奇。我对此比较陌生。
最佳答案
要构建模块,您需要内核头文件而不是整个源代码。 NVidia 以这种方式重建它的内核模块,因此这将是业界解决问题的一种方式。 Linux 对纯二进制模块不是很友好,事实上内核开发人员习惯于定期更改 ABI 和结构以破坏纯二进制模块。
关于linux - 构建一个没有源代码的linux模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456628/