2010-11-18 6 views
3

Ich schreibe ein Linux-Kernel-Modul. Es wird mit allen Quelldateien veröffentlicht (obwohl die Lizenz proprietär ist), die gegen den laufenden Kernel kompiliert werden. Bei der Installation meines Moduls (verteilt als .deb Paket) wird es automatisch kompiliert und installiert. Das funktioniert.Wie automatisiere Linux-Kernel-Modul Kompilierung bei der Installation eines neuen Kernels?

Das Problem ist, dass während des regulären Upgrades der gesamten Linux-Systeme, neuere Version des Linux-Kernel installiert sind. Wenn eine solche neue Version des Kernels gestartet wird, wird mein Modul nicht kompiliert und meine Anwendung schlägt fehl. Ich möchte, dass mein Modul kompiliert und installiert wird, wenn ein neues Linux-Kernel-Paket installiert wird.

Daher meine Frage: Gibt es einen Mechanismus in dpkg, die etwas in meinem Paket auslösen konnte, um mein Modul zu kompilieren und zu installieren, wenn ein neues Linux-Kernel-Paket installiert ist?

Gleiche Frage für rpm?

Antwort

5

Sie möchten wahrscheinlich DKMS: http://en.wikipedia.org/wiki/Dynamic_Kernel_Module_Support verwenden. Von der Seite:

Mit DKMS können Kernelgerätetreiber automatisch neu erstellt werden, wenn ein neuer Kernel installiert wird. DKMS kann in beide Richtungen verwendet werden: Um alle Module automatisch neu zu kompilieren, wenn eine neue Kernel-Version installiert ist, oder um neue Modul- (Treiber-) Versionen auf einem bestehenden System zu installieren, ohne manuelle Kompilierung oder vorkompilierte Pakete zu benötigen.