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