如何在安装新内核时自动编译Linux内核模块?

3
我正在编写一个Linux内核模块。该模块的所有源文件都已发布(尽管许可证是专有的),以便针对正在运行的内核进行编译。安装我的模块(分发为.deb包)时,它会自动编译和安装。这个过程可以正常工作。
问题在于,在整个Linux系统的常规升级过程中,新版本的Linux内核被安装。当这样一个新版本的内核开始运行时,它没有为其编译我的模块,因此我的应用程序失败了。我希望每当安装新的Linux内核包时,我的模块都能被编译和安装。
因此我的问题是:在dpkg中是否有机制可以触发我的软件包中的某些内容,以在安装新的Linux内核包时编译并安装我的模块?
同样的问题也适用于rpm吗?
1个回答

5
您可能希望使用DKMS:http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support。从页面中可以了解到:
DKMS使内核设备驱动程序在安装新内核时自动重建。 DKMS可用于两个方向:如果安装了新的内核版本,则自动重新编译所有模块,或者在现有系统上安装新的模块(驱动程序)版本,无需手动编译或预编译软件包。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接