我正在编写一个Linux内核模块。它与所有源文件(尽管许可证是专有的)一起发布,以针对正在运行的内核进行编译。安装我的模块(作为.deb
包分发)时,它会自动编译和安装。这很有效。
问题是在整个Linux系统的常规升级过程中,安装了较新版本的Linux内核。当这样的新版本的内核开始运行时,它没有为我编译我的模块,并且我的应用程序失败了。我想在安装新的Linux内核软件包时编译和安装我的模块。
因此我的问题是:dpkg
中是否有一种机制可以在我的包中触发某些内容,以便在安装新的Linux内核包时编译和安装我的模块?
rpm
同样的问题?
答案 0 :(得分:5)
您可能想要使用DKMS:http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support。从页面:
DKMS允许在安装新内核时自动重建内核设备驱动程序。 DKMS可以在两个方向上使用:如果安装了新的内核版本,则自动重新编译所有模块,或者在现有系统上安装新模块(驱动程序)版本而无需手动编译或预编译软件包。