我只是想知道,是否有可能在没有源代码的情况下构建/插入模块.假设我已经下载了openSuse操作系统,但是内核源代码没有随附.如何编译模块并插入模块而无需重新编译内核?
对于没有内核源代码的openSuse,确实很难找到完全相同版本的源代码.即使内核的配置不同,也无法将模块插入当前的openSuse中.
但这在业界不可能发生,对吗?我们无法编写驱动程序,而不能让用户下载最新版本的源代码并找出正确的配置.
该行业如何解决这个问题?我好奇.我对此还比较陌生.
解决方法:
要构建模块,您需要内核头文件而不是整个源代码. NVidia以这种方式重建其内核模块,因此这将是业界解决该问题的一种方式. Linux对仅二进制模块不是很友好,实际上,内核开发人员过去经常更改ABI和结构以破坏仅二进制模块.