请教Linux中内核模块(ko)开源和闭源的问题

ddk-hello 发布于 2014/10/05 10:05
阅读 1K+
收藏 0

为Linux开发的内核模块(ko)不是要求必须开源吗?

我看到有商业公司的内核驱动是闭源的?这是怎么回事?怎么规定的?

加载中
0
M
M_Ittrue
具体搜"绕过GPL“,” android hal gpl“
0
eechen
eechen
比如Intel开源的图形界面驱动位于内核的:
/lib/modules/`uname -r`/kernel/drivers/gpu/drm/i915/i915.ko

Nvidia的闭源驱动则以 DKMS 动态内核模块放置在
/lib/modules/`uname -r`/updates/dkms/

Dynamic Kernel Module Support Framework
DKMS is a framework designed to allow individual kernel modules to be upgraded without changing the whole kernel. It is also very easy to rebuild modules as you upgrade kernels.

动态内核模块DKMS的用途包括:
在不影响现有内核的情况下,安装新的模块到现有系统上,比如Nvidia和AMD的闭源驱动程序.
当你更新内核时,将非常容易重建模块,比如VirtualBox在Linux上的虚拟化驱动.
0
大中华网吧首席管理员
大中华网吧首席管理员

如果你把源码里面的License声明由

MODULE_LICENSE("GPL");

改为

MODULE_LICENSE("Proprietary"),还能编译成功,就可以闭源了

返回顶部
顶部