linux - 如何将非自由的 ko 文件(驱动程序)编译到内核中?

标签 linux linux-kernel linux-device-driver

  1. 如何将非自由的 ko 文件编译成内核?仅提供 ko 文件,但没有来源!此外,内核支持模块,因此需要加载 ko 文件,同时编译而不是从源代码构建。

  2. 编译会不会不同意 GNU GPL?

最佳答案

  1. ko-file 是一个已经编译好的文件 - 它是一个内核模块二进制文件,可以加载到内核中。如果您没有 ko 文件的源代码,则无需编译。

  2. 请阅读GNU GPLv2 . AFAIU 它允许您使用内核的 header 编译代码。但是如果你的代码不在 GPL 下,它就不能包含内核代码部分,它只能调用内核函数和使用内核头文件。请注意,Linux 内核中有许多函数使用 EXPORT_SYMBOL_GPL() 导出,仅当您的代码也在 GPL 下时才允许您使用这些函数(您的内核模块声明 MODULE_LICENSE("GPL ")).

关于linux - 如何将非自由的 ko 文件(驱动程序)编译到内核中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46238402/

相关文章:

linux - 如何在 tmux 窗口中启动脚本后自动终止 ssh 连接?

linux-kernel - Docker 如何运行具有不同内核的发行版?

c - IS_ERR() 宏的有效使用

python - 将 ast.literal_eval 与 sys.argv 组合

python - 无法将 python 输出通过管道传递给程序

debugging - utrace 项目死了吗?

linux - Linux内核如何创建/dev/mtdx节点?

linux - 为什么我的 initramfs 检测不到 init

linux - 在 X 视频驱动程序中,调用驱动程序探测函数时使用的 PROBE_TRYHARD 标志是什么?

linux - 如何在 Linux 中查找处理器队列长度