让我描述一下情况 - 我有一个内核模块,需要为具有不同内核的多个不同发行版进行编译。我想知道如何更好、更正确地做到这一点。也许有一些文档。
现在我看到 3 个不同的选项:
- 在一个系统上组装模块,将内核头文件放在不同的文件夹中。
- 使用 chroot 在一个系统上为每个发行版构建模块。
- 在多个系统上构建 - 每个发行版都会有一个系统
选项 1 - Alt Linux SP 10 的程序集出现问题 - 因为...... 它使用 objtool,这取决于为此发行版编译的 libc。
选项 2 - 尚未尝试过
选项 3 似乎非常耗费资源和时间。
采用这种方法,你肯定要操。但在同一个 Ubuntu 中,一个版本中有 300 多个内核版本。我建议参与 dkms。